【发布时间】:2019-02-08 15:29:46
【问题描述】:
我想保护位于 S3 存储桶中的文件,并确保没有共享敏感文件。
我知道有多种方法(在控制台中和使用脚本)来查看哪些存储桶具有公共权限。
但是,即使对象位于私有存储桶中,也可以授予对象匿名读取权限。
很难跟踪/审核公开可读的文件/对象,因为除了浏览 AWS 控制台中的每条路径之外,我看不到任何找到它们的方法。
有没有办法列出存储桶中所有具有匿名(读取)权限的对象?任何方法都可以,包括 AWSCLI、Boto、REST 等。
我考虑尝试使用匿名 AWSCLI 配置文件,但这不允许列出存储桶内容,因此它只能用于单独测试文件。
我想我可以使用 Boto (https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#objectacl) 创建一个脚本。这是唯一的方法,还是有官方方法,例如 AWSCLI 命令?
【问题讨论】:
-
旁注:如果您担心文件以这种方式“泄漏”,您可以添加一个 Bucket Policy 拒绝
GetObject您的 AWS 账户中的用户。这将覆盖每个对象的权限。
标签: amazon-web-services amazon-s3 aws-cli