我正在尝试通过cil公开我的s3存储桶,到处进行了更改,但仍然出现错误 “调用PutBucketPolicy操作时发生错误(MalformedPolicy):策略资源无效”
{
"Id": "MyPolicy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::task1y/*"
}
]
}
有人可以建议我如何解决此问题吗?
答案 0 :(得分:1)
某些资源(如 ListBucket)接受具有全名的 arn,如“arn:aws:s3::::bucket_name”,而 GetObject 或 PutObjects 则需要在 bucket_name 之后加上 /*。根据服务更改 ARN,它现在应该可以工作了!
答案 1 :(得分:0)
在文档中,策略应与以下内容匹配,其中examplebucket
是您要附加策略的存储桶名称。
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"PublicRead",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::examplebucket/*"]
}
]
}
您收到此错误,表示您要附加此策略的存储桶名称不相同。换句话说,您的资源只能附加到名为task1y
的存储桶中。