我的IAM帐户中有一个名为“testuser”的用户,该用户具有管理员特权,如下所示:
{
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
然后在我的S3存储桶上有一个拒绝该用户访问的策略,如下所示:
{
"Statement": [
{
"Effect": "Deny",
"Principal": {
"AWS": "my-account-id:user/testuser"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
因此,S3存储桶策略中的明确拒绝应该覆盖IAM策略中的允许,对吗?但是,当我以测试用户身份登录时,我仍然可以访问该存储桶中的所有内容-甚至可以更改或删除该存储桶(以及其他所有存储桶)的存储桶策略。为什么我的明确拒绝不做任何事情?
最佳答案
尝试在存储桶策略中为用户ID使用完整的ARN表单:
"Principal": {
"AWS":["arn:aws:iam::accountid:user/testuser"]
}
关于permissions - 为什么我的AWS S3存储桶策略不会覆盖我的IAM策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595926/