s3 儲存桶/IAM 使用者政策「拒絕優先於所有其他存取」?

s3 儲存桶/IAM 使用者政策「拒絕優先於所有其他存取」?

兩項策略,其中一項為“拒絕”,我應該無法對存儲桶執行任何操作,但我仍然可以列出和查看存儲桶物件。為什麼?謝謝

S3 儲存桶策略

{
    "Sid": "S3DenyAccess",
    "Effect": "Deny",
    "Principal": "*",
    "Action": "*",
    "Resource": "arn:aws:s3:::<YOURBUCKETHERE>/*"
}

IAM 使用者策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowConsoleAccess",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::*"
            ]
        }
    ]
}

答案1

嘗試改變資源在裡面桶政策包括單獨的存儲桶和帶有物件的存儲桶:

"Resource": [
    "arn:aws:s3:::<YOURBUCKETHERE>",
    "arn:aws:s3:::<YOURBUCKETHERE>/*"
]

希望有幫助:)

答案2

AWS 策略評估邏輯將會是一本有用的讀物。簡而言之,明確的否認獲勝。但這與這裡無關。

我是

您的 IAM 使用者政策規定「此使用者可以列出所有儲存桶並取得儲存桶位置」。

桶策略

您針對某個特定儲存桶的儲存桶策略規定“明確拒絕任何人執行任何反對操作的權限”裡面資源末尾的“/*”表示策略適用於“儲存桶內部”,而如果省略這些,則表示策略適用於儲存桶本身。

組合

因此,您的組合策略表示所有使用者都可以列出儲存桶並取得儲存桶位置,但不能對儲存桶內的物件執行任何操作。我很驚訝您可以列出存儲桶中的對象並查看存儲桶對象。我懷疑這裡有另一個策略在起作用,因為 AWS 預設拒絕表示它不應該向您顯示任何內容。

其他意見

如果有人能發現我錯過的東西,請指出:)

相關內容