AWS IAM用户,组和策略

时间:2019-07-03 13:54:23

标签: amazon-web-services amazon-s3

我只有1个存储桶,称为“合作伙伴”,然后在其下为每个合作伙伴创建文件夹。然后,我为每个合作伙伴创建一个IAM用户,目标是使他们能够访问各自的文件夹。因此,如果我有两个名为Alice&Bob的合作伙伴/用户,我想让他们每个人都可以访问“合作伙伴”存储桶下名为Alice&Bob的个人文件夹。目标不是授予S3 Console访问权限,只是以编程方式,他们应该能够读取/写入/修改这些文件夹中的内容。

因此,我正在考虑为每个IAM用户简单地创建“内联策略”,以将其限制在他们的文件夹中。这是正确的方法还是其他替代方法?这是我当前针对IAM用户Alice的“内联策略”。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListBucketIfSpecificPrefixIsIncludedInRequest",
            "Action": [
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::partners"
            ],
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "alice/*"
                    ]
                }
            }
        },
        {
            "Sid": "AllowUserToReadWriteObjectDataInProperFolder",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::partners/alice/*"
            ]
        },
        {
            "Sid": "ExplicitlyDenyAnyRequestsForAllOtherFolders",
            "Action": [
                "s3:ListBucket"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::partners"
            ],
            "Condition": {
                "StringNotLike": {
                    "s3:prefix": [
                        "alice/*",
                        ""
                    ]
                },
                "Null": {
                    "s3:prefix": false
                }
            }
        }
    ]
}

0 个答案:

没有答案