编写亚马逊S3存储桶策略的正确方法是什么?

时间:2019-07-02 14:05:38

标签: amazon-web-services amazon-s3 policy

我正在尝试将图像从.NET Web服务上传到Amazon s3存储桶。

通过在存储桶上使用此公共策略,我可以做到:

{
    "Id": "Policyxxxxxxxx",
    "Version": "yyyy-MM-dd",
    "Statement": [
        {
            "Sid": "xxxxxxxxxx",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::(bucketName)/*",
            "Principal": "*"
        }
    ] }

但是,当我尝试仅授予我的用户/凭据这样的权限时:

{
    "Id": "Policyxxxxxxxx",
    "Version": "yyyy-MM-dd",
    "Statement": [
        {
            "Sid": "xxxxxxxxxx",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::(bucketName)/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::(accountID):user/(userName)"
                ]
            }
        }
    ]
}

我得到“拒绝访问”。

那我在政策上做错了什么?

1 个答案:

答案 0 :(得分:0)

如果您希望向特定IAM用户授予对Amazon S3存储桶的访问权限,则应在IAM用户本身上放置策略,而不要使用存储桶策略。

例如,请参阅:Create a single IAM user to access only specific S3 bucket