这是我做的:
1)向IAM用户添加了以下策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": "arn:aws:s3:::bucket-name"
}
] }
2)我使用aws-cli
以该用户身份登录3)执行以下命令:
aws s3 sync ./dist s3://bucket-name/ --delete
我得到了一堆:
调用PutObject操作时发生错误(AccessDenied): 访问被拒绝
奇怪的是,这很好用:
aws s3api list-objects --bucket bucket-name
这意味着我的政策正在某种程度上运作......
提前致谢
答案 0 :(得分:3)
好的,我想出来了。政策需要:
[
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::bucket-name",
"arn:aws:s3:::bucket-name/*"
]
}
]
}
]
注意资源的差异。基本上,桶本身被认为是与其内部对象不同的资源。