在多个aws帐户中搜索例如ip地址
ip2instance的Python项目详细描述
概述
ip2instance遍历多个aws帐户,假设每个帐户中都有iam角色 使用sts assumerole函数获取有关 这些帐户中的实例。
先决条件
- ip2instance在具有iam角色的aws ec2实例上运行,该角色具有 担任其他职务的权利
- 各种外国aws帐户中的其他角色列表
- 有权描述实例
- 允许应用于运行ip2instance的ec2实例的角色 目标角色
有关设置这些角色的说明,请参见: https://github.com/mozilla/security/tree/master/operations/aws-security-auditor
配置
ip2instance配置文件位于/etc/ip2instance.yaml。到 配置IP2Instance创建此文件并用 角色会话名称和角色
角色会话名称
角色会话名称是假定角色会话的标识符。这个 会话名称作为assumedroleuser的一部分包含在 AWS Documentation
角色
角色是外国aws帐户中所有iam角色的ARNs列表,其中 IP2Instance在搜索实例时应假定为。
示例配置
下面是两个外国aws帐户的配置示例
role_session_name: ip2instance roles: - arn:aws:iam::123456789012:role/security-audit-role-SecurityAuditRole-12XHTR13TAWGH # 293989542403 Finance - arn:aws:iam::345678901234:role/security-audit-role-SecurityAuditRole-FLGUX9CF36X6 # 345678901234 Client Frontend Development Team
用法
ip2instance > instance-list.txt
如何构建
下面是如何在RHEL 6 derivative上将其构建为RPM的方法
sudo yum install http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm sudo yum install rubygems ruby-devel gcc python-setuptools rpm-build sudo easy_install pip sudo gem install fpm git clone https://github.com/gene1wood/ip2instance.git cd ip2instance # This is required fpm -s python -t rpm --workdir ../ ./setup.py