設定預設加密 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定預設加密

重要

Amazon S3 現在將伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 套用為 Amazon S3 中每個儲存貯體的基本加密層級。從 2023 年 1 月 5 日起,所有上傳到 Amazon S3 的新物件都會自動加密,無需額外費用,也不會影響效能。 AWS CloudTrail 日誌、S3 庫存、S3 Storage Lens、Amazon S3 主控台,以及 AWS Command Line Interface 和 AWS SDKs 中的其他 Amazon S3 API 回應標頭中,提供 S3 儲存貯體預設加密組態和新物件上傳的自動加密狀態。 S3 如需詳細資訊,請參閱預設加密常見問答集

根據預設,Amazon S3 儲存貯體皆已啟動儲存貯體加密,且使用伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 自動加密新物件。此加密免費適用於 Amazon S3 儲存貯體中的所有新物件。

如果您需要對加密金鑰進行更多控制,例如管理金鑰輪換和存取政策授予,您可以選擇使用伺服器端加密搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS),或使用 AWS KMS 金鑰的雙層伺服器端加密 (DSSE-KMS)。如需 SSE-KMS 的詳細資訊,請參閱「使用 AWS KMS (SSE-KMS) 指定伺服器端加密」。如需 DSSE-KMS 的詳細資訊,請參閱 使用雙層伺服器端加密搭配 AWS KMS 金鑰 (DSSE-KMS)

若您想要使用其他帳戶的 KMS 金鑰,您必須具有該金鑰的使用權限。如需詳細了解 KMS 金鑰跨帳戶權限,請參閱《AWS Key Management Service 開發人員指南》中的建立其他帳戶可使用的 KMS 金鑰

當您將預設儲存貯體加密設定為 SSE-KMS 時,您也可以設定 S3 儲存貯體金鑰來降低 AWS KMS 請求成本。如需詳細資訊,請參閱使用 Amazon S3 儲存貯體金鑰降低 SSE-KMS 的成本

注意

如果您使用 PutBucketEncryption 將預設儲存貯體加密設定為 SSE-KMS,則應驗證您的 KMS 金鑰 ID 正確無誤。Amazon S3 不會驗證 PutBucketEncryption 請求中提供的 KMS 金鑰 ID。

使用 S3 儲存貯體的預設加密不需要額外收費。請求設定預設加密行為會產生標準 Amazon S3 請求費用。如需定價的資訊,請參閱 Amazon S3 定價。對於 SSE-KMS 和 DSSE-KMS,需支付 AWS KMS 費用,並按AWS KMS 定價列出。

不支援使用客戶所提供金鑰 (SSE-C) 的伺服器端加密做為預設加密。

您可以使用 Amazon S3 主控台、軟體 AWS SDKs、Amazon S3 REST API 和 AWS Command Line Interface (),為 S3Amazon S3 儲存貯體設定 Amazon S3 預設加密AWS CLI。

啟用預設加密之前,應注意的變更

在您啟用儲存貯體的預設加密之後,適用下列加密行為:

  • 在啟用預設加密之前,不會變更儲存貯體中現有物件的加密。

  • 在啟用預設加密之後上傳物件時:

    • 如果您的 PUT 請求標題未包含加密資訊,則 Amazon S3 會使用儲存貯體的預設加密設定來加密物件。

    • 如果您的 PUT 請求標題包含加密資訊,則 Amazon S3 會先使用 PUT 請求中的加密資訊來加密物件,再將物件存放至 Amazon S3。

  • 如果您針對預設加密組態使用 SSE-KMS 或 DSSE-KMS 選項,則受到 AWS KMS的每秒請求數目 (RPS) 配額限制。如需 AWS KMS 配額以及如何請求提高配額的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的配額

注意

在啟用預設加密之前上傳的物件不會受到加密。如需詳細了解加密現有物件,請參閱 對 Amazon S3 儲存貯體設定預設伺服器端加密行為

設定 Amazon S3 儲存貯體的預設加密
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. Buckets (儲存貯體) 清單中,選擇您所需的儲存貯體名稱。

  4. 選擇屬性索引標籤。

  5. Default encryption (預設加密) 底下,選擇 Edit (編輯)

  6. 若要設定加密,請在加密類型下,選擇下列其中一項:

    • 使用 Amazon S3 受管金鑰 (SSE-S3) 的伺服器端加密

    • 伺服器端加密與 AWS Key Management Service 金鑰 (SSE-KMS)

    • 雙層伺服器端加密與 AWS Key Management Service 金鑰 (DSSE-KMS)

      重要

      如果您針對預設加密組態使用 SSE-KMS 或 DSSE-KMS 選項,則受到 AWS KMS的每秒請求數目 (RPS) 配額限制。如需 AWS KMS 配額以及如何請求提高配額的詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的配額

    除非您為儲存貯體指定其他類型的預設加密,否則根據預設,儲存貯體和新物件皆會使用 SSE-S3 加密。如需預設加密的詳細資訊,請參閱對 Amazon S3 儲存貯體設定預設伺服器端加密行為

    如需有關使用 Amazon S3 伺服器端加密來加密資料的詳細資訊,請參閱「使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密」。

  7. 如果您選擇使用 AWS Key Management Service 金鑰的伺服器端加密 (SSE-KMS)使用 AWS Key Management Service 金鑰的雙層伺服器端加密 (DSSE-KMS),請執行下列動作:

    1. AWS KMS 金鑰下,使用下列其中一種方式指定 KMS 金鑰:

      • 若要從可用的 KMS 金鑰清單中選擇,請選擇從 中選擇 AWS KMS keys,然後從可用的金鑰清單中選擇您的 KMS 金鑰。

        AWS 受管金鑰 (aws/s3) 和您的客戶受管金鑰都會顯示在此清單中。如需客戶受管金鑰的詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的客戶金鑰和 AWS 金鑰

      • 若要輸入 KMS 金鑰 ARN,請選擇輸入 AWS KMS key ARN,然後在出現的欄位中輸入您的 KMS 金鑰 ARN。

      • 若要在 AWS KMS 主控台中建立新的客戶受管金鑰,請選擇建立 KMS 金鑰

        如需建立 的詳細資訊 AWS KMS key,請參閱《 AWS Key Management Service 開發人員指南》中的建立金鑰

      重要

      您只能使用 AWS 區域 在與儲存貯體相同的 中啟用的 KMS 金鑰。如果選擇的是 Choose from your KMS keys (從您的 KMS 金鑰選擇),則 S3 主控台只會列出每個區域的其中 100 個 KMS 金鑰。如果您在相同區域中有超過 100 個 KMS 金鑰,您只能看到 S3 主控台中的前 100 個 KMS 金鑰。若要使用主控台中未列出的 KMS 金鑰,請選擇輸入 AWS KMS key ARN,然後輸入 KMS 金鑰 ARN。

      當您在 Amazon S3 中使用 AWS KMS key 進行伺服器端加密時,您必須選擇對稱加密 KMS 金鑰。Amazon WorkMail 只支援對稱加密 KMS 金鑰。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的對稱加密 KMS 金鑰

      如需有關搭配 Amazon S3 使用 SSE-KMS 的詳細資訊,請參閱 搭配 AWS KMS 金鑰使用伺服器端加密 (SSE-KMS)。如需 DSSE-KMS 的使用詳細資訊,請參閱 使用雙層伺服器端加密搭配 AWS KMS 金鑰 (DSSE-KMS)

    2. 當您將儲存貯體設定為使用 SSE-KMS 的預設加密時,您還可以啟用 S3 儲存貯體金鑰。S3 儲存貯體金鑰透過減少 Amazon S3 的請求流量來降低加密成本 AWS KMS。如需詳細資訊,請參閱使用 Amazon S3 儲存貯體金鑰降低 SSE-KMS 的成本

      若要使用 S3 儲存貯體金鑰,在 Bucket Key (儲存貯體金鑰) 下選擇 Enable (啟用)

      注意

      DSSE-KMS 不支援 S3 儲存貯體金鑰。

  8. 選擇 Save changes (儲存變更)。

這些範例說明如何使用 SSE-S3 或具有 S3 儲存貯體金鑰的 SSE-KMS 來設定預設加密。

如需預設加密的詳細資訊,請參閱對 Amazon S3 儲存貯體設定預設伺服器端加密行為。如需使用 AWS CLI 設定預設加密的詳細資訊,請參閱 put-bucket-encryption

範例 – 使用 SSE-S3 預設加密

此範例會使用 Amazon S3 受管金鑰設定預設儲存貯體加密。

aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] }'
範例 – 使用 S3 儲存貯體金鑰以 SSE-KMS 預設加密

此範例會使用 S3 儲存貯體金鑰,以 SSE-KMS 設定預設儲存貯體加密。

aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "KMS-Key-ARN" }, "BucketKeyEnabled": true } ] }'

使用 REST API PutBucketEncryption 操作來啟用預設加密,以及設定要使用的伺服器端加密類型 (SSE-S3、SSE-KMS 或 DSSE-KMS)。

如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 PutBucketEncryption