1

我有一个组,并且我已将以下策略应用于该组。我向组中添加了一个用户并为该用户创建了访问密钥。我可以从“mybucket”中获取,但无法放入“mybucket”。当我尝试放置时,我得到“拒绝访问”。谁能告诉我我做错了什么。请告诉我。

   {
       "Statement":[{
          "Effect":"Allow",
          "Action":["s3:PutObject","s3:GetObject"],
          "Resource":["arn:aws:s3:::mybucket","arn:aws:s3:::mybucket/*"] 
          },
          {
          "Effect":"Deny",
          "Action":["*"],
          "NotResource":["arn:aws:s3:::mybucket","arn:aws:s3:::mybucket/*"]  
          }
       ]
    }

编辑:有人让我说明政策的目标。我只想“允许”对指定存储桶的组的 PUT 和 GET 权限。对于未指定的所有资源(NotResource),我想明确地“拒绝”该组的所有其他权限。我基于 AWS 发布的一篇文章添加了明确的“拒绝”,该文章表明这​​样做是一种好习惯。

4

2 回答 2

1

来自:IAM 语言信息

每个策略必须仅涵盖单个存储桶和该存储桶中的资源(在编写策略时,不要包含引用其他存储桶或其他存储桶中的资源的语句)

于 2011-12-16T23:15:47.203 回答
0

Deny 语句始终优先于 Allow 语句,这意味着上述策略应阻止用户的所有访问。您如何处理 Get 和 Put 请求?Gets 是否可能是匿名执行的(没有身份验证)?

了解您对上述政策的目标是什么会有所帮助?拒绝声明的目的是什么?

于 2011-02-02T01:50:18.140 回答