访问点策略未限制对存储桶的访问

0

【以下的问题经过翻译处理】 我有一个存储桶,仅通过访问策略限制对其的访问。 我发现它没有按预期工作。 这是存储桶策略: ''' { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": { "AWS": "" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::admin-only-bucket", "arn:aws:s3:::admin-only-bucket/" ], "Condition": { "StringNotEquals": { "s3:DataAccessPointAccount": "xxxxxxxxxxxx" } } } ] } ''' 接入点具有以下策略: ''' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:: xxxxxxxxxxxx:user/admin" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:us-east-1: xxxxxxxxxxxx:accesspoint/admin-only-accesspoint" } ] }

''' 我的目的是将存储桶仅限于管理员用户。 当我列出存储桶“admin-only-accesspoint”中的对象时,它工作正常。 aws s3api list-objects --bucket arn:aws:s3:us-east-1: xxxxxxxxxxxx:accesspoint/admin-only-accesspoint --profile admin 但我也可以与另一个用户“ staff”列出对象。 aws s3api list-objects --bucket arn:aws:s3:us-east-1: xxxxxxxxxxxx:accesspoint/admin-only-accesspoint --profile 员工

只是想知道为什么访问权限不限于管理员用户。

profile picture
专家
已提问 5 个月前11 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果我将政策更改为,我发现它会按预期工作: ''' { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "NotPrincipal": { "AWS": "arn:aws:iam:: xxxxxxxxxxxx:user/admin" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:us-east-1: xxxxxxxxxxxx:accesspoint/admin-only-accesspoint" } ] } ''' 显然,除非有拒绝,否则接入点策略默认允许一切。 更好的解决方案是这个 : ''' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:: xxxxxxxxxxxx:user/admin" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:us-east-1: xxxxxxxxxxxx:accesspoint/admin-only-accesspoint" } ] } ''' 问题是我尝试的所有用户都拥有 S3 的所有权限。 因此,我删除了用户的所有 S3 权限,只允许他们通过存储桶和访问点策略进行访问,这解决了问题。

因此,如果身份有权访问 S3,则存储桶和访问点不会产生影响,除非明确拒绝

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则