AWS IAM策略问题

时间:2020-09-26 14:53:14

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

我创建了一个名为sally的IAM用户,并且在创建时未附加任何托管策略。然后在其上附加以下IAM策略。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "S3:*",
            "Resource": [
                "arn:aws:s3:::cat-pics",
                "arn:aws:s3:::cat-pics/*"
            ],
            "Effect": "Allow"
        }
    ]
}

但是当我以Sally用户身份登录到控制台时,我不断收到以下错误: 错误 拒绝访问 基本上,用户看不到猫咪桶或上传到其中的任何对象。我在这里想念什么?我是否需要向用户添加任何托管策略?请让我知道。

谢谢

2 个答案:

答案 0 :(得分:1)

对于试图通过控制台访问存储桶的用户来说,这是正确的策略文档。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "TheseActionsSupportBucketResourceType",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListBucketVersions"
            ],
            "Resource": [
                "arn:aws:s3:::cat-pics"
            ]
        },
        {
            "Sid": "TheseActionsRequireAllResources",
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:ListMultipartUploadParts"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "TheseActionsRequireSupportsObjectResourceType",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::cat-pics/*"
            ]
        }
    ]
}

此问题的详细说明在此处提供: https://aws.amazon.com/blogs/security/iam-policy-summaries-now-help-you-identify-errors-and-correct-permissions-in-your-iam-policies/ 谢谢

答案 1 :(得分:0)

问题在于此策略只允许完全访问此存储区,但是如果您使用控制台,则需要其他权限才能实现。 AWS documentation指出,您需要{bucket之外的GetBucketLocationListAllMyBuckets权限才能使用控制台。

将此添加到策略中,它应该可以工作:

{
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    },