我搜索了现有的问题,但没有找到答案。因此在这里发布。
我想使用S3 Bucket策略将对S3存储桶的访问限制为除少数用户之外的所有用户。我知道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/*"]
}
此策略包含以下错误:已禁止使用Id字段。有关IAM策略语法的更多信息,请参阅AWS IAM策略。
- lft93ryt