我正在尝试使用我的存储桶策略限制用户访问我的存储桶。我有一组用户,他们都有一个 S3FullAccess 策略。我无法更改 IAM 中的任何内容。我只能访问我的存储桶策略。所以我想使用存储桶策略来控制用户的访问。我将用户分为 3 类。
- 对我的存储桶的管理员访问权限(对我的存储桶的所有访问权限)
- 对我的存储桶具有有限访问权限的用户(例如 get-bucket-policy、get-bucket-location)
- 无法访问我的存储桶。(无法访问我的存储桶)
以下策略是我尝试过的策略,但它不起作用。
{
"Version": "2012-10-17",
"Id": "PolicyTesting",
"Statement": [
{
"Sid": "0",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<<account_id>>:user/users_with_limited_access"
},
"Action": [
"s3:GetBucketPolicy",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<<my_bucket_name>>",
"arn:aws:s3:::<<my_bucket_name>>/*"
]
},
{
"Sid": "1",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::<<account_id>>:user/admin_users"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::<<my_bucket_name>>",
"arn:aws:s3:::<<my_bucket_name>>/*"
]
}
]
}
我尝试了上述策略,但只有管理员用户才能访问存储桶。访问受限的用户无法执行他们授予的操作,例如 get-bucket-policy、get-bucket-location。他们正在收到拒绝访问异常。帮我解决这个问题。