我的目标是允许一个用户将对象放入 s3 存储桶中。我想到了应用存储桶策略。我知道您不能拒绝所有用户的 PutObjects,然后通过允许所需用户覆盖它。我曾希望使用条件“ArnNotEquals”从拒绝策略声明中排除单个用户:
"Statement": [
{
"Sid": "allow only OneUser to put objects",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::myBucket/*",
"Condition": {
"ArnNotEquals": {
"aws:SourceArn": "arn:aws:iam::123456789012:user/OneUser"
}
}
}
]
但是,这会导致向所有用户拒绝 PutObjects。我在正确的轨道上吗?我可以为此制定一个桶策略吗?还是我需要查看其他地方,例如 ACL(访问控制列表)?