AWS S3试图了解对策略的许可

时间:2018-07-25 21:30:28

标签: amazon-s3 amazon-policy

我正在尝试创建一个策略,以供部署在ECS中的应用程序使用,以获取对象/放置/删除存储桶中的某些文件。 我正在创建的策略如下:

CLIENTINDIVIDUAL

但是当我尝试将文件上传到存储桶时,我仍然遇到“访问被拒绝”错误,我看到了一些AWS示例,人们在其中将策略中的资源定义为:

CLIENTPRACTICE

请注意/ *。

所以我的问题是我什么时候应该使用/ *,什么时候不应该使用它(我应该针对哪个权限使用它)。

1 个答案:

答案 0 :(得分:4)

您必须同时执行这两项操作,这意味着您需要存储桶,存储桶本身和存储桶中的对象的权限。每层都可以控制。

在以下策略通知中,分为三个部分。第一部分提供了列出帐户中存储桶的权限。下一部分提供了列出存储桶内容和获取存储桶的location属性的权限。第三部分控制您在存储桶中可以执行的操作。

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets"
         ],
         "Resource":"arn:aws:s3:::*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListBucket",
            "s3:GetBucketLocation"
         ],
         "Resource":"arn:aws:s3:::examplebucket"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::examplebucket/*"
      }
   ]
}