AWS:将 IAM 用户限制在 S3 存储桶中的特定文件夹

Posted

技术标签:

【中文标题】AWS:将 IAM 用户限制在 S3 存储桶中的特定文件夹【英文标题】:AWS: Restricting IAM User to Specific Folder in S3 Bucket 【发布时间】:2014-08-29 00:30:18 【问题描述】:

所以我一直在尝试定义一个策略来将一组 IAM 用户限制在 S3 存储桶中的特定文件夹中,但没有成功。我已经摆脱了这篇博文中概述的政策。 http://blogs.aws.amazon.com/security/post/Tx1P2T3LFXXCNB5/Writing-IAM-policies-Grant-access-to-user-specific-folders-in-an-Amazon-S3-bucke

具体来说,我正在使用以下内容:


 "Version":"2012-10-17",
 "Statement": [
   
     "Sid": "AllowUserToSeeBucketListInTheConsole",
     "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
     "Effect": "Allow",
     "Resource": ["arn:aws:s3:::*"]
   ,
  
     "Sid": "AllowRootAndHomeListingOfCompanyBucket",
     "Action": ["s3:ListBucket"],
     "Effect": "Allow",
     "Resource": ["arn:aws:s3:::mybucket"],
     "Condition":"StringEquals":"s3:delimiter":["/"]
    ,
   
     "Sid": "AllowListingOfUserFolder",
     "Action": ["s3:ListBucket"],
     "Effect": "Allow",
     "Resource": ["arn:aws:s3:::mybucket"],
     "Condition":"StringLike":"s3:prefix":["myfolder"]
   ,
   
     "Sid": "AllowAllS3ActionsInUserFolder",
     "Effect": "Allow",
     "Action": ["s3:*"],
     "Resource": ["arn:aws:s3:::mybucket/myfolder/*"]
   
 ]

不幸的是,由于某种原因,此策略不仅允许用户导航到指定文件夹,还允许用户导航到同一存储桶中存在的其他文件夹。如何限制用户,使他们只能导航到指定的文件夹?

【问题讨论】:

【参考方案1】:

我希望本文档对您有所帮助,步骤被分解并且非常简单:

http://docs.aws.amazon.com/AmazonS3/latest/dev/walkthrough1.html

您也可以使用策略变量。

它允许您在策略中指定占位符。评估策略时,策略变量将替换为来自请求本身的值。 例如 - $aws:username:

您还可以查看这个 *** 问题(如果看起来相关):

Preventing a user from even knowing about other users (folders) on AWS S3

【讨论】:

【参考方案2】:

我以前回答过这个问题,但我会从这里再次回答。最好创建一个用户,然后将他们添加到一个组,然后将组 r/w 分配给存储桶。这是如何编写策略的典型示例


  "Statement": [
    
      "Sid": "sidgoeshere",
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::s3bucket",
        "arn:aws:s3:::s3bucket/*"
      ]
    
  ]

【讨论】:

谢谢保罗。不确定我是否在关注。组 r/w 是什么意思?您如何使用上述方法限制组对存储桶中特定文件夹的访问? 读/写。如果您只是想列出内容,您可以将 Action 字段调整为您需要的内容。将写入选项视为奖励内容;)

以上是关于AWS:将 IAM 用户限制在 S3 存储桶中的特定文件夹的主要内容,如果未能解决你的问题,请参考以下文章

[AWS][安全] S3存储桶策略-Bucket Policy

AWS S3策略限制用户仅列出存储桶中的某些文件夹

通过 terraform 创建 IAM 用户并在 S3 存储桶中上传密钥和访问密钥

如何将 S3 存储桶锁定到特定用户和 IAM 角色

如何将驻留在账户 A 中的 s3 存储桶的访问权限授予来自多个 aws 账户的不同 iam 用户?

允许用户访问特定 S3 存储桶进行备份的 AWS IAM 策略