【问题标题】:AWS S3 Trying to understand permission given to a PolicyAWS S3 试图了解授予策略的权限
【发布时间】:2018-07-26 11:44:57
【问题描述】:

我正在尝试创建一个策略以供部署在 ECS 中的应用程序使用,以获取存储桶内的一些文件。 我正在创建的策略如下所示:

{
        "Sid": "VisualEditor1",
        "Effect": "Allow",
        "Action": [
            "s3:ListBucket",
            "s3:DeleteObject",
            "s3:PutObjectAcl",
            "s3:ListBucket",
            "s3:ListMultipartUploadParts",
            "s3:PutObject",
            "s3:GetObject",
            "s3:ListBucketVersions",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::name-of-bucket",
        ]

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

"arn:aws:s3:::name-of-bucket/*",

请注意 /* 。

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

【问题讨论】:

    标签: amazon-s3 amazon-policy


    【解决方案1】:

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

    在以下政策通知中,共有三个部分。第一部分提供列出您账户中存储桶的权限。下一部分提供列出存储桶内容和获取存储桶位置属性的权限。第三部分控制您可以在存储桶中执行的操作。

    {
       "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/*"
          }
       ]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2022-10-08
      • 2016-01-04
      • 2021-06-02
      • 2014-04-08
      相关资源
      最近更新 更多