这是来自AWS s3 存储桶策略无效组委托人的后续但独立的问题
我有 2 个组:开发人员和协作者。开发人员具有预配置的“PowerUser”组策略。协作者具有以下组策略
{
"Version": "2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:ListAllMyBuckets"
],
"Resource":"arn:aws:s3:::*"
},
{
"Effect":"Allow",
"Action":[
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource":"arn:aws:s3:::bucket"
},
{
"Effect":"Allow",
"Action":[
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource":"arn:aws:s3:::bucket/*.txt"
}
]
}
存储桶具有以下策略来拒绝上传未加密的 .txt 文件:
{
"Version": "2008-10-17",
"Id": "PutObjPolicy",
"Statement": [
{
"Sid": "DenyUnEncryptedObjectUploads",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::bucket/*.txt",
"Condition": {
"StringNotEquals": {
"s3:x-amz-server-side-encryption": "AES256"
}
}
}
]
}
我期望的行为:“开发人员”组可以放置任何类型的文件,“.txt”文件必须加密,包括制作目录。“协作者”组只能放置、获取和删除“.txt”文件,不能创建目录。
我得到的行为与“开发人员”的预期一致。“协作者”的行为与开发人员相同,他们可以放置任何文件,而他们应该只能放置“.txt”文件。
我究竟做错了什么?