为访问多个 s3 存储桶指定正确的 IAM 权限



我正在尝试授予用户对某些存储桶的读/写/列出权限,我的 IAM 策略是:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::kl-bucket1",
                "arn:aws:s3:::kl-bucket2",
                "arn:aws:s3:::kl-bucket3",
                "arn:aws:s3:::kl-bucket4"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::kl-bucket3",
                "arn:aws:s3:::kl-bucket4"
            ]
        }
    ]
}

当我尝试写入存储桶4时,我收到403错误,但是如果我像下面这样授予完全权限,那么我就可以写入bucket4。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": "*"
        }
    ]
}

可能是什么问题?

附言虽然此问题类似于 S3:如何授予对多个存储桶的访问权限?实际问题是不同的。

问题是我还在 PutObject 之后设置了访问控制,而 IAM 策略正在设置该权限。
@Asarluhi的回答有所帮助。
已将操作修改为:

"Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:PutObjectAcl"
        ],

相关内容

  • 没有找到相关文章