Repokid:一款针对AWS的分布式最小权限高速部署工具

2024-04-22 895 0

关于Repokid

Repokid是一款针对AWS的分布式最小权限高速部署工具,该工具基于Aardvark项目的Access Advisor API实现其功能,可以帮助广大研究人员根据目标AWS账号中的IAM角色策略移除多余服务被授予的访问权限。

工具要求

DynamoDB

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传送门

参考资料

https://github.com/Netflix-Skunkworks/aardvark

https://aws.amazon.com/dynamodb/


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

办事处网络安全监控与事件响应;国外员工终端安全性怎么保障 | FB甲方群话题讨论
拿不下总统之位,那就用热加载拿下验证码识别与爆破好了!
Sooty:一款SoC分析一体化与自动化CLI工具
shiro CVE-2016-6802 路径绕过(越权)
Apache Solr 身份验证绕过漏洞(CVE-2024-45216)详解
llama_index的CVE-2024-4181漏洞根因分析

发布评论