設定預設加密 - Amazon Simple Storage Service

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

設定預設加密

重要

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

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

如果您需要對加密金鑰進行更多控制,例如管理金鑰輪替和存取原則授與,您可以選擇使用伺服器端加密 () 金鑰 AWS Key Management Service (SSE-KMS AWS KMS),或使用金鑰 (DSSE-KMS) 來使用 AWS 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 金鑰識別碼正確無誤。Amazon S3 不會驗證 PutBucketEncryption 請求中提供的 KMS 金鑰識別碼。

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

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

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

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

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

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

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

    • 如果您的 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 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/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. 選擇儲存變更

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

如需預設加密的詳細資訊,請參閱對 Amazon S3 儲存貯體設定預設伺服器端加密行為。若要取得有關使用配置預設 AWS CLI 加密的更多資訊,請參閱put-bucket-encryption

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

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

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

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

aws s3api put-bucket-encryption --bucket DOC-EXAMPLE-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