【发布时间】:2017-06-29 00:17:55
【问题描述】:
这是存储桶策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "statement1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::xxxxxxxxxxxx:user/userName"
},
"Action": "*",
"Resource": "arn:aws:s3:::my-super-awesome-bucket-name-test/*"
}
}
使用 AWS CLI 我可以列出存储桶的内容:
aws s3 ls s3://my-super-awesome-bucket-name-test
2017-06-28 19:50:42 97 testFile.csv
但是,我无法上传文件:
aws s3 cp csv_sum.js s3://my-super-awesome-bucket-name-test/
upload failed: ./csv_sum.js to s3://my-super-awesome-bucket-name-test/csv_sum.js An error occurred (AccessDenied) when calling the PutObject operation: Access Denied
我还需要做些什么来授予我的 IAM 用户访问权限吗?我通过 aws configure 添加了所需的信息,还有其他需要的吗?
【问题讨论】:
-
aws s3 cp命令可能还需要 Bucket 以及存储桶内容的权限。尝试添加"arn:aws:s3:::my-super-awesome-bucket-name-test"的第二个资源(没有/*)。 -
所以事实证明这一定是我的 AWS CLI 客户端引起的,我通过自制软件将它安装在我的 mac 上。从我的 Linux PC 上尝试相同的命令没有问题。吸取教训,坚持使用 Linux
-
要在 Mac 上安装 AWS Command-Line Interface (CLI),只需使用
sudo pip install awscli。它在 Mac 上运行良好!
标签: amazon-web-services amazon-s3