對 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 主控台,以及和中的額外 Amazon S3 API 回應標頭 AWS SDKs。 AWS Command Line Interface 如需詳細資訊,請參閱預設加密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 會在將物件儲存到磁碟之前加密,並在下載物件時解密。如需使用伺服器端加密與加密金鑰管理來保護資料的詳細資訊,請參閱 使用伺服器端加密保護資料

如需有關預設加密所需許可的詳細資訊,請參閱 Amazon 簡單儲存服務API參考PutBucketEncryption中的。

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

加密現有物件

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

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

注意

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

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

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

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

  • 如果您使用與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 受管金鑰的詳細資訊,請參閱是否應使用 AWS 受管金鑰 或客戶受管KMS金鑰來加密 Amazon S3 中的物件?

搭配使用預設加密與複寫

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

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

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

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

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

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

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

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