對 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 主控台中使用,以及作為和 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 雙層伺服器端加密。如需詳細了解編輯 KMS 金鑰,請參閱《AWS Key Management Service 開發人員指南》中的編輯金鑰

注意

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

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

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

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

如需預設加密所需許可的詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的 PutBucketEncryption

您可以使用 Amazon S3 主控台、 AWS 開發套件、Amazon S3 REST API 和 AWS 命令列界面 (AWS CLI),為 S3 儲存貯體設定 Amazon S3 預設加密行為。

加密現有物件

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

您也可以使用 CopyObject API 作業或copy-object AWS CLI 指令來加密現有物件。如需詳細資訊,請參閱 AWS 儲存部落格文章《使用 AWS CLI加密現有的 Amazon S3 物件》。

注意

如果 Amazon S3 儲存貯體的預設儲存貯體加密為 SSE-KMS,則不能作為 使用伺服器存取記錄記錄要求 的目的地儲存貯體。伺服器存取日誌目標儲存貯體僅支援 SSE-S3 預設加密。

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

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

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

  • 如果您使用與 KMS 金鑰相同 AWS 帳戶 的 AWS Identity and Access Management (IAM) 主體上傳或存取 S3 物件,則可以使用 AWS 受管金鑰 (aws/s3)。

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

  • 指定您自己的 KMS 金鑰時,建議您使用完整的 KMS 金鑰 ARN。如果您改用 KMS 金鑰別名,請 AWS KMS 解析要求者帳戶內的金鑰。此行為可能會導致資料使用屬於申請者 (而不是儲存貯體擁有者) 的 KMS 金鑰來加密。

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

如需何時使用客戶受管金鑰和受 AWS 管 KMS 金鑰的詳細資訊,請參閱我應該使用 AWS 受管金鑰 還是客戶受管金鑰來加密 Amazon S3 中的物件?

搭配使用預設加密與複寫

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

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

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

如需搭配 SSE-KMS 使用預設加密的詳細資訊,請參閱複寫加密的物件 (SSE-C、SSE-S3、SSE-KMS、DSSE-KMS)

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

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

當您將儲存貯體設定為在新物件上使用 S3 儲存貯體金鑰進行 SSE-KMS 時, AWS KMS 會產生值區層級金鑰,用來為儲存貯體中的物件建立唯一的資料金鑰。此 S3 儲存貯體金鑰在 Amazon S3 中使用一段時間限制,因此可減少 Amazon S3 提出要求以完成 AWS KMS 加密操作的需求。

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