

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

# 搭配客戶提供的金鑰 (SSE-C) 使用伺服器端加密
<a name="ServerSideEncryptionCustomerKeys"></a>

伺服器端加密是有關保護靜態資料。伺服器端加密只會加密物件資料，非物件中繼資料。您可以在一般用途儲存貯體中使用伺服器端加密搭配客戶提供的金鑰 (SSE-C)，以使用您自己的加密金鑰來加密資料。如果您提供的加密金鑰作為請求的一部分，Amazon S3 會在資料寫入磁碟時管理資料加密，以及在您存取物件時管理資料解密。因此，您不需要維護任何程式碼來執行資料加密與解密。您只需要管理自己提供的加密金鑰即可。

從 2026 年 4 月開始，對於沒有 SSE-C 加密物件的帳戶中的所有新一般用途儲存貯體和現有儲存貯體，SSE-C 預設為停用。大多數現代工作負載會改用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 或 AWS KMS 金鑰 (SSE-KMS)，因為 SSE-C 會要求您在每次請求時提供加密金鑰，因此與其他使用者、角色 AWS 或服務共用存取權是不切實際的。若要進一步了解 SSE-KMS，請參閱 [搭配 AWS KMS 金鑰使用伺服器端加密 (SSE-KMS)](UsingKMSEncryption.md)。

如果您的工作負載需要 SSE-C，您必須使用 `PutBucketEncryption` API 在儲存貯體的預設加密組態`NONE`中`BlockedEncryptionTypes`將 設定為 ，以明確啟用它。封鎖 SSE-C `CopyObject`時，任何指定 SSE-C 加密的 `PutObject`、、`PostObject`、分段上傳或複寫請求都會因 HTTP 403 `AccessDenied`錯誤而遭到拒絕。如需詳細資訊，請參閱 [封鎖或取消封鎖一般用途儲存貯體的 SSE-C](blocking-unblocking-s3-c-encryption-gpb.md)。

使用 SSE-C 無須額外付費。不過，請求設定和使用 SSE-C 會產生標準的 Amazon S3 請求費用。如需定價的資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)。

**重要**  
Amazon Simple Storage Service 現在會對所有新的一般用途儲存貯體套用新的預設儲存貯體安全設定，以客戶提供的金鑰 (SSE-C) 自動停用伺服器端加密。2026 年 4 月，Amazon S3 部署了更新，因此所有新的一般用途儲存貯體都會針對所有新的寫入請求停用 SSE-C 加密。對於 中沒有 SSE-C 加密物件 AWS 帳戶 的現有儲存貯體，Amazon S3 也會針對所有新的寫入請求停用 SSE-C。在此變更中，需要 SSE-C 加密的應用程式必須在建立新儲存貯體後，使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) API 操作刻意啟用 SSE-C。如需此變更的詳細資訊，請參閱 [新儲存貯體的預設 SSE-C 設定常見問答集](default-s3-c-encryption-setting-faq.md)。

## 使用 SSE-C 之前的考量事項
<a name="considerations-before-using-sse-c"></a>
+ 當您使用 SSE-C 時，S3 絕不會存放加密金鑰。 每次您希望任何人從 S3 下載 SSE-C 加密資料時，都必須提供加密金鑰。
  + 您會管理哪個加密金鑰用來加密哪個物件的對應。您會負責追蹤針對哪個物件提供哪個加密金鑰。這也表示如果您遺失加密金鑰，則會遺失物件。
  + 由於您是在用戶端管理加密金鑰，因此您會在用戶端管理任何額外的保護措施，例如金鑰輪替。
  + 這種設計可能會使與其他需要操作資料的使用者、角色 AWS 或服務共用 SSE-C 金鑰變得困難。由於對 SSE-KMS 的廣泛支援 AWS，大多數現代工作負載不會使用 SSE-C，因為它缺乏 SSE-KMS 的靈活性。若要進一步了解 SSE-KMS，請參閱[使用伺服器端加密搭配 AWS KMS 金鑰 (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。
  + 這表示受管服務無法原生解密使用 SSE-C 加密的 AWS 物件。
+ 在請求上指定 SSE-C 標頭時，您必須使用 HTTPS。
  + 使用 SSE-C 時，Amazon S3 會拒絕所有透過 HTTP 提出的請求。為安全起見，建議任何錯誤地透過 HTTP 傳送的金鑰皆視為已遭洩漏。請捨棄該金鑰，並適當地輪換。
+ 如果您的儲存貯體已啟用版本控制，您上傳的每個物件版本都可以有自己的加密金鑰。您會負責追蹤針對哪個物件版本使用了哪個加密金鑰。
+ Amazon S3 主控台不支援 SSE-C。您無法使用 Amazon S3 主控台上傳物件並指定 SSE-C 加密。您也無法使用主控台來更新使用 SSE-C 存放的現有物件 (例如變更儲存方案或新增中繼資料)。
+ 預設會封鎖新儲存貯體的 SSE-C。您必須使用 `PutBucketEncryption` API 明確啟用 SSE-C，才能使用 SSE-C 加密上傳物件。如需詳細資訊，請參閱[封鎖或取消封鎖一般用途儲存貯體的 SSE-C](blocking-unblocking-s3-c-encryption-gpb.md)。

**Topics**
+ [使用 SSE-C 之前的考量事項](#considerations-before-using-sse-c)
+ [使用客戶提供金鑰 (SSC-C) 指定伺服器端加密](specifying-s3-c-encryption.md)
+ [封鎖或取消封鎖一般用途儲存貯體的 SSE-C](blocking-unblocking-s3-c-encryption-gpb.md)
+ [新儲存貯體的預設 SSE-C 設定常見問答集](default-s3-c-encryption-setting-faq.md)