为什么这个S3存储桶策略不允许我的IAM用户放置对象?

时间:2017-06-29 00:17:56

标签: amazon-web-services amazon-s3

这是存储桶策略:

{
"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添加了所​​需的信息,是否还需要其他东西?

1 个答案:

答案 0 :(得分:2)

这并不能回答您的具体问题,但是......

如果您希望授予Amazon S3对特定IAM用户的访问权限,则直接将策略分配给IAM用户,而不是将其作为特殊情况添加到S3存储桶上政策。

您可以类似地为IAM组分配权限,然后分配给该组的任何用户都将继承权限。您甚至可以通过这种方式为多个S3存储桶分配权限,而不必修改多个存储桶策略。