對 Amazon S3 儲存貯體設定預設伺服器端加密行為 - Amazon Simple Storage Service

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

對 Amazon S3 儲存貯體設定預設伺服器端加密行為

重要

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

所有 Amazon S3 儲存貯體都預設設定了加密,並且使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 來自動加密物件。此加密設定適用於 Amazon S3 儲存貯體中的所有物件。

如果您需要對金鑰進行更多控制,例如管理金鑰輪替和存取原則授與,您可以選擇使用伺服器端加密 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS),或使用雙層伺服器端加密 AWS KMS 鍵(DSSE-KMS)。如需有關編輯KMS金鑰的詳細資訊,請參閱編輯按鍵 AWS Key Management Service 開發人員指南

注意

我們已變更儲存貯體,以自動加密新物件上傳。如果您之前建立了沒有預設加密的儲存貯體,Amazon S3 預設會使用 SSE-S3 為儲存貯體啟用加密。對於已設KMS定 SSE-S3 或 SSE-的現有儲存貯體,預設加密組態不會有任何變更。如果您想要使用 SSE-來加密物件KMS,您必須變更值區設定中的加密類型。如需詳細資訊,請參閱使用伺服器端加密 AWS KMS 按鍵 (SSE-KMS)

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

若要識別KMS已啟用預設加密的儲存貯體,您可以使用 Amazon S3 儲存鏡頭指標。SSES3 Storage Lens 是一種雲端儲存體分析功能,您可以用來了解整個組織使用物件儲存體的情況及其活動情形。如需詳細資訊,請參閱使用 S3 Storage Lens 保護資料

當您使用伺服器端加密時,Amazon S3 會在將物件儲存到磁碟之前加密,並在下載物件時解密。如需使用伺服器端加密與加密金鑰管理來保護資料的詳細資訊,請參閱 使用伺服器端加密保護資料

如需預設加密所需權限的詳細資訊,請參閱 PutBucketEncryptionAmazon 簡單存儲服務API參考中。

您可以使用 Amazon S3 主控台為 S3 儲存貯體設定 Amazon S3 預設加密行為 AWS SDKs,Amazon S3 REST API 和 AWS 指令行介面 (AWS CLI).

加密現有物件

若要加密現有的未加密 Amazon S3 物件,您可以使用 Amazon S3 批次操作。您可以為 S3 Batch 操作提供要操作的物件清單,Batch 操作會呼叫相應的物件API以執行指定的操作。您可以使用批次操作複製操作來複製現有的未加密物件,並將其作為加密物件寫入相同的儲存貯體中。單一批次操作任務可在數十億個物件上執行指定的操作。如需詳細資訊,請參閱在 Amazon S3 物件上執行大規模批次操作AWS 儲存部落格文章使用 Amazon S3 Batch 操作加密物件。

您也可以使用CopyObjectAPI作業或 copy-object AWS CLI 指令。如需詳細資訊,請參閱 AWS 儲存部落格文章使用 AWS CLI.

注意

預設儲存貯體加密設為的 Amazon S3 儲存貯體 SSE-KMS 無法用作的目標儲存貯體使用伺服器存取記錄記錄要求。伺服器存取記錄目的地儲存貯體僅支援 SSE-S3 預設加密。

使用 SSE-跨帳戶操作的KMS加密

對跨帳戶操作使用加密時,請注意下列事項:

  • 如果 AWS KMS key Amazon 資源名稱 (ARN) 或別名未在請求時或透過儲存貯體的預設加密組態提供, AWS 受管金鑰 (aws/s3) 被使用。

  • 如果您使用上傳或存取 S3 物件 AWS Identity and Access Management (IAM) 在相同的主參與者 AWS 帳戶 作為您的KMS關鍵,您可以使用 AWS 受管金鑰 (aws/s3).

  • 如果您想要授予 S3 物件跨帳戶存取權,請使用客戶受管金鑰。您可以設定客戶受管金鑰的政策,以允許從另一個帳戶存取的權限。

  • 如果您要指定客戶管理的KMS金鑰,建議您使用完全合格的KMS金鑰ARN。如果您改用KMS索引鍵別名, AWS KMS 解析要求者帳戶中的金鑰。此行為可能會導致使用屬於請求者的KMS金鑰 (而非值區擁有者) 加密資料。

  • 您必須指定已授予您 (要求者) 已獲授予 Encrypt 許可的金鑰。如需詳細資訊,請參閱中的允許金鑰使用者使用KMS金鑰進行密碼編譯作業AWS Key Management Service 開發人員指南

如需有關何時使用客戶管理金鑰的詳細資訊,以及 AWS 託管KMS密鑰,請參閱我應該使用 AWS 受管金鑰 還是客戶管理密鑰來加密我在 Amazon S3 中的對象?

搭配使用預設加密與複寫

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

  • 如果未加密來源儲存貯體中的物件,則會使用目的地儲存貯體的預設加密設定來加密目的地儲存貯體中的複本物件。因此,來源物件的實體標籤 (ETags) 與複本物件ETags的不同。如果您有使用的應用程式ETags,則必須更新這些應用程式以解釋這種差異。

  • 如果使用 Amazon S3 受管金鑰 (SSE-S3) 的伺服器端加密來加密來源儲存貯體中的物件,則使用伺服器端加密 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS),或使用雙層伺服器端加密 AWS KMS key (DSSE-KMS),目的地值區中的複本物件會使用與來源物件相同的加密類型。不會使用目的地儲存貯體的預設加密設定。

若要取得有關使用預設加密與 SSE-的更多資訊KMS,請參閱複寫加密的物件

搭配使用 Amazon S3 儲存貯體金鑰和預設加密

當您將儲存貯體設定為使用 SSE-KMS 做為新物件的預設加密行為時,您也可以設定 S3 儲存貯體金鑰。S3 儲存貯體金鑰會將 Amazon S3 的交易數量減少為 AWS KMS 以減少 SSE-的成本KMS。

當您將儲存貯體設定為SSEKMS在新物件上使用 S3 儲存貯體金鑰時, AWS KMS 會產生值區層級索引鍵,用來建立值區中物件的唯一資料金鑰。此 S3 儲存貯體金鑰會在 Amazon S3 內使用一段時間限制,因此可減少 Amazon S3 發出請求的需求 AWS KMS 完成加密作業。

如需使用 S3 儲存貯體金鑰的詳細資訊,請參閱 使用 Amazon S3 儲存貯體金鑰