本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定和監控目錄儲存貯體的預設加密
根據預設,Amazon S3 儲存貯體皆已啟動儲存貯體加密,且使用伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 自動加密新物件。此加密免費適用於 Amazon S3 儲存貯體中的所有新物件。
如果您需要對加密金鑰進行更多控制,例如管理金鑰輪換和存取政策授予,您可以選擇使用伺服器端加密搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS)。
注意
建議儲存貯體的預設加密使用所需的加密組態,而且您不會覆寫
CreateSession
請求或PUT
物件請求中的儲存貯體預設加密。然後,新的物件會以所需的加密設定自動加密。如需在目錄儲存貯體中覆寫加密行為的詳細資訊,請參閱使用 指定伺服器端加密 AWS KMS 以進行新物件上傳。若要使用 SSE-KMS 加密目錄儲存貯體中的新物件,您必須使用 KMS 金鑰 (特別是客戶自管金鑰) 將 SSE-KMS 指定為目錄儲存貯體的預設加密組態。然後,在為區域端點 API 操作建立工作階段時,系統會在工作階段期間使用 SSE-KMS 和 S3 儲存貯體金鑰自動加密和解密新物件。
當您將預設儲存貯體加密設定為 SSE-KMS 時,目錄儲存貯體中的
GET
和PUT
操作一律會啟用 S3 儲存貯體金鑰,且無法停用。當您透過 CopyObject、UploadPartCopy、Batch Operations 中的 Copy 操作或 import 作業,將 SSE-KMS 加密物件從一般用途儲存貯體複製到目錄儲存貯體、從目錄儲存貯體複製到一般用途儲存貯體或在目錄儲存貯體之間複製時,不支援 S3 儲存貯體金鑰。在此情況下,Amazon S3 AWS KMS 會在每次對 KMS 加密物件提出複製請求時呼叫 。如需 S3 儲存貯體金鑰如何降低 AWS KMS 請求成本的詳細資訊,請參閱 使用 Amazon S3 儲存貯體金鑰降低 SSE-KMS 的成本。當您在目錄儲存貯體中指定用於加密的 AWS KMS 客戶自管金鑰時,請僅使用金鑰 ID 或金鑰 ARN。不支援 KMS 金鑰的金鑰別名格式。
目錄儲存貯體中的預設加密不支援使用 AWS KMS 金鑰的雙層伺服器端加密 (DSSE-KMS) 和使用客戶提供金鑰的伺服器端加密 (SSE-C)。
如需設定預設加密的詳細資訊,請參閱設定預設加密。
如需預設加密所需許可的詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 PutBucketEncryption。
您可以使用 Amazon S3 主控台、 AWS SDKs、Amazon S3 REST API 和 AWS Command Line Interface () 來S3Amazon S3 儲存貯體的 Amazon S3 預設加密AWS CLI。
設定 Amazon S3 儲存貯體的預設加密
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/s3/
開啟 Amazon S3 主控台。 -
在左側導覽窗格中,選擇 Buckets (儲存貯體)。
-
在 Buckets (儲存貯體) 清單中,選擇您所需的儲存貯體名稱。
-
選擇屬性索引標籤。
-
在伺服器端加密設定下,目錄儲存貯體會使用 Amazon S3 受管金鑰的伺服器端加密 (SSE-S3)。
-
選擇儲存變更。
這些範例說明如何使用 SSE-S3 或具有 S3 儲存貯體金鑰的 SSE-KMS 來設定預設加密。
如需預設加密的詳細資訊,請參閱對 Amazon S3 儲存貯體設定預設伺服器端加密行為。如需使用 AWS CLI 設定預設加密的詳細資訊,請參閱 put-bucket-encryption
範例 – 使用 SSE-S3 預設加密
此範例會使用 Amazon S3 受管金鑰設定預設儲存貯體加密。若要使用此命令,請以您自己的資訊取代 使用者輸入預留位置
。
aws s3api put-bucket-encryption --bucket
bucket-base-name
--zone-id
--x-s3 --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] }'
範例 – 使用 S3 儲存貯體金鑰以 SSE-KMS 預設加密
此範例會使用 S3 儲存貯體金鑰,以 SSE-KMS 設定預設儲存貯體加密。若要使用此命令,請以您自己的資訊取代 使用者輸入預留位置
。
aws s3api put-bucket-encryption --bucket
bucket-base-name
--zone-id
--x-s3 --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "KMS-Key-ARN
" }, "BucketKeyEnabled": true } ] }'
使用 REST API PutBucketEncryption
操作,將預設加密設定為要使用的伺服器端加密類型 (SSE-S3 或 SSE-KMS)。
如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 PutBucketEncryption。
使用 AWS SDKs時,您可以請求 Amazon S3 使用 AWS KMS keys 進行伺服器端加密。下列適用於 Java 和 .NET AWS SDKs 範例使用 SSE-KMS 和 S3 儲存貯體金鑰設定目錄儲存貯體的預設加密組態。如需其他 SDKs的資訊,請參閱 AWS 開發人員中心的範本程式碼和程式庫
重要
當您在 Amazon S3 中使用 AWS KMS key 進行伺服器端加密時,您必須選擇對稱加密 KMS 金鑰。Amazon S3 只支援對稱加密 KMS 金鑰。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的對稱加密 KMS 金鑰。
使用 AWS CloudTrail監控目錄儲存貯體的預設加密
您可以使用 AWS CloudTrail 事件追蹤 Amazon S3 目錄儲存貯體的預設加密組態請求。CloudTrail 日誌使用下列 API 事件名稱:
-
PutBucketEncryption
-
GetBucketEncryption
-
DeleteBucketEncryption
注意
目錄儲存貯體不支援 EventBridge。
目錄儲存貯體不支援使用 AWS Key Management Service (AWS KMS) 金鑰的雙層伺服器端加密 (DSSE-KMS) 或使用客戶提供加密金鑰 (SSE-C) 的伺服器端加密。
如需使用 AWS CloudTrail監控預設加密的詳細資訊,請參閱使用 AWS CloudTrail 與 Amazon EventBridge 監控預設加密。