关于Repokid
Repokid是一款针对AWS的分布式最小权限高速部署工具,该工具基于Aardvark项目的Access Advisor API实现其功能,可以帮助广大研究人员根据目标AWS账号中的IAM角色策略移除多余服务被授予的访问权限。
工具要求
mkvirtualenv虚拟环境
Python
Docker
工具安装
广大研究人员可以直接使用下列命令将该项目源码克隆至本地,并进行工具配置:
mkvirtualenv repokid git clone [email protected]:Netflix/repokid.git cd repokid pip install -e . repokid config config.json
DynamoDB
我们需要配置一个DynamoDB表,该表需要包含下列属性:
1、RoleId(字符串)作为主分区键;
2、一个名为Account的全局辅助索引;
3、一个名为RoleName的全局辅助索引;
本地运行:
docker-compose up
打开浏览器并访问“http://localhost:8000”即可查看DynamoDB节点,访问“http://localhost:8001”即可查看DynamoDB管理员面板。
IAM权限
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:DeleteInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:GetAccountAuthorizationDetails", "iam:GetInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:ListInstanceProfiles", "iam:ListInstanceProfilesForRole", "iam:ListRolePolicies", "iam:PutRolePolicy", "iam:UpdateRoleDescription" ], "Effect": "Allow", "Resource": "*" } ] }
工具使用
标准工作流
更新角色缓存:
repokid update_role_cache <ACCOUNT_NUMBER>
显示角色缓存:
repokid display_role_cache <ACCOUNT_NUMBER>
显示指定角色的信息:
repokid display_role <ACCOUNT_NUMBER> <ROLE_NAME>
操作指定角色:
repokid repo_role <ACCOUNT_NUMBER> <ROLE_NAME>
操作账号中的所有角色:
repokid repo_all_roles <ACCOUNT_NUMBER> -c
针对特定权限执行操作
$ repokid find_roles_with_permissions "s3:putobjectacl" "sts:assumerole" --output=myroles.json ... $ repokid remove_permissions_from_roles --role-file=myroles.json "s3:putobjectacl" "sts:assumerole" -c
以代码库使用
Repokid还支持以代码库的形式使用,使用时需要导入repokid.lib模块:
from repokid.lib import display_role, repo_role, update_role_cache account_number = "123456789012" display_role(account_number, "superCoolRoleName") update_role_cache(account_number) repo_role(account_number, "superCoolRoleName", commit=True)
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可证协议。
项目地址
Repokid:【GitHub传送门】
参考资料
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)