{ "info": { "author": "Gene Wood", "author_email": "gene_wood@cementhorizon.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Programming Language :: Python :: 2.7", "Topic :: System :: Systems Administration" ], "description": "Overview\n========\n\nip2instance iterates through multiple AWS accounts, assuming IAM Roles in each\naccount using the STS AssumeRole function and fetches information about\ninstances in those accounts.\n\nPrerequisites\n=============\n\n* That ip2instance be run on an AWS ec2 instance with an IAM role which has\n rights to assume other roles\n* That the list of other roles in various foreign AWS accounts\n * have the permission to Describe instances\n * allow the role applied to the ec2 instance running ip2instance to assume\n the target role\n\nInstructions on setting up these roles can be found here : \nhttps://github.com/mozilla/security/tree/master/operations/aws-security-auditor\n\nConfiguration\n=============\n\nThe ip2instance configuration file is located at `/etc/ip2instance.yaml` . To\nconfigure ip2instance create this file and populate it with your\n`role_session_name` and `roles`\n\nrole_session_name\n-----------------\n\nThe `role_session_name` is an \"identifier for the assumed role session. The\nsession name is included as part of the AssumedRoleUser\" according to the \n`AWS Documentation`_\n\nroles\n-----\n\nThe roles is a list of `ARNs`_ of all IAM Roles in foreign AWS accounts which\nip2instance should assume when searching for instances.\n\nExample Configuration\n---------------------\n\nHere is an example configuration for two foreign AWS accounts\n\n::\n\n role_session_name: ip2instance\n roles:\n - arn:aws:iam::123456789012:role/security-audit-role-SecurityAuditRole-12XHTR13TAWGH # 293989542403 Finance\n - arn:aws:iam::345678901234:role/security-audit-role-SecurityAuditRole-FLGUX9CF36X6 # 345678901234 Client Frontend Development Team\n\n\nUsage\n=====\n\n::\n\n ip2instance > instance-list.txt\n\nHow to Build\n============\n\nHere's how to build this into an RPM on a `RHEL 6 derivative`_\n\n::\n\n sudo yum install http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm\n sudo yum install rubygems ruby-devel gcc python-setuptools rpm-build\n sudo easy_install pip\n sudo gem install fpm\n git clone https://github.com/gene1wood/ip2instance.git\n\n cd ip2instance # This is required\n fpm -s python -t rpm --workdir ../ ./setup.py\n\n.. _AWS Documentation: http://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html\n.. _ARNs: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\n.. _RHEL 6 derivative: https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux_derivatives", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gene1wood/ip2instance", "keywords": "aws ec2", "license": "MPL 2.0", "maintainer": "", "maintainer_email": "", "name": "ip2instance", "package_url": "https://pypi.org/project/ip2instance/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ip2instance/", "project_urls": { "Homepage": "https://github.com/gene1wood/ip2instance" }, "release_url": "https://pypi.org/project/ip2instance/1.2.2/", "requires_dist": [ "boto", "PyYAML" ], "requires_python": "", "summary": "Search through multiple AWS accounts for instance IP addresses", "version": "1.2.2" }, "last_serial": 1794519, "releases": { "1.0.3": [ { "comment_text": "", "digests": { "md5": "2b31f46085819cecc11dbb6be2be1a51", "sha256": "c8b7885724f2dc212e27f07432be77b0ae764ce33826916c46934be9dbf92296" }, "downloads": -1, "filename": "ip2instance-1.0.3.tar.gz", "has_sig": false, "md5_digest": "2b31f46085819cecc11dbb6be2be1a51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4592, "upload_time": "2015-05-21T23:59:21", "url": "https://files.pythonhosted.org/packages/68/ce/0ad41c346fd53dd456c858eed408dcee33c9a04751cc8b8370be193d7263/ip2instance-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b123080def6c9dc4a50a153f70da475d", "sha256": "b12eb428bc9ed9d7bea73e35959027798eab976969b431648db2ed75ba22bcdf" }, "downloads": -1, "filename": "ip2instance-1.1.0.tar.gz", "has_sig": true, "md5_digest": "b123080def6c9dc4a50a153f70da475d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4722, "upload_time": "2015-05-22T17:28:55", "url": "https://files.pythonhosted.org/packages/23/95/979581724f7d67a1c9333ee7a671cdae6f77074588643a43279d6717ec8b/ip2instance-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1290e056d47f017efa54228760cc131e", "sha256": "21264a469d8d4a11f9d8c13717f4092bec9702f8bb76e17add50bae607ec2f7d" }, "downloads": -1, "filename": "ip2instance-1.2.0.tar.gz", "has_sig": true, "md5_digest": "1290e056d47f017efa54228760cc131e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4739, "upload_time": "2015-05-22T20:50:16", "url": "https://files.pythonhosted.org/packages/6d/1a/c429113fc473c44660477560e0e6d2395e85c6d2119417f26c90cf60dac3/ip2instance-1.2.0.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "84835f6f12f3f7743b2451324cac2c43", "sha256": "1541d6d89a15e43c79f689c00c4972e75a16fc293437054b0eaebe1c955c688d" }, "downloads": -1, "filename": "ip2instance-1.2.2-py2-none-any.whl", "has_sig": true, "md5_digest": "84835f6f12f3f7743b2451324cac2c43", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6773, "upload_time": "2015-10-30T22:25:22", "url": "https://files.pythonhosted.org/packages/67/f0/e1e07c45e3711e7c0c33ef68c0a73206d9c3078c8cde4376f5493ccf2135/ip2instance-1.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1377b9d94fbe7f0d002cde7fba4b0861", "sha256": "347632d2b154a831b71f447da03a98c162bd4b955f466ee5a067e6318bfa3d11" }, "downloads": -1, "filename": "ip2instance-1.2.2.tar.gz", "has_sig": true, "md5_digest": "1377b9d94fbe7f0d002cde7fba4b0861", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5031, "upload_time": "2015-10-30T22:25:28", "url": "https://files.pythonhosted.org/packages/c9/71/8f73e38c628b27144712546de87586336db9f6369bfad796348a5f3a5a0f/ip2instance-1.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "84835f6f12f3f7743b2451324cac2c43", "sha256": "1541d6d89a15e43c79f689c00c4972e75a16fc293437054b0eaebe1c955c688d" }, "downloads": -1, "filename": "ip2instance-1.2.2-py2-none-any.whl", "has_sig": true, "md5_digest": "84835f6f12f3f7743b2451324cac2c43", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6773, "upload_time": "2015-10-30T22:25:22", "url": "https://files.pythonhosted.org/packages/67/f0/e1e07c45e3711e7c0c33ef68c0a73206d9c3078c8cde4376f5493ccf2135/ip2instance-1.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1377b9d94fbe7f0d002cde7fba4b0861", "sha256": "347632d2b154a831b71f447da03a98c162bd4b955f466ee5a067e6318bfa3d11" }, "downloads": -1, "filename": "ip2instance-1.2.2.tar.gz", "has_sig": true, "md5_digest": "1377b9d94fbe7f0d002cde7fba4b0861", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5031, "upload_time": "2015-10-30T22:25:28", "url": "https://files.pythonhosted.org/packages/c9/71/8f73e38c628b27144712546de87586336db9f6369bfad796348a5f3a5a0f/ip2instance-1.2.2.tar.gz" } ] }