對 Amazon S3 儲存貯體設定預設伺服器端加密行為
重要
Amazon S3 現在將伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 套用為 Amazon S3 中每個儲存貯體的基本加密層級。從 2023 年 1 月 5 日起,所有上傳到 Amazon S3 的新物件都會自動加密,無需額外費用,也不會影響效能。S3 儲存貯體預設加密組態和新物件上傳的自動加密狀態會顯示於 AWS CloudTrail 日誌、S3 清查、S3 Storage Lens、Amazon S3 主控台,並做為 AWS Command Line Interface 和 AWS SDK 的其他 Amazon S3 API 回應標頭。如需詳細資訊,請參閱預設加密常見問答集。
根據預設,所有 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 為儲存貯體啟用加密。對於已設定 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 Command Line Interface (AWS CLI ),為 S3 儲存貯體設定 Amazon S3 預設加密行為。
加密現有物件
若要加密現有的未加密 Amazon S3 物件,您可以使用 Amazon S3 批次操作。請提供 S3 批次作業可操作的物件清單,批次作業就會呼叫個別 API 來執行指定的操作。您可以使用批次操作複製操作來複製現有的未加密物件,並將其作為加密物件寫入相同的儲存貯體中。單一批次操作任務可在數十億個物件上執行指定的操作。如需詳細資訊,請參閱 使用 Batch Operations 大量執行物件操作 和 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 Resource Name (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) 或 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 進行伺服器端加密,或透過 AWS KMS 金鑰 (DSSE-KMS) 進行雙層伺服器端加密,則目的地儲存貯體中的複本物件會使用和來源物件相同的加密類型。不會使用目的地儲存貯體的預設加密設定。
如需搭配 SSE-KMS 使用預設加密的詳細資訊,請參閱複寫加密的物件。
搭配使用 Amazon S3 儲存貯體金鑰和預設加密
當您將儲存貯體設定為在新物件上使用 SSE-KMS 做為預設加密行為時,您還可以設定 S3 儲存貯體金鑰。S3 儲存貯體金鑰會減少從 Amazon S3 到 AWS KMS 的交易數目,以降低 SSE-KMS 的成本。
當您將儲存貯體設定為在新物件上使用 SSE-KMS 的 S3 儲存貯體金鑰時,AWS KMS 會產生一個儲存貯體層級金鑰,用於為儲存貯體中的物件建立唯一的資料金鑰。在 Amazon S3 中有時間限制的期間使用此 S3 儲存貯體金鑰,可減少 Amazon S3 向 AWS KMS 提出請求以完成加密操作的需求。
如需使用 S3 儲存貯體金鑰的詳細資訊,請參閱 使用 Amazon S3 儲存貯體金鑰。