

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

# 對 Amazon S3 儲存貯體設定預設伺服器端加密行為
<a name="bucket-encryption"></a>

**重要**  
Amazon S3 現在將伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 套用為 Amazon S3 中每個儲存貯體的基本加密層級。從 2023 年 1 月 5 日起，所有上傳到 Amazon S3 的新物件都會自動加密，無需額外費用，也不會影響效能。S3 儲存貯體預設加密組態和新物件上傳的自動加密狀態可在 CloudTrail 日誌、S3 庫存、S3 Storage Lens、Amazon S3 主控台，以及 AWS CLI 和 AWS SDKs 中的其他 Amazon S3 API 回應標頭中使用。如需詳細資訊，請參閱[預設加密常見問答集](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html)。

根據預設，所有 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 開發人員指南》**中的[編輯金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/editing-keys.html)。

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

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

若要識別已啟用 SSE-KMS 進行預設加密的儲存貯體，您可以使用 Amazon S3 Storage Lens 指標。S3 Storage Lens 是一種雲端儲存體分析功能，您可以用來了解整個組織使用物件儲存體的情況及其活動情形。如需詳細資訊，請參閱[使用 S3 Storage Lens 保護資料](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-data-protection.html?icmpid=docs_s3_user_guide_bucket-encryption.html)。

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

如需預設加密所需許可的詳細資訊，請參閱《Amazon Simple Storage Service API 參考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)。

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

**加密現有物件**  
若要加密現有的未加密 Amazon S3 物件，您可以使用 Amazon S3 批次操作。請提供 S3 批次作業可操作的物件清單，批次作業就會呼叫個別 API 來執行指定的操作。您可以使用[批次操作複製操作](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-copy-object.html)來複製現有的未加密物件，並將其作為加密物件寫入相同的儲存貯體中。單一批次操作任務可在數十億個物件上執行指定的操作。如需詳細資訊，請參閱 [使用 Batch Operations 大量執行物件操作](batch-ops.md) 和 *AWS 儲存部落格*文章《[使用 Amazon S3 批次操作加密物件](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/)》。

您也可以使用 `CopyObject` API 操作或 `copy-object` AWS CLI 命令來加密現有的物件。如需詳細資訊，請參閱 *AWS 儲存部落格*文章《[使用 AWS CLI加密現有的 Amazon S3 物件](https://aws.amazon.com/blogs/storage/encrypting-existing-amazon-s3-objects-with-the-aws-cli/)》。

**注意**  
如果 Amazon S3 儲存貯體的預設儲存貯體加密為 SSE-KMS，則不能作為 [使用伺服器存取記錄記錄要求](ServerLogs.md) 的目的地儲存貯體。伺服器存取日誌目標儲存貯體僅支援 SSE-S3 預設加密。

## 針對跨帳戶操作使用 SSE-KMS 加密
<a name="bucket-encryption-update-bucket-policy"></a>

對跨帳戶操作使用加密時，請注意下列事項：
+ 如果未在請求時間或透過儲存貯體的預設加密組態提供 AWS KMS key Amazon Resource Name (ARN) 或別名，則會使用 AWS 受管金鑰 (`aws/s3`)。
+ 如果您使用 AWS 帳戶 與 KMS 金鑰位於相同 的 AWS Identity and Access Management (IAM) 主體來上傳或存取 S3 物件，您可以使用 AWS 受管金鑰 (`aws/s3`)。
+ 如果您想要授予 S3 物件跨帳戶存取權，請使用客戶受管金鑰。您可以設定客戶受管金鑰的政策，以允許從另一個帳戶存取的權限。
+ 指定客戶自管 KMS 金鑰時，建議您使用完整的 KMS 金鑰 ARN。如果您改為使用 KMS 金鑰別名， 會在申請者的帳戶中 AWS KMS 解析金鑰。此行為可能會導致資料使用屬於申請者 (而不是儲存貯體擁有者) 的 KMS 金鑰來加密。
+ 您必須指定已授予您 (要求者) 已獲授予 `Encrypt` 許可的金鑰。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[允許金鑰使用者在密碼編譯操作中使用 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-users-crypto)。

如需何時使用客戶受管金鑰和 AWS 受管 KMS 金鑰的詳細資訊，請參閱[我應該使用 AWS 受管金鑰 或客戶受管金鑰來加密 Amazon S3 中的物件嗎？](https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-encryption-keys/)

## 搭配使用預設加密與複寫
<a name="bucket-encryption-replication"></a>

在您啟用域複寫目的地儲存貯體的預設加密之後，適用下列加密行為：
+ 如果未加密來源儲存貯體中的物件，則會使用目的地儲存貯體的預設加密設定來加密目的地儲存貯體中的複本物件。因此，來源物件的實體標籤 (ETag) 與複本物件的 ETag 不同。如果您有使用 ETag 的應用程式，則必須更新這些應用程式以解決此差異。
+ 如果透過使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3)、伺服器端加密搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 或雙層伺服器端加密搭配 AWS KMS 金鑰 (DSSE-KMS) 來加密來源儲存貯體中的物件，則目的地儲存貯體中的複本物件會使用與來源物件相同的加密類型。不會使用目的地儲存貯體的預設加密設定。

如需搭配 SSE-KMS 使用預設加密的詳細資訊，請參閱[複寫加密的物件](replication-config-for-kms-objects.md)。

## 搭配使用 Amazon S3 儲存貯體金鑰和預設加密
<a name="bucket-key-default-encryption"></a>

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

當您將儲存貯體設定為在新物件上使用 SSE-KMS 的 S3 儲存貯體金鑰時， AWS KMS 會產生儲存貯體層級金鑰，用於為儲存貯體中的物件建立唯一的[資料金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys)。此 S3 儲存貯體金鑰在 Amazon S3 內使用一段時間，減少 Amazon S3 向 提出請求 AWS KMS 以完成加密操作的需求。

如需使用 S3 儲存貯體金鑰的詳細資訊，請參閱 [使用 Amazon S3 儲存貯體金鑰](bucket-key.md)。