前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何查找目标S3 Bucket属于哪一个账号ID

如何查找目标S3 Bucket属于哪一个账号ID

作者头像
FB客服
发布2021-08-24 11:21:10
6860
发布2021-08-24 11:21:10
举报
文章被收录于专栏:FreeBuf

关于S3 Account Search

S3 Account Search可以帮助广大研究查找目标S3 Bucket属于哪一个账号ID。为了实现这个功能,我们需要拥有至少下列权限之一:

从Bucket下载一个已知文件的权限(s3:getObject); 枚举Bucket内容列表的权限(s3:ListBucket);

除此之外,你还需要一个角色,能够包含上述之一权限。

工具安装

我们可以通过pypi来安装S3 Account Search工具包,比如说,我们可以使用下列其中一个命令来完成安装,这里推荐使用pipx:

代码语言:javascript
复制
pipx install s3-account-search
代码语言:javascript
复制
pip install s3-account-search

工具使用样例

# 使用一个bucket进行查询

代码语言:javascript
复制
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket

# 使用一个对象进行查询

代码语言:javascript
复制
s3-account-search arn:aws:iam::123456789012:role/s3_read s3://my-bucket/path/to/object.ext

# Y还可以去掉s3://

代码语言:javascript
复制
s3-account-search arn:aws:iam::123456789012:role/s3_read my-bucket

# 或者提供一个指定的源配置文件进行查询

代码语言:javascript
复制
s3-account-search --profile source_profile arn:aws:iam::123456789012:role/s3_read s3://my-bucket

工具运行机制

S3中有一个IAM策略条件-s3:ResourceAccount,这个条件用来给指定账号提供目标S3的访问权,但同时也支持通配符。通过构建正确的模式,我们就可以查看哪些模式将导致拒绝访问或允许访问,这样就能够找出目标账号ID了。

项目开发

我们使用Poetry来管理这个项目,首先,我们需要使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/WeAreCloudar/s3-account-search

然后,运行下列安装命令:

代码语言:javascript
复制
poetry install

最后,使用下列命令激活虚拟环境:

代码语言:javascript
复制
poetry shell

代码语言:javascript
复制
poetry run $command

向pypi发布一个新版本

编辑toml并更新版本号;

提交版本号;

运行下列命令:

代码语言:javascript
复制
poetry publish --build

推送至GitHub;

在GitHub上创建一个新的Release;

项目地址

https://github.com/WeAreCloudar/s3-account-search

参考资料

https://www.cloudar.be/awsblog/finding-the-accountid-of-any-public-s3-bucket/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于S3 Account Search
  • 工具安装
  • 工具使用样例
  • 工具运行机制
  • 项目开发
    • 向pypi发布一个新版本
    • 项目地址
    • 参考资料
    相关产品与服务
    访问管理
    访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档