我搜索了现有的问题而无法找到答案 . 因此张贴在这里 .
我想限制所有用户访问S3存储桶,除了使用S3 Bucket策略选择少数用户 . 我理解IAM策略易于管理和管理,我不喜欢为这个特定情况创建角色和组,并希望创建S3存储桶策略 .
这是我到目前为止所尝试的内容,并不是按预期限制用户访问 .
{
"Version": "2012-10-17",
"Id": "bucketPolicy",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam::1234567890:user/allowedusername"]
},
"Action": "s3:*",
"Resource": ["arn:aws:s3:::examplebucket",
"arn:aws:s3:::examplebucket/*"]
},
{
"Effect": "Deny",
"Principal": {
"AWS": ["arn:aws:iam::1234567890:user/denieduser"]
},
"Action": "s3:*",
"Resource": ["arn:aws:s3:::examplebucket",
"arn:aws:s3:::examplebucket/*"]
}
]
}
我试图否认所有像下面所有,但明确拒绝优先于允许,我自己现在无法访问桶;-(这是另一个问题,我有
{
"Effect": "Deny",
"Principal": {
"AWS": ["*"]
},
"Action": "s3:*",
"Resource": ["arn:aws:s3:::examplebucket",
"arn:aws:s3:::examplebucket/*"]
}
1 回答
要实现您想要的,请使用带有“NotPrincipal”策略元素的显式拒绝 . 以下策略将确保除“NotPrincipal”元素中列出的用户之外,没有其他用户可以访问存储桶 .