如何解决IAM策略,仅允许从S3存储桶的特定文件夹中删除
我有一个水桶:s3://mybucket
我只想删除s3://mybucket/test
下的对象
我尝试了以下策略:
{
"Version": "2012-10-17","Statement": [
{
"Sid": "Stmt1604573937792","Action": [
"s3:DeleteObject"
],"Effect": "Allow","Resource": [
"arn:aws:s3:::mybucket/","arn:aws:s3:::mybucket/*"
],"Condition": {
"StringLike": {
"s3:prefix": "test/*"
}
}
}
]
}
但是,尝试删除对象arn:aws:s3:::mybucket/test/x.txt
的IAM策略模拟器无法显示“隐式拒绝(没有匹配的语句)”。我应该改变什么?
解决方法
如果您查看Actions,resources,and condition keys for Amazon S3 - AWS Identity and Access Management,则会发现DeleteObject
不接受Prefix
。
您可以使用:
{
"Version": "2012-10-17","Statement": [
{
"Effect": "Allow","Action": "s3:DeleteObject","Resource": "arn:aws:s3:::mybucket/text/*"
}
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。