首页 > 解决方案 > 没有 ListAllMyBuckets 的特定 S3 存储桶的 IAM 策略无效

问题描述

我已经为一个特定的 S3 存储桶指定了 IAM 访问策略,该存储桶可以与 ListAllMyBuckets 操作一起正常工作。但是我不想向用户列出所有存储桶。如果我删除 LisAllBuckets 操作,则会收到错误消息,

Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 37A0TA0JGKQA56FJ; S3 Extended Request ID: yWLJEG4RSqGKXjphkcvfOUTCqPe6Qtq/aZUKek1LJ

尝试通过我的应用程序使用访问密钥 ID 和秘密访问密钥进行访问时出错。看起来这项政策应该按照 AWS 指南https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/工作- 但是它没有按预期工作。你能帮我解决这个问题吗?谢谢。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:ListAllMyBuckets"
        ],
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::ohdart-dev-assessments"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:GetObject"
        ],
        "Resource": [
            "arn:aws:s3:::ohdart-dev-assessments/*"
        ]
    }
]

}

标签: amazon-web-servicesamazon-s3

解决方案


推荐阅读