【问题标题】:Proper (optimal) configuration of S3 Bucket Policy with IAM User使用 IAM 用户正确(最佳)配置 S3 存储桶策略
【发布时间】:2015-10-05 18:35:13
【问题描述】:

我对 S3 存储桶策略有一些经验,但最近我开始尝试使用 IAM 用户/组和 S3 存储桶 ACL。困扰我的是我无法理解它们是如何协同工作的。谁覆盖了什么?我想要完成的是让特定的 IAM 用户(带有凭证)用于在我的应用程序中上传。我已将 IAM 政策附加到它,如下所示:

{
    "Version": "2012-10-17",
    "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject"
        ],
        "Resource": "arn:aws:s3:::*"
    }
    ]
}

此策略附加到 IAM 用户。然后我在 S3 Bucket 上创建了以下策略:

{
    "Version": "2012-10-17",
    "Statement": [
    {
        "Sid": "DefaultPrivate",
        "Effect": "Deny",
        "Principal": "*",
        "Action": "*",
        "Resource": "arn:aws:s3:::xxxxx-xxxxxx-xxxx/*"
    },
    {
        "Sid": "ThumbnailAndGaleryReadOnly",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": [ 
            "arn:aws:s3:::xxxx-xxx-xxxx-xxxx/*/xxxxx/*",
            "arn:aws:s3:::xxxxx-xxxxx-xxxxx/*/xxxxxxx/*"
        ]
    },
    {
        "Sid": "S3UploaderWrite",
        "Effect": "Allow",
        "Principal": {"AWS":"arn:aws:iam::xxxxxxxxxx:user/xxxxxxxx"},
        "Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:DeleteObject"
        ],
        "Resource": "arn:aws:s3:::xxxxxxxxxxxx/*"
    }
    ]
}

很遗憾,只要 S3 策略中存在“拒绝”块 - 它就不允许我的 S3 用户上传文件。是否有可能我不能使用“允许”块“覆盖”拒绝特定用户(IAM 标识符是好的 - 我已经仔细检查过)。删除“拒绝”块让它工作,但......这不是重点。

关于这个问题的任何问题?如何明确拒绝一切,然后只允许某些 IAM 用户/组/角色执行某些操作?

谢谢。

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    你可以删除拒绝主体 *。您可以指定您被拒绝的用户或角色,例如“Principal”:{“AWS”:“arn:aws:iam::xxxxxxxxxx:user/xxxxxxxx”}。它解决了你的问题。

    【讨论】:

    • 我不确定 S3 ACL 的“默认”行为是什么。如果 ACL 中没有另外定义,是否所有内容都被拒绝?
    • 只允许 root 帐户执行所有 s3 操作(默认行为)
    • 我将此回复标记为答案,主要是因为该评论解决了困境。谢谢!
    猜你喜欢
    • 2023-03-29
    • 2021-08-04
    • 2019-02-26
    • 1970-01-01
    • 2012-11-23
    • 2013-10-25
    • 2023-03-31
    • 1970-01-01
    • 2017-10-14
    相关资源
    最近更新 更多