Skip to main content

A command line utility to update AWS Security Groups rules.

Project description

IP Liberator

https://img.shields.io/pypi/v/ip-liberator.svg https://img.shields.io/travis/wagnerluis1982/ip-liberator.svg Documentation Status Updates

A command line utility to update AWS Security Groups rules.

Features

  • Update a list of security groups of your AWS account at once.

  • Grant access to informed ports for your current IP address or an informed IP.

  • Read profile files in JSON with all the information needed to contact.

  • Fit for use as script (e.g. to update your dynamic IP regularly).

Installation

$ pip install ip-liberator

Quickstart

Consider a file /path/my-profile.json with the following content:

{
  "credentials": {
    "access_key": "<AWS_ACCESS_KEY>",
    "secret_key": "<AWS_SECRET_KEY>",
    "region_name": "<AWS REGION>"
  },
  "config": {
    "operator": "John",
    "services": [
      {
        "name": "FTP+SFTP",
        "port": "21-22"
      },
      {
        "name": "HTTPS",
        "port": "443"
      }
    ],
    "security_groups": [
      "sg-<GROUP_ID_1>",
      "sg-<GROUP_ID_2>"
    ]
  }
}

Using the profile defined above will create or update two entries in the informed security groups:

  • John FTP+SFTP granting access for the current IP the ports 21 and 22.

  • John HTTPS granting access for the current IP the port 443.

To accomplish it, simply run:

$ ip-liberator --profile /path/my-profile.json
Authorizing rules ['John FTP+SSH', 'John HTTPS'] to IP 192.30.253.112/32
- sg-<GROUP_ID_1>
- sg-<GROUP_ID_2>

Credits

Authors

History

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.2.0 (Unreleased)

This release marks as the first to be published to PyPI.

No new functionality was added. The version was changed was to place a history mark.

  • Added documentation.

  • Added full coverage tests.

  • Code refactoring.

0.1.1 (2018-10-16)

  • Better console output.

  • Added option --revoke-only.

  • Don’t reauthorize if the IP address is already in the security group.

  • Authorizing and revoking in batch to be more efficient.

  • Bugfixes

0.1.0 (2018-09-27)

  • Added option --my-ip to inform an IP address explicitly.

  • Show in console the security groups being processed.

  • Allow use as script by reading JSON as external config.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ip-liberator-0.2.0.tar.gz (21.2 kB view hashes)

Uploaded Source

Built Distribution

ip_liberator-0.2.0-py2.py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page