AWS IAM GroupPolicy - 为什么s3:PutObject权限不起作用?

时间:2011-01-31 06:43:03

标签: amazon-web-services amazon-iam

我有一个小组,我已将以下政策应用于该小组。我向该组添加了一个用户,并为该用户创建了访问密钥。我可以从“mybucket”获得,但我无法投入“mybucket”。当我尝试Put时,我得到“Access Denied”。谁能告诉我我做错了什么。请告诉我。

   {
       "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权限。我想明确“拒绝”指定所有资源NOT(NotResource)的组的所有其他权限。我在AWS发布的一篇文章中添加了明确的“拒绝”,表明这样做是一种很好的做法。

2 个答案:

答案 0 :(得分:1)

来自:IAM Language Info

  

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

答案 1 :(得分:0)

拒绝语句总是优先于Allow语句,这意味着上述策略应该阻止用户的所有访问。你是如何做Get&Put请求的?是否有可能匿名执行获取(没有身份验证)?

了解上述政策的目标是有帮助的吗?拒绝陈述的目的是什么?