AWS限制对s3中的子文件夹的访问

时间:2018-11-13 16:49:23

标签: amazon-s3 amazon-iam

我试图将IAM角色限制为只能访问S3存储桶中的特定子文件夹(键前缀)。这是我正在使用的政策JSON,但当前用户仍可以访问存储桶中的其他文件夹:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::somebucket",
                "arn:aws:s3:::somebucket/*"
            ]
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucketVersions",
                "s3:ListBucketByTags",
                "s3:GetBucketAcl"
            ],
            "Resource": [
                "arn:aws:s3:::mybucket"
            ]
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": [
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::mybucket/datasets/company1/*"
            ]
        }
    ]
}

目前,使用该角色,我仍然可以做到,例如

aws s3 cp s3://mybucket/datasets/company2/dataset.csv

并下载数据集。我在做什么错了?

当我尝试模拟该策略时,这似乎是正确的(尝试在mybucket/datasets/company2/dataset.csv上进行getObject隐式失败,但这实际上没有发生。此用户没有附加任何其他策略。

0 个答案:

没有答案