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