aws s3 存储桶策略

Posted

技术标签:

【中文标题】aws s3 存储桶策略【英文标题】:aws s3 bucket policy 【发布时间】:2016-01-08 10:08:33 【问题描述】:

我创建了一个简单的策略来访问经过身份验证的(访问密钥/密码)用户的特定存储桶。以下是政策


    "Version": "2012-10-17",
    "Statement": [
        
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::xxxxxxx/*"
            ]
        
    ]

但用户无法访问它。如果我用“arn:aws:s3:::*”替换资源,它可以工作,但会向附加用户显示所有存储桶。

【问题讨论】:

你能详细说明你想要达到什么目标吗? 如问题所述,特定用户的特定降压。 【参考方案1】:

试试这个:


  "Statement": [
    
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::xxxxxxx",
        "arn:aws:s3:::xxxxxxx/*"
      ]
    
  ]

您需要在存储桶(/*)内授予访问权限,然后授予存储桶本身的访问权限,这是您缺少的部分。

【讨论】:

是的,它有效,我已经尝试过了,但顺序不同。谢谢 资源的顺序在政策中重要吗? 不,资源顺序无所谓【参考方案2】:

作为 E.J. Brennan 建议您可以将存储桶本身添加到资源列表中,但这将使用户有权删除存储桶本身。如果您只想让他们查看存储桶并能够修改其中的对象,您可以授予对存储桶的列表访问权限以及您目前拥有的权限,如下所示:


    "Version": "2012-10-17",
    "Statement": [
        
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::xxxxxxx"
            ]
        ,
        
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::xxxxxxx/*"
            ]
        
    ]

【讨论】:

以上是关于aws s3 存储桶策略的主要内容,如果未能解决你的问题,请参考以下文章

AWS S3 存储桶策略编辑器访问被拒绝

AWS S3:更改策略后无法列出存储桶

AWS S3 存储桶策略允许从特定 URL 的访问

AWS S3 访问被拒绝。存储桶权限被授予,那么当我是用户时,我需要存储桶策略吗?

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

如何使用 AWS S3 存储桶策略强制执行文件类型上传