我从Web向导在AWS S3上创建了一个新存储桶。 我以root用户身份登录
我正尝试如下添加Bucket policy
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::<my-bucket-name-is-here>/*"
]
}]
}
我在Web编辑器和CLI中都拒绝了权限
CLI
An error occurred (AccessDenied) when calling the PutBucketPolicy operation: Access Denied
在IAM设置中,root用户具有完全访问权限
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
我添加了
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
我也尝试添加
{
"Sid": "ModifyBucketPolicy",
"Action": [
"s3:GetBucketPolicy",
"s3:PutBucketPolicy"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::<MY-BUCKET-NAME>*"
},
我仍然没有权限
答案 0 :(得分:1)
感谢@JohnRotenstein,因为我接受了AWS的默认“阻止所有公共访问”,所以我无法编辑存储桶策略。这是有道理的,因为存储桶策略还可以控制访问,因此可能会发生冲突。
但是,该错误消息令人困惑,因为它没有提及阻止更新的事实Block public access (bucket settings)
。错误消息指出access denied
/ you don't have permissions
使我认为是用户上的IAM设置阻止了我修改资源。