【问题标题】:Granting full control permission on all sub-folders inside S3 bucket (excluding parent )授予对 S3 存储桶内所有子文件夹的完全控制权限(不包括 parent)
【发布时间】:2019-12-29 08:01:26
【问题描述】:

我有一个名为 my-bucket 的 S3 存储桶...我在此存储桶中有几个子文件夹,我们称它们为:sub-folder1sub-folder2

我希望my-bucket-user 拥有对存储桶的读取权限和对所有子文件夹的完全控制权限(因此该用户无法在根级别写入)。

我已经尝试了以下存储桶策略,它专门授予每个子文件夹的权限......但是如果我有很多子文件夹,这个策略会变得太长。

{
  "Id": "MyBucketPolicy",
  "Version": "2012-10-17",
  "Statement": [
{
      "Sid": "ListPermissionOnMyBucket",
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::my-bucket/*",
      "Principal": {
        "AWS": [
          "arn:aws:iam::773643377756:user/my-bucket-user"
        ]
      }
    },
    {
      "Sid": "FullControlAccessOnSubFolder1",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::my-bucket/sub-folder1/*",
      "Principal": {
        "AWS": [
          "arn:aws:iam::773643377756:user/my-bucket-user"
        ]
      }
    },
    {
      "Sid": "FullControlAccessOnSubFolder2",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::my-bucket/sub-folder2/*",
      "Principal": {
        "AWS": [
          "arn:aws:iam::773643377756:user/my-bucket-user"
        ]
      }
    }
  ]
}

有没有更好的方法来编写此政策?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-iam


    【解决方案1】:

    此政策允许列出存储桶的全部内容,但只能上传/下载到子文件夹(不是存储桶的根目录):

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": "s3:ListBucket",
                "Effect": "Allow",
                "Resource": "arn:aws:s3:::my-bucket"
            },
            {
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject"
                ],
                "Effect": "Allow",
                "Resource": "arn:aws:s3:::my-bucket/*/*"
            }
        ]
    }
    

    基本上,表达式 my-bucket/*/* 强制要求对象的 Key 中包含 /,这意味着它位于子文件夹中。

    【讨论】:

      猜你喜欢
      • 2011-12-14
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2018-04-29
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多