跳至內容

我應該使用哪些 Amazon S3 儲存貯體政策來遵守 s3-bucket-ssl-requests-only AWS Config 規則?

1 分的閱讀內容
0

我為 Amazon Simple Storage Service (Amazon S3) 儲存貯體政策啟動了 s3-bucket-ssl-requests-only AWS Config 規則,以要求在傳輸資料期間進行加密。我想確保我的儲存貯體政策遵守此規則。

解決方法

Amazon S3 允許 HTTP 和 HTTPS 請求。依預設,Amazon S3 會透過 AWS 管理主控台、AWS Command Line Interface (AWS CLI) 或 HTTPS 提出請求。

若要遵守 s3-bucket-ssl-requests-only 規則,請確認您的儲存貯體政策明確拒絕對 HTTP 請求的存取。允許 HTTPS 請求但未明確拒絕 HTTP 請求的儲存貯體政策可能不符合規則。

若要確定儲存貯體政策中的 HTTP 或 HTTPS 請求,使用檢查 aws:SecureTransport 金鑰的條件。當您將關鍵條件設為 true 時,Amazon S3 會透過 HTTPS 傳送請求。為了遵守 s3-bucket-ssl-requests-only 規則,請建立儲存貯體政策,當請求滿足 "aws:SecureTransport": "false" 條件時,明確拒絕對 HTTP 請求的存取。

符合 s3-bucket-ssl-requests-only 規則的儲存貯體政策

以下範例儲存貯體政策符合 s3-bucket-ssl-requests-only 規則。當請求滿足 "aws:SecureTransport": "false" 條件時,政策明確拒絕儲存貯體和物件的所有動作:

{
    "Id": "ExamplePolicy",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowSSLRequestsOnly",
            "Action": "s3:*",
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
            ],
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "false"
                }
            },
            "Principal": "*"
        }
    ]
}

儲存貯體政策不符合 s3-bucket-ssl-requests-only 規則

以下儲存貯體政策不符合 s3-bucket-ssl-requests-only 規則。此政策允許存取符合 "aws:SecureTransport": "true" 條件的請求,而不是明確的 Deny (拒絕) 陳述式。當請求使用 HTTPS 時,該陳述式允許對儲存貯體中的所有物件匿名存取 GetObject

{
    "Id": "ExamplePolicy",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "NOT-RECOMMENDED-FOR__AWSCONFIG-Rule_s3-bucket-ssl-requests-only",
            "Action": "s3:GetObject",
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
            ],
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "true"
                }
            },
            "Principal": "*"
        }
    ]
}

**注意:**只有當您的使用案例需要透過 HTTPS 進行匿名存取時,才使用上述儲存貯體政策。

相關資訊

如何使用儲存貯體政策並套用深度防禦以協助保護您的 Amazon S3 資料