S3存储桶的基本AWS IAM权限

我试图弄清楚IAM用户/密钥的基本权限集必须只能访问S3中的单个存储桶 – 只对单个存储桶进行读/写访问。

使这项工作所需的最低权限是什么? 我在S3的IAM策略生成器中选择了所有选项,除了CreateBucketDeleteBucket之外,在桶上启用了所有权限。 我还创建了一组特定于此用户的密钥。

当我尝试使用这些凭据访问存储桶时,即使启用了ListAllMyBuckets属性,我也会ListAllMyBuckets列出存储桶的问题。

有没有经验设置这样的基本桶配置? 好像很常见……

Amazon S3的示例策略涵盖了与您类似或相关的各种用例 – 特别是您可能希望将示例1:允许每个用户在Amazon S3中使用示例2:允许用户仅列出对象中 的主目录 他或她在公司存储桶中的主目录 – 您只需要调整Resource来定位您的存储桶根目录,即将/home/bob/*替换为*

请注意, 示例2有助于ListBucket ,它是一个桶上的操作 , 返回 桶中某些项的信息 ,而ListAllMyBuckets是对服务的操作 , 返回请求发送方拥有的所有桶的列表 ,很可能不适用于您的用例(请参阅我对后者的澄清的评论)。

这将允许列出所有桶,假设您没有在其他地方拒绝它(我99%肯定拒绝语句首先被评估;顺序与IAM策略无关):

  { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "*" } 

允许任何你想要的桶(不要忘记/ *):

  { "Effect": "Allow", "Action": [ "s3:" ], "Resource": [ "arn:aws:s3:::", "arn:aws:s3:::/*" ] }