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

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 员工

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

1 Antwort
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
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen