

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

# 設定預設加密
<a name="default-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)。如需 SSE-KMS 的詳細資訊，請參閱「[使用 AWS KMS (SSE-KMS) 指定伺服器端加密](specifying-kms-encryption.md)」。如需 DSSE-KMS 的詳細資訊，請參閱 [使用雙層伺服器端加密搭配 AWS KMS 金鑰 (DSSE-KMS)](UsingDSSEncryption.md)。

若您想要使用其他帳戶的 KMS 金鑰，您必須具有該金鑰的使用權限。如需詳細了解 KMS 金鑰跨帳戶權限，請參閱《AWS Key Management Service 開發人員指南》**中的[建立其他帳戶可使用的 KMS 金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console)。

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

**注意**  
如果您使用 [PutBucketEncryption](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketEncryption.html) 將預設儲存貯體加密設定為 SSE-KMS，則應驗證您的 KMS 金鑰 ID 正確無誤。Amazon S3 不會驗證 PutBucketEncryption 請求中提供的 KMS 金鑰 ID。

使用 S3 儲存貯體的預設加密不需要額外收費。請求設定預設加密行為會產生標準 Amazon S3 請求費用。如需定價的資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)。對於 SSE-KMS 和 DSSE-KMS，需支付 AWS KMS 費用，並按[AWS KMS 定價](https://aws.amazon.com/kms/pricing/)列出。

不支援使用客戶所提供金鑰 (SSE-C) 的伺服器端加密做為預設加密。

您可以使用 Amazon S3 主控台、 AWS SDKs、Amazon S3 REST API 和 AWS Command Line Interface () 來S3Amazon S3 儲存貯體的 Amazon S3 預設加密AWS CLI。

**啟用預設加密之前，應注意的變更**  
在您啟用儲存貯體的預設加密之後，適用下列加密行為：
+ 在啟用預設加密之前，不會變更儲存貯體中現有物件的加密。
+ 在啟用預設加密之後上傳物件時：
  + 如果您的 `PUT` 請求標題未包含加密資訊，則 Amazon S3 會使用儲存貯體的預設加密設定來加密物件。
  + 如果您的 `PUT` 請求標題包含加密資訊，則 Amazon S3 會先使用 `PUT` 請求中的加密資訊來加密物件，再將物件存放至 Amazon S3。
+ 如果您針對預設加密組態使用 SSE-KMS 或 DSSE-KMS 選項，則受到 AWS KMS的每秒請求數目 (RPS) 配額限制。如需 AWS KMS 配額以及如何請求提高配額的詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[配額](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)。

**注意**  
在啟用預設加密之前上傳的物件不會受到加密。如需詳細了解加密現有物件，請參閱 [對 Amazon S3 儲存貯體設定預設伺服器端加密行為](bucket-encryption.md)。

## 使用 S3 主控台
<a name="bucket-encryption-how-to-set-up-console"></a>

**設定 Amazon S3 儲存貯體的預設加密**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇 **Buckets** (儲存貯體)。

1. 在 **Buckets** (儲存貯體) 清單中，選擇您所需的儲存貯體名稱。

1. 選擇**屬性**索引標籤。

1. 在 **Default encryption (預設加密)** 底下，選擇 **Edit (編輯)**。

1. 若要設定加密，請在**加密類型**下，選擇下列其中一項：
   + **使用 Amazon S3 受管金鑰 (SSE-S3) 的伺服器端加密**
   + **伺服器端加密與 AWS Key Management Service 金鑰 (SSE-KMS)**
   + **使用 AWS Key Management Service 金鑰進行雙層伺服器端加密 (DSSE-KMS)**
**重要**  
如果您針對預設加密組態使用 SSE-KMS 或 DSSE-KMS 選項，則受到 AWS KMS的每秒請求數目 (RPS) 配額限制。如需 AWS KMS 配額以及如何請求提高配額的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[配額](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)。

   除非您為儲存貯體指定其他類型的預設加密，否則根據預設，儲存貯體和新物件皆會使用 SSE-S3 加密。如需預設加密的詳細資訊，請參閱[對 Amazon S3 儲存貯體設定預設伺服器端加密行為](bucket-encryption.md)。

   如需有關使用 Amazon S3 伺服器端加密來加密資料的詳細資訊，請參閱「[使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密](UsingServerSideEncryption.md)」。

1. 如果您選擇**使用 AWS Key Management Service 金鑰的伺服器端加密 (SSE-KMS)** 或**使用 AWS Key Management Service 金鑰的雙層伺服器端加密 (DSSE-KMS)**，請執行下列動作：

   1. 在 **AWS KMS 金鑰**下，使用下列其中一種方式指定 KMS 金鑰：
      + 若要從可用的 KMS 金鑰清單中選擇，請選擇**從中選擇 AWS KMS keys**，然後從可用的金鑰清單中選擇您的 **KMS** 金鑰。

         AWS 受管金鑰 (`aws/s3`) 和您的客戶受管金鑰都會顯示在此清單中。如需客戶受管金鑰的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[客戶金鑰和 AWS 金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt)。
      + 若要輸入 KMS 金鑰 ARN，請選擇**輸入 AWS KMS key ARN**，然後在出現的欄位中輸入您的 KMS 金鑰 ARN。
      + 若要在 AWS KMS 主控台中建立新的客戶受管金鑰，請選擇**建立 KMS 金鑰**。

        如需建立 的詳細資訊 AWS KMS key，請參閱《 *AWS Key Management Service 開發人員指南*》中的[建立金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html)。
**重要**  
您只能使用 AWS 區域 在與儲存貯體相同的 中啟用的 KMS 金鑰。如果選擇的是 **Choose from your KMS keys** (從您的 KMS 金鑰選擇)，則 S3 主控台只會列出每個區域的其中 100 個 KMS 金鑰。如果您在相同區域中有超過 100 個 KMS 金鑰，您只能看到 S3 主控台中的前 100 個 KMS 金鑰。若要使用主控台中未列出的 KMS 金鑰，請選擇**輸入 AWS KMS key ARN**，然後輸入 KMS 金鑰 ARN。  
當您在 Amazon S3 中使用 AWS KMS key 進行伺服器端加密時，您必須選擇對稱加密 KMS 金鑰。Amazon WorkMail 只支援對稱加密 KMS 金鑰。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[對稱加密 KMS 金鑰](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks)。

      如需有關搭配 Amazon S3 使用 SSE-KMS 的詳細資訊，請參閱 [搭配 AWS KMS 金鑰使用伺服器端加密 (SSE-KMS)](UsingKMSEncryption.md)。如需 DSSE-KMS 的使用詳細資訊，請參閱 [使用雙層伺服器端加密搭配 AWS KMS 金鑰 (DSSE-KMS)](UsingDSSEncryption.md)。

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

      若要使用 S3 儲存貯體金鑰，在 **Bucket Key (儲存貯體金鑰)** 下選擇 **Enable (啟用)**。
**注意**  
DSSE-KMS 不支援 S3 儲存貯體金鑰。

1. 選擇**儲存變更**。

## 使用 AWS CLI
<a name="default-bucket-encryption-cli"></a>

這些範例說明如何使用 SSE-S3 或具有 S3 儲存貯體金鑰的 SSE-KMS 來設定預設加密。

如需預設加密的詳細資訊，請參閱[對 Amazon S3 儲存貯體設定預設伺服器端加密行為](bucket-encryption.md)。如需使用 AWS CLI 設定預設加密的詳細資訊，請參閱 [put-bucket-encryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-encryption.html)。

**Example – 使用 SSE-S3 預設加密**  
此範例會使用 Amazon S3 受管金鑰設定預設儲存貯體加密。  

```
aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{
    "Rules": [
        {
            "ApplyServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
            }
        }
    ]
}'
```

**Example – 使用 S3 儲存貯體金鑰以 SSE-KMS 預設加密**  
此範例會使用 S3 儲存貯體金鑰，以 SSE-KMS 設定預設儲存貯體加密。  

```
aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{
    "Rules": [
            {
                "ApplyServerSideEncryptionByDefault": {
                    "SSEAlgorithm": "aws:kms",
                    "KMSMasterKeyID": "KMS-Key-ARN"
                },
                "BucketKeyEnabled": true
            }
        ]
    }'
```

## 使用 REST API
<a name="bucket-encryption-how-to-set-up-api"></a>

使用 REST API `PutBucketEncryption` 操作來啟用預設加密，以及設定要使用的伺服器端加密類型 (SSE-S3、SSE-KMS 或 DSSE-KMS)。

如需詳細資訊，請參閱 Amazon Simple Storage Service API 參考**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html)。