

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

# AWS KMS keys
<a name="concepts"></a><a name="key-mgmt"></a><a name="kms_keys"></a>

您為在自己的密碼編譯應用程式中使用而建立和管理的 KMS 金鑰類型稱為*客戶受管金鑰*。客戶受管金鑰也可以與使用 KMS 金鑰的 AWS 服務搭配使用，以代您加密服務存放的資料。對於希望完全控制金鑰生命週期和用量的客戶，建議使用客戶受管金鑰。您的帳戶中有客戶受管金鑰需要每月成本。此外，請求使用和/或管理金鑰會產生使用成本。如需詳細資訊，請參閱 [AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing/)。

在某些情況下，客戶可能希望 AWS 服務加密其資料，但他們不希望管理金鑰的額外負荷，也不想支付金鑰的費用。*AWS 受管金鑰* 是存在於您帳戶中的 KMS 金鑰，但只能在特定情況下使用。具體而言，它只能在您操作 AWS 的服務內容中使用，並且只能由 帳戶中存在金鑰的主體使用。您無法管理有關這些金鑰生命週期或許可的任何內容。當您在 AWS 服務中使用加密功能時，您可能會看到 AWS 受管金鑰；它們使用「aws<service code>」形式的別名。例如， `aws/ebs`金鑰只能用來加密 EBS 磁碟區，而且只能用於與金鑰相同帳戶中的 IAM 主體所使用的磁碟區。請考慮 AWS 受管金鑰 縮小範圍的 ，僅供您帳戶中的使用者用於您帳戶中的資源。您無法 AWS 受管金鑰 與其他 帳戶共用在 下加密的資源。雖然 AWS 受管金鑰 可以免費存在於您的帳戶中，但指派給金鑰 AWS 的服務會向您收取任何使用此金鑰類型的費用。

AWS 受管金鑰 是自 2021 年起不再為新 AWS 服務建立的舊版金鑰類型。反之，新的 （和舊版） AWS 服務預設會使用所謂的 *AWS 擁有的金鑰*來加密客戶資料。是一種 AWS 擁有的金鑰 KMS 金鑰，位於由 AWS 服務管理的帳戶中，因此服務運算子能夠管理其生命週期和使用許可。透過使用 AWS 擁有的金鑰， AWS 服務可以透明地加密您的資料，並允許輕鬆跨帳戶或跨區域共用資料，而無需擔心金鑰許可。 AWS 擁有的金鑰 用於encryption-by-default工作負載，提供更輕鬆、更自動化的資料保護。由於這些金鑰是由 擁有和管理 AWS，因此您不需要支付其存在或其用量的費用，您無法變更其政策，也無法稽核這些金鑰的活動，也無法刪除它們。在控制很重要時使用客戶受管金鑰，但在便利性最重要 AWS 擁有的金鑰 時使用。


|  |  |  |  | 
| --- |--- |--- |--- |
|  |  客戶受管金鑰  |  AWS 受管金鑰  |  AWS 擁有的金鑰  | 
|  金鑰政策  | 由客戶獨家控制 | 由服務控制；可由客戶檢視 | 完全控制且只能由加密資料的 AWS 服務檢視 | 
|  日誌  | CloudTrail 客戶追蹤或事件資料存放區 | CloudTrail 客戶追蹤或事件資料存放區 | 客戶無法檢視 | 
|  生命週期管理  | 客戶管理輪換、刪除和區域位置 | AWS KMS 管理輪換 （每年）、刪除和區域位置 | AWS 服務 管理輪換、刪除和區域位置 | 
|  定價  |  金鑰存在的每月費用 （每小時按比例）。也會針對金鑰使用量收費  | 不收取月費；但呼叫者需要支付這些金鑰上的 API 使用費 | 不向客戶收費 | 

您建立的 KMS 金鑰是[客戶受管金鑰](#customer-mgn-key)。使用 KMS 金鑰來加密您的服務資源的 AWS 服務 通常會為您建立金鑰。在您的 AWS 帳戶中 AWS 服務 建立的 KMS 金鑰為 [AWS 受管金鑰](#aws-managed-key)。在服務帳戶中 AWS 服務 建立的 KMS 金鑰為 [AWS 擁有的金鑰](#aws-owned-key)。


| KMS 金鑰類型 | 可以檢視 KMS 金鑰中繼資料 | 可以管理 KMS 金鑰 | 僅用於我的 AWS 帳戶 | [自動旋轉](rotate-keys.md) | [定價](https://aws.amazon.com/kms/pricing/) | 
| --- | --- | --- | --- | --- | --- | 
| [客戶受管金鑰](#customer-mgn-key) | 是 | 是 | 是 | 選用。 | 月費 (按小時比例計算)每次使用費 | 
| [AWS 受管金鑰](#aws-managed-key) | 是 | 否 | 是 | 必要. 每年 （約 365 天）。 | 沒有月費使用費 （有些會為您 AWS 服務 支付此費用） | 
| [AWS 擁有的金鑰](#aws-owned-key) | 否 | 否 | 否 |  AWS 服務 管理輪換策略 | 沒有費用 | 

[AWS 與 整合的 服務 AWS KMS](service-integration.md)在對 KMS 金鑰的支援方面有所不同。有些 AWS 服務預設會使用 AWS 擁有的金鑰 或 來加密您的資料 AWS 受管金鑰。有些 AWS 服務支援客戶受管金鑰。其他服務 AWS 支援所有類型的 KMS 金鑰，讓您能夠輕鬆使用 AWS 擁有的金鑰、 的可見性 AWS 受管金鑰，或控制客戶受管金鑰。如需 AWS 服務提供的加密選項詳細資訊，請參閱《 使用者指南》中的*靜態加密*主題或服務開發人員指南》。

## 客戶自管金鑰
<a name="customer-mgn-key"></a>

您建立的 KMS 金鑰是*客戶受管金鑰*。客戶受管金鑰是您建立、擁有和管理 AWS 帳戶 之 中的 KMS 金鑰。您可以完全控制這些 KMS 金鑰，包括建立和維護其[金鑰政策、IAM 政策和授予](control-access.md)、[啟用和停用](enabling-keys.md)這些項目、[輪換其密碼編譯材料](rotate-keys.md)、[新增標籤](tagging-keys.md)、[建立參考 KMS 金鑰的別名](alias-create.md)，以及[排程 KMS 金鑰供刪除](deleting-keys.md)。

客戶受管金鑰會出現在 AWS KMS的 AWS 管理主控台 **客戶受管金鑰**頁面。如要明確識別客戶受管金鑰，請使用 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) 操作。對於客戶受管金鑰，`DescribeKey` 回應的 `KeyManager` 欄位值是 `CUSTOMER`。

您可以在密碼編譯操作中使用您的客戶受管金鑰，並在 AWS CloudTrail 日誌中稽核其使用情形。此外，許多[與 AWS KMS整合的AWS 服務](service-integration.md)可讓您指定客戶受管金鑰，以保護為您存放和管理的資料。

客戶受管金鑰會衍生每月費用，以及超出免費方案部分的使用費用。它們會計入您帳戶的 AWS KMS [配額](limits.md)。如需詳細資訊，請參閱 [AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing/)和[配額](limits.md)。

## AWS 受管金鑰
<a name="aws-managed-key"></a>

*AWS 受管金鑰* 是帳戶中的 KMS 金鑰，由[AWS 與 整合 AWS KMS](https://aws.amazon.com/kms/features/#AWS_Service_Integration)的 服務代表您建立、管理和使用。

有些 AWS 服務可讓您選擇 AWS 受管金鑰 或客戶受管金鑰，以保護該服務中的資源。一般而言，除非您需要控制保護 資源的加密金鑰，否則 AWS 受管金鑰 是不錯的選擇。您不需要建立或維護金鑰或其金鑰政策，而且 AWS 受管金鑰永遠沒有月費。

您有權[檢視帳戶中的 AWS 受管金鑰](viewing-keys.md)、[檢視其金鑰政策](key-policy-viewing.md)，以及[稽核其在 日誌中的使用](logging-using-cloudtrail.md)情形。 AWS CloudTrail 不過，您無法變更任何屬性 AWS 受管金鑰、輪換它們、變更其金鑰政策，或排定刪除它們。此外，您無法直接 AWS 受管金鑰 在密碼編譯操作中使用 ；建立它們的服務會代表您使用它們。

組織中[的資源控制政策](resource-control-policies.md)不適用於 AWS 受管金鑰。

AWS 受管金鑰 會出現在 AWS 管理主控台 的 **AWS 受管金鑰**頁面上 AWS KMS。您也可以 AWS 受管金鑰 依別名識別，其格式為 `aws/service-name`，例如 `aws/redshift`。若要明確識別 AWS 受管金鑰，請使用 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) 操作。對於 AWS 受管金鑰，`DescribeKey` 回應的 `KeyManager` 欄位值是 `AWS`。

所有 AWS 受管金鑰 都會每年自動輪換。您無法變更此輪換排程。

**注意**  
在 2022 年 5 月， 的輪換排程 AWS 受管金鑰 從每三年 （約 1，095 天） AWS KMS 變更為每年 （約 365 天）。

不收取月費 AWS 受管金鑰。超過免費方案可能需要支付使用費，但有些 AWS 服務會為您支付這些費用。如需詳細資訊，請參閱該服務使用者指南或開發人員指南中的*靜態加密*主題。如需詳細資訊，請參閱 [AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing/)。

AWS 受管金鑰 不會計入您帳戶每個區域中 KMS 金鑰數量的資源配額。但是，如果代表您帳戶中的委託人使用，則會將 KMS 金鑰計入請求配額中。如需詳細資訊，請參閱[配額](limits.md)。

## AWS 擁有的金鑰
<a name="aws-owned-key"></a>

*AWS 擁有的金鑰* 是 AWS 服務擁有和管理用於多個 的 KMS 金鑰集合 AWS 帳戶。雖然 AWS 擁有的金鑰 不在您的 中 AWS 帳戶，但 AWS 服務可以使用 AWS 擁有的金鑰 來保護您帳戶中的資源。

有些 AWS 服務可讓您選擇 AWS 擁有的金鑰 或客戶受管金鑰。一般而言，除非您需要稽核或控制保護 資源的加密金鑰，否則 AWS 擁有的金鑰 是不錯的選擇。 AWS 擁有的金鑰 完全免費 （無需每月費用或使用費），它們不會計入您帳戶的[AWS KMS 配額](limits.md)，而且易於使用。您不需要建立或維護金鑰或其金鑰政策。

的輪換會因服務 AWS 擁有的金鑰 而異。如需特定 輪換的相關資訊 AWS 擁有的金鑰，請參閱 服務使用者指南或開發人員指南中的*靜態加密*主題。

## AWS KMS key 階層
<a name="key-hierarchy"></a>

您的金鑰階層從最上層邏輯金鑰 開始 AWS KMS key。KMS 金鑰代表頂層金鑰材料的容器，並且在 AWS 服務命名空間內使用 Amazon Resource Name (ARN) 進行專屬定義。ARN 包括專屬產生的金鑰識別符，*金鑰 ID*。KMS 金鑰是根據使用者透過 提出的請求所建立 AWS KMS。接收時， AWS KMS 會請求建立要放置在 KMS 金鑰容器中的初始 HSM 備份金鑰 (HBK)。HBK 是在網域中的 HSM 上產生的，並且設計為永遠不會以純文字形式從 HSM 匯出。相反地，HBK 會在受 HSM 管理的網域金鑰下加密匯出。這些匯出的 HBK 稱為匯出的金鑰字符 (EKT)。

EKT 會匯出至高度耐用、低延遲的儲存體。例如，假設您收到邏輯 KMS 金鑰的 ARN。這代表您的金鑰階層或密碼編譯內容的頂端。您可以在帳戶中建立多個 KMS 金鑰，並在 KMS 金鑰上設定政策，就像任何其他 AWS 具名資源一樣。

在特定 KMS 金鑰的階層中，HBK 可以被視為 KMS 金鑰的版本。當您想要輪換 KMS 金鑰時 AWS KMS，會建立新的 HBK，並與 KMS 金鑰建立關聯，做為 KMS 金鑰的作用中 HBK。系統會保留較舊的 HBK，可用來解密和驗證先前受保護的資料。但是，只有作用中的密碼編譯金鑰可以用來保護新的資訊。

![\[AWS KMS key 階層。\]](http://docs.aws.amazon.com/zh_tw/kms/latest/developerguide/images/CMK-Hierarchy.png)


您可以透過 提出請求 AWS KMS ，以使用 KMS 金鑰直接保護資訊，或請求受 KMS 金鑰保護的其他 HSM 產生的金鑰。這些金鑰稱為客戶資料金鑰 (CDK)。CDK 可以傳回加密為加密文字 (CT)，純文字，或兩者兼而有之。在 KMS 金鑰下加密的所有物件 （客戶提供的資料或 HSM 產生的金鑰） 只能透過呼叫在 HSM 上解密 AWS KMS。

傳回的加密文字或解密的承載永遠不會存放在其中 AWS KMS。資訊會透過至 AWS KMS的 TLS 連線傳回給您。這也適用於 AWS 服務代表您進行的呼叫。

金鑰階層和特定金鑰屬性會出現在下表中。


| 金鑰 | Description | 生命週期 | 
| --- | --- | --- | 
|  **網域金鑰**  |  僅在 HSM 記憶體中用來包裝 KMS 金鑰 (HSM 備份金鑰) 版本的 256 位元 AES-GCM 金鑰。  |  每日輪換 1  | 
|  **HSM 備份金鑰**  |  256 位元對稱金鑰或 RSA 或橢圓曲線私有金鑰，用於保護客戶資料和金鑰，並以網域金鑰加密存放。一個或多個 HSM 備份金鑰由 KMS 金鑰組成，用 keyId 表示。  |  每年輪換 2 (選用組態)  | 
|  **衍生的加密金鑰**  |  僅在 HSM 記憶體中用來加密客戶資料和金鑰的 256 位元 AES-GCM 金鑰。從每個加密的 HBK 衍生。  |  每次加密使用一次，並在解密時重新產生   | 
|  **客戶資料金鑰**  |  以純文字和加密文字從 HSM 匯出之使用者定義的對稱或非對稱金鑰。 在 HSM 備份金鑰下加密，並透過 TLS 通道傳回給授權的使用者。  |  輪換和使用由應用程式控制  | 

1 AWS KMS 可能不時放寬網域金鑰輪換至最多每週一次，以考慮網域管理和組態任務。

2 AWS KMS 代表您 AWS 受管金鑰 建立和管理的預設 會每年自動輪換。

## 金鑰識別符 (KeyID)
<a name="key-id"></a>

金鑰識別符形同 KMS 金鑰的名稱，可幫助您在主控台中識別您的 KMS 金鑰。您可以使用它們指出要在 AWS KMS API 操作、金鑰政策、IAM 政策和授予中使用的 KMS 金鑰。金鑰識別符的值與 KMS 金鑰相關聯的金鑰資料完全無關。

AWS KMS 定義數個金鑰識別符。當您建立 KMS 金鑰時， AWS KMS 會產生金鑰 ARN 和金鑰 ID，這是 KMS 金鑰的屬性。當您建立[別名](kms-alias.md)時， 會根據您定義的別名名稱 AWS KMS 產生別名 ARN。您可以在 和 AWS KMS API 中檢視金鑰 AWS 管理主控台 和別名識別符。

在 AWS KMS 主控台中，您可以依金鑰 ARN、金鑰 ID 或別名名稱檢視和篩選 KMS 金鑰，並依金鑰 ID 和別名名稱排序。如需在主控台中尋找金鑰識別符的說明，請參閱[尋找金鑰 ID 和金鑰 ARN](find-cmk-id-arn.md)。

在 AWS KMS API 中，您用來識別 KMS 金鑰的參數會命名為 `KeyId`或變化，例如 `TargetKeyId`或 `DestinationKeyId`。不過，這些參數的數值並不限於金鑰 ID。有些參數可以接受任何有效的金鑰識別符。如需每個參數值的相關資訊，請參閱 AWS Key Management Service API 參考中的參數描述。

**注意**  
使用 AWS KMS API 時，請注意您使用的金鑰識別符。不同的 API 需要不同的金鑰識別符。一般而言，請使用您任務適用之最完整且最實用的金鑰識別符。

AWS KMS 支援下列金鑰識別符。

**金鑰 ARN**  <a name="key-id-key-ARN"></a>
金鑰 ARN 是 KMS 金鑰的 Amazon Resource Name (ARN)。它是 KMS 金鑰唯一、完全合格的識別符。金鑰 ARN 包含 AWS 帳戶、 區域和金鑰 ID。如需尋找 KMS 金鑰的金鑰 ARN 說明，請參閱 [尋找金鑰 ID 和金鑰 ARN](find-cmk-id-arn.md)。  
金鑰 ARN 的格式如下：  

```
arn:<partition>:kms:<region>:<account-id>:key/<key-id>
```
以下是單一區域 KMS 金鑰的範例金鑰 ARN。  

```
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
```
[多區域金鑰](multi-region-keys-overview.md)之金鑰 ARN 的 *key-id* 元素以 `mrk-` 字首開頭。以下是多區域金鑰的範例金鑰 ARN。  

```
arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab
```

**金鑰 ID**  <a name="key-id-key-id"></a>
金鑰 ID 可唯一地識別帳戶和區域內的 KMS 金鑰。如需尋找 KMS 金鑰的金鑰 ID 說明，請參閱 [尋找金鑰 ID 和金鑰 ARN](find-cmk-id-arn.md)。  
以下是單一區域 KMS 金鑰的範例金鑰 ID。  

```
1234abcd-12ab-34cd-56ef-1234567890ab
```
[多區域金鑰](multi-region-keys-overview.md)的金鑰 ID 以 `mrk-` 字首開頭。以下是多區域金鑰的範例金鑰 ID。  

```
mrk-1234abcd12ab34cd56ef1234567890ab
```

**別名 ARN**  <a name="key-id-alias-ARN"></a>
別名 ARN 是別名的 Amazon Resource Name AWS KMS (ARN)。它是別名及其代表的 KMS 金鑰唯一、完全合格的識別符。別名 ARN 包含 AWS 帳戶、 區域和別名名稱。  
別名 ARN 在任何時候可識別一個特定的 KMS 金鑰。不過，因為您可以變更與別名相關聯的 KMS 金鑰，所以別名 ARN 可以在不同的時間識別不同的 KMS 金鑰。如需尋找 KMS 金鑰的別名 ARN 說明，請參閱 [尋找 KMS 金鑰的別名名稱和別名 ARN](alias-view.md)。  
別名 ARN 的格式如下：  

```
arn:<partition>:kms:<region>:<account-id>:alias/<alias-name>
```
以下是虛構 `ExampleAlias` 的 ARN 別名。  

```
arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
```

**別名名稱**  <a name="key-id-alias-name"></a>
別名名稱是最多 256 個字元的字串。其可唯一地識別帳戶和區域內關聯的 KMS 金鑰。在 AWS KMS API 中，別名名稱一律以 開頭`alias/`。如需尋找 KMS 金鑰之別名名稱的說明，請參閱 [尋找 KMS 金鑰的別名名稱和別名 ARN](alias-view.md)。  
別名的格式如下：  

```
alias/<alias-name>
```
例如：  

```
alias/ExampleAlias
```
別名名稱的 `aws/` 字首預留給 [AWS 受管金鑰](#aws-managed-key)。您無法使用此字首建立別名。例如，Amazon Simple Storage Service (Amazon S3) AWS 受管金鑰 的別名名稱如下。  

```
alias/aws/s3
```

# 中的非對稱金鑰 AWS KMS
<a name="symmetric-asymmetric"></a>

*非對稱 KMS 金鑰*表示以數學方式相關的公有金鑰和私有金鑰對。您可以將公有金鑰提供給任何人，即使不受信任的人也可以，但私有金鑰則一定要保管好。

在非對稱 KMS 金鑰中，私有金鑰是在 中建立 AWS KMS ，絕不會保持 AWS KMS 未加密狀態。若要使用私有金鑰，您必須呼叫 AWS KMS。您可以透過呼叫 AWS KMS API 操作 AWS KMS ，在 中使用公有金鑰。或者，您可以[下載公有金鑰](download-public-key.md)並在外部使用 AWS KMS。

如果您的使用案例需要無法呼叫的使用者 AWS 在 外部加密 AWS KMS，非對稱 KMS 金鑰是不錯的選擇。不過，如果您要建立 KMS 金鑰來加密您在 AWS 服務中存放或管理的資料，請使用對稱加密 KMS 金鑰。[AWS 與 整合的 服務 AWS KMS](https://aws.amazon.com/kms/features/#AWS_Service_Integration)只會使用對稱加密 KMS 金鑰來加密您的資料。這些服務不支援使用非對稱 KMS 金鑰進行加密。

使用 簽署大於 4 KB 的訊息時 AWS KMS，您必須在簽署 AWS KMS 之前對 外部的訊息進行雜湊。 AWS KMS 提供三種處理訊息輸入`MessageType`的選項：`RAW`純文字訊息 （其中 AWS KMS 執行雜湊）、預先雜湊訊息 `DIGEST` （其中 AWS KMS 略過雜湊步驟），以及`EXTERNAL_MU`特別是輸入為 64 位元組代表 μ 值的 ML-DSA KMS 金鑰規格。對於超過 4 KB 限制的大型訊息，請在外部雜湊訊息，並在 calling AWS KMS [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) and AWS KMS [Verify](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) 操作時使用 [https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType)（或 [https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html#KMS-Sign-request-MessageType) ML-DSA KMS 金鑰）。

AWS KMS 支援多種類型的非對稱 KMS 金鑰。

**RSA KMS 金鑰**  
具有 RSA 金鑰對的 KMS 金鑰，用於加密和解密或簽署和驗證 （但不能同時進行兩者）。 AWS KMS 支援多種金鑰長度，以滿足不同的安全需求。  
如需 AWS KMS 支援 RSA KMS 金鑰之加密和簽署演算法的技術詳細資訊，請參閱 [RSA 金鑰規格](symm-asymm-choose-key-spec.md#key-spec-rsa)。

**橢圓曲線 (ECC) KMS 金鑰**  
具有橢圓曲線金鑰對的 KMS 金鑰，用於簽署和驗證或衍生共用秘密 （但不能同時產生兩者）。 AWS KMS 支援數個常用的曲線。  
如需 AWS KMS 支援 ECC KMS 金鑰之簽署演算法的技術詳細資訊，請參閱[橢圓曲線金鑰規格](symm-asymm-choose-key-spec.md#key-spec-ecc)。

**ML-DSA KMS 金鑰**  
具有 ML-DSA 金鑰對的 KMS 金鑰，用於簽署和驗證。ML-DSA 是由美國國家標準技術研究所 (NIST) 開發的量子後密碼編譯標準，可防止量子運算帶來的安全威脅。ML-DSA 是從 RSA 或橢圓曲線數位簽章演算法轉換為量子後安全密碼編譯的組織建議使用的數位簽章演算法。  
AWS KMS 支援多種金鑰長度，以滿足不同的安全需求。如需 AWS KMS 支援 ML-DSA KMS 金鑰之簽署演算法的技術詳細資訊，請參閱 [ML-DSA 金鑰規格](symm-asymm-choose-key-spec.md#key-spec-mldsa)。

**SM2 KMS 金鑰 （僅限中國區域）**  
具有 SM2 金鑰對的 KMS 金鑰，用於加密和解密、簽署和驗證，或衍生共用秘密 （您必須選擇一個[Key usage](create-keys.md#key-usage)類型）。  
如需 AWS KMS 支援 SM2 KMS 金鑰的加密和簽署演算法技術詳細資訊 （僅限中國區域），請參閱 [SM2 金鑰規格](symm-asymm-choose-key-spec.md#key-spec-sm)。

如需有關如何選擇非對稱金鑰組態的說明，請參閱[選擇要建立的 KMS 金鑰類型](create-keys.md#symm-asymm-choose)。

**區域**

 AWS 區域 AWS KMS 支援的所有 都支援非對稱 KMS 金鑰和非對稱資料金鑰對。

**進一步了解**
+ 若要建立非對稱 KMS 金鑰，請參閱 [建立非對稱 KMS 金鑰](asymm-create-key.md)。
+ 若要建立多區域非對稱 KMS 金鑰，請參閱[建立多區域主索引鍵](create-primary-keys.md)。
+ 若要了解如何使用非對稱 KMS 金鑰簽署訊息並驗證簽章，請參閱 *AWS 安全部落格*中的[使用 AWS KMS新的非對稱金鑰功能進行數位簽署](https://aws.amazon.com/blogs/security/digital-signing-asymmetric-keys-aws-kms/)。
+ 若要了解刪除非對稱 KMS 金鑰的特殊考量，請參閱 [Deleting asymmetric KMS keys](deleting-keys.md#deleting-asymmetric-cmks)。
+ 若要識別和檢視非對稱 KMS 金鑰，請參閱 [識別非對稱 KMS 金鑰](identify-key-types.md#identify-asymm-keys)。

# 中的 HMAC 金鑰 AWS KMS
<a name="hmac"></a>

雜湊訊息驗證碼 (HMAC) KMS 金鑰是對稱金鑰，用於在 AWS KMS中產生和驗證 HMAC。與每個 HMAC KMS 金鑰關聯的唯一金鑰資料提供了 HMAC 演算法所需的私密金鑰。您可以將 HMAC KMS 金鑰與 `[GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html)` 和 [https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html) 操作搭配使用來驗證 AWS KMS之中的資料完整性和真實性。

HMAC 演算法結合了密碼編譯雜湊函數和共享私密金鑰。它們接受訊息和私密金鑰 (如 HMAC KMS 金鑰中的金鑰資料)，並傳回一個唯一且固定大小的代碼或*標籤*。如果訊息中即使只有一個字元更改，或者私密金鑰不相同，則產生的標籤將完全不同。透過要求私密金鑰，HMAC 還提供了真實性；如果沒有私密金鑰，就無法產生相同的 HMAC 標籤。HMAC 有時被稱為*對稱簽章*，因為它們的運作方式類似於數位簽章，但使用單一金鑰進行簽署和驗證。

 AWS KMS 使用 的 HMAC KMS 金鑰和 HMAC 演算法符合 [RFC 2104 ](https://datatracker.ietf.org/doc/html/rfc2104)中定義的產業標準。 AWS KMS [GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html) 操作會產生標準 HMAC 標籤。HMAC KMS 金鑰是在根據 [FIPS 140-3 密碼編譯模組驗證計劃](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884) （中國 （北京） 和中國 （寧夏） 區域除外） 認證的 AWS KMS 硬體安全模組中產生，絕不會保持 AWS KMS 未加密狀態。若要使用 HMAC KMS 金鑰，必須呼叫 AWS KMS。

您可使用 HMAC KMS 金鑰來確定訊息的真實性，例如 JSON Web 字符 (JWT)、字符化的信用卡資訊或提交的密碼。它們還可以用作安全金鑰衍生函數 (KDF)，特別是在需要確定性金鑰的應用程式中。

HMAC KMS 金鑰提供優於應用程式軟體 HMACs的優勢，因為金鑰材料完全在內部產生和使用 AWS KMS，取決於您在金鑰上設定的存取控制。

**提示**  
最佳實務是建議您限制任何簽名機制 (包括 HMAC) 的有效時間。這可以阻止攻擊者使用簽署的訊息反覆建立有效性攻擊或在訊息被取代很長時間後反覆建立有效性攻擊。HMAC 標籤不包含時間戳記，但您可以在字符或訊息中包含時間戳記，以幫助您偵測何時重新整理 HMAC。

**支援的密碼編譯操作**  
HMAC KMS 金鑰僅支援 [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html) 和 [https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html) 密碼編譯操作。您無法使用 HMAC KMS 金鑰來加密資料或簽署訊息，或在 HMAC 操作中使用任何其他類型的 KMS 金鑰。使用 `GenerateMac` 操作時，您可以提供最多 4,096 個位元組的訊息、一個 HMAC KMS 金鑰以及與 HMAC 金鑰規格相容的 MAC 演算法，`GenerateMac` 會運算 HMAC 標籤。若要驗證 HMAC 標籤，您必須提供 HMAC 標籤以及 `GenerateMac` 用來運算原始 HMAC 標籤的相同訊息、HMAC KMS 金鑰以及 MAC 演算法。`VerifyMac` 操作會運算 HMAC 標籤並驗證它是否與提供的 HMAC 標籤相同。如果輸入和運算得出的 HMAC 標籤不相同，驗證會失敗。  
HMAC KMS 金鑰*不*支援[金鑰自動輪換](rotate-keys.md)，而且您無法在[自訂金鑰存放區](key-store-overview.md#custom-key-store-overview)建立 HMAC KMS 金鑰。  
如果您要建立 KMS 金鑰來加密 AWS 服務中的資料，請使用對稱加密金鑰。您無法使用 HMAC KMS 金鑰。

**區域**  
所有 支援的 都 AWS KMS 支援 HMAC KMS AWS 區域 金鑰。

**進一步了解**
+ 若要建立 HMAC KMS 金鑰，請參閱 [建立 HMAC KMS 金鑰](hmac-create-key.md)。
+ 若要建立多區域 HMAC KMS 金鑰，請參閱 [中的多區域金鑰 AWS KMS](multi-region-keys-overview.md)。
+ 若要檢查 AWS KMS 主控台為 HMAC KMS 金鑰設定的預設金鑰政策差異，請參閱 [允許金鑰使用者在密碼編譯操作中使用 KMS 金鑰](key-policy-default.md#key-policy-users-crypto)。
+ 若要識別和檢視 HMAC KMS 金鑰，請參閱 [識別 HMAC KMS 金鑰](identify-key-types.md#hmac-view)。
+ 若要了解有關使用 HMAC 建立 JSON Web 字符的詳細資訊，請參閱《*AWS 安全部落格*》中的「[如何在 AWS KMS內保護 HMAC](https://aws.amazon.com/blogs/security/how-to-protect-hmacs-inside-aws-kms/)」。
+ 在*官方 AWS Podcast* 上收聽 Podcast：[AWS Key Management Service的 HMAC 簡介](https://aws.amazon.com/podcasts/introducing-hmacs-apis-in-aws-key-management-service)。

# 中的 ML-DSA 金鑰 AWS KMS
<a name="mldsa"></a>

AWS Key Management Service (AWS KMS) 支援用於量子後密碼編譯簽章的 Module-Lattice 數位簽章演算法 (ML-DSA)。此實作遵循[聯邦資訊處理標準 (FIPS) 204 標準](https://csrc.nist.gov/pubs/fips/204/final)，以協助防範未來的量子運算威脅。 會在 FIPS 140-3 安全層級 3 驗證的硬體安全模組中 AWS KMS 建立並保護所有 ML-DSA 金鑰和簽章操作。為了協助平衡安全性與效能， 中的 ML-DSA 透過不同的金鑰規格 AWS KMS 提供三種不同的安全層級：ML\$1DSA\$144、ML\$1DSA\$165 和 ML\$1DSA\$187。

AWS KMS 支援使用 訊息類型對高達 4 KB `RAW`的訊息進行非對稱金鑰簽章。對於較大的訊息，您必須外部運算用於 ML-DSA 簽署的 64 位元組訊息表示 μ，如 NIST FIPS 204 第 6.2 節所定義。在 AWS KMS [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) 操作中使用`EXTERNAL_MU`訊息類型來指定此預先處理的 64 位元組訊息。外部計算的 μ 所產生的簽章與使用相同訊息和私有金鑰`RAW`時的簽章相同。請注意，此簽署不同於 NIST FIPS 204 第 5.4 節中的「雜湊前」ML-DSA 或 HashML-DSA。

如需使用 ML-DSA 和 EXTERNAL\$1MU 訊息類型的詳細資訊，請參閱 [ML-DSA 金鑰規格](symm-asymm-choose-key-spec.md#key-spec-mldsa)。

如需使用 ML-DSA 和 EXTERNAL\$1MU 訊息類型的範例，請參閱 [使用 ML-DSA 金鑰對進行離線驗證](offline-operations.md#mldsa-offline-verification)。

# 中的多區域金鑰 AWS KMS
<a name="multi-region-keys-overview"></a>

AWS KMS 支援*多區域金鑰*，這些金鑰 AWS KMS keys 位於不同的 AWS 區域 中，可以互換使用 – 就像您在多個區域中擁有相同的金鑰一樣。每組*相關的*多區域金鑰都有相同的金鑰材料和[金鑰 ID](concepts.md#key-id-key-id)，因此您可以加密一個 中的資料 AWS 區域 ，並在不同的 中解密資料， AWS 區域 而無需重新加密或進行跨區域呼叫 AWS KMS。

如同所有 KMS 金鑰，多區域金鑰永遠不會保持 AWS KMS 未加密狀態。您可以建立對稱或非對稱多區域金鑰以進行加密或簽署，或是建立 HMAC 多區域金鑰以產生和驗證 HMAC 標籤，或是建立[含有匯入金鑰資料或 AWS KMS 產生之金鑰資料的多區域金鑰](importing-keys.md)。您必須獨立管理每個多區域金鑰，包括建立別名和標籤、設定其金鑰政策和授予，以及選擇性地將其啟用和停用。您可以在所有可以使用單一區域金鑰執行的密碼編譯操作中使用多區域金鑰。

多區域金鑰是靈活且強大的解決方案，適用於許多常見的資料安全案例。

**災難復原 **  
在備份和復原架構中，多區域金鑰可讓您在不中斷的情況下處理加密的資料，即使發生 AWS 區域 中斷也一樣。備份區域中維護的資料可以在備份區域中解密，備份區域中新加密的資料可以在主要區域 (當該區域還原時) 中解密。

**全域資料管理**  
全球營運的企業需要全球分散式資料，這些資料可一致地跨 AWS 區域提供。您可以在資料所在的所有區域中建立多區域金鑰，然後將金鑰當作單一區域金鑰使用，以避免跨區域呼叫的延遲，或是在每個區域中不同金鑰下重新加密資料的成本。

**分散式簽署應用程式**  
需要跨區域簽章功能的應用程式可以使用多區域非對稱簽署金鑰，在不同 AWS 區域中一致且重複地產生相同的數位簽章。  
如果您將憑證鏈結與單一全域信任存放區 (針對單一根憑證授權機構 (CA)) 和根 CA 簽署的區域中繼 CA，則不需要多區域金鑰。不過，如果您的系統不支援中繼 CA (例如應用程式簽署)，則可以使用多區域金鑰來為區域認證提供一致性。

**跨越多個區域的主動-主動應用程式**  
某些工作負載和應用程式可以跨越主動-主動架構中的多個區域。對於這些應用程式，透過為針對可能跨區域邊界移動之資料的同時加密和解密操作提供相同的金鑰材料，多區域金鑰可以降低複雜性。

您可以搭配用戶端加密程式庫使用多區域金鑰，例如 [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/)、[AWS 資料庫加密 SDK](https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/) 和 [Amazon S3 用戶端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html)。

[AWS 與 整合以進行靜態加密或數位簽章的大多數 服務 AWS KMS](https://aws.amazon.com/kms/features/)，目前會將多區域金鑰視為單一區域金鑰。其可能會重新包裝或重新加密在區域之間移動的資料。例如，即使在複寫受多區域金鑰保護的物件時，Amazon S3 跨區域複寫仍會解密並重新加密目的地區域中 KMS 金鑰下的資料。請參閱服務特定的文件，以了解服務如何複寫加密的資料，以及是否以不同的方式處理多區域金鑰。

多區域金鑰不適用於全域。您建立多區域主要金鑰，然後將其複寫到您在 [AWS 分割區](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)內選取的區域中。然後，您可以獨立管理每個區域中的多區域金鑰。 AWS AWS KMS 永遠不會代表您自動將多區域金鑰建立或複寫到任何區域。 [AWS 受管金鑰](concepts.md#aws-managed-key)是 AWS 服務在您帳戶中為您建立的 KMS 金鑰，一律是單一區域金鑰。

在中國區域中，您可以使用多區域金鑰功能，在中國區域分割區 () 中複寫 KMS 金鑰`aws-cn`。例如，您可以將金鑰從中國 （北京） 區域複寫到中國 （寧夏） 區域，或反向複寫。透過將金鑰從一個中國區域複寫到另一個中國區域，您同意使用 AWS Key Management Service 目的地區域的 ，並遵守目的地區域的所有適用協議條款。您無法將金鑰從北京和寧夏區域複寫到中國區域分割區 AWS 以外的區域。同樣地，您無法將金鑰從中國區域分區以外的區域複寫到北京和寧夏區域。

您無法將現有的單一區域金鑰轉換為多區域金鑰。此設計可確保所有受現有單一區域金鑰保護的資料都維持相同的資料落地和資料主權屬性。

對於大多數資料安全需求，區域資源的區域隔離和容錯能力使標準 AWS KMS 單一區域金鑰成為最適合的解決方案。不過，當您需要跨多個區域加密或簽署用戶端應用程式中的資料時，多區域金鑰可能就是解決方案。



**區域**

支援的所有 AWS KMS 都支援多區域金鑰 AWS 區域 。

**定價和配額**

一組相關多區域金鑰中的每個金鑰都會計為一個 KMS 金鑰，用於定價和配額。[AWS KMS 配額](limits.md)會針對帳戶的每個區域個別計算。在每個區域中使用和管理多區域金鑰會計為該區域的配額。

**支援的 KMS 金鑰類型**

您可以建立以下類型的多區域 KMS 金鑰：
+ 對稱加密 KMS 金鑰
+ 非對稱 KMS 金鑰
+ HMAC KMS 金鑰
+ 包含匯入金鑰資料的 KMS 金鑰

您無法在自訂金鑰存放區建立多區域金鑰。

**進一步了解**
+ 若要了解如何控制對多區域 KMS 金鑰的存取，請參閱 [控制對多區域金鑰的存取](multi-region-keys-auth.md)。
+ 若要建立任何類型的多區域主要 KMS 金鑰，請參閱 [建立多區域主索引鍵](create-primary-keys.md)。
+ 若要建立多區域複本 KMS 金鑰，請參閱 [建立多區域複本金鑰](multi-region-keys-replicate.md)。
+ 若要更新主要區域，請參閱 [變更一組多區域金鑰中的主金鑰](multi-region-update.md)。
+ 若要識別和檢視多區域 KMS 金鑰，請參閱 [識別 HMAC KMS 金鑰](identify-key-types.md#hmac-view)。
+ 若要了解刪除多區域 KMS 金鑰的特殊考量，請參閱 [Deleting multi-Region keys](deleting-keys.md#deleting-mrks)。

## 術語與概念
<a name="multi-region-concepts"></a>

下列術語和概念與多區域金鑰搭配使用。

### 多區域金鑰
<a name="multi-Region-concept"></a>

*多區域金鑰*是在不同 AWS 區域中具有相同金鑰 ID 和金鑰材料 (以及其他[共用屬性](#mrk-replica-key)) 的一組 KMS 金鑰之一。每個多區域金鑰都是功能完善的 KMS 金鑰，可完全獨立於其相關的多區域金鑰之外使用。由於所有*相關的*多區域金鑰都具有相同的金鑰 ID 和金鑰材料，因此它們*可以互通*，也就是說，任何 中的任何相關多區域金鑰 AWS 區域 都可以解密任何其他相關多區域金鑰加密的加密文字。

您在建立 KMS 金鑰時會設定其多區域屬性。您無法在現有金鑰上變更多區域屬性。您無法將單一區域金鑰轉換為多區域金鑰，或將多區域金鑰轉換為單一區域金鑰。若要將現有的工作負載移至多區域案例，您必須重新加密資料，或使用新的多區域金鑰建立新的簽章。

多區域金鑰可以是[對稱或非對稱](symmetric-asymmetric.md)，而且可以使用 AWS KMS 金鑰材料或[匯入的金鑰材料](importing-keys.md)。您無法在[自訂金鑰存放區](key-store-overview.md#custom-key-store-overview)建立多區域金鑰。

在一組相關的多區域金鑰中，任何時候都只有一個[主要金鑰](#mrk-primary-key)。您可以在其他 AWS 區域建立該主要金鑰的[複本金鑰](#mrk-replica-key)。您也可以[更新主要區域](multi-region-update.md#update-primary-console)，它會將主要金鑰變更為複本金鑰，並將指定的複本金鑰變更為主要金鑰。不過，每個 只能維護一個主索引鍵或複本索引鍵 AWS 區域。所有區域必須在相同的 [AWS 分割區](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)中。

您可以在相同或不同的 AWS 區域中擁有多組相關的多區域金鑰。雖然相關的多區域金鑰可互通操作，但不相關的多區域金鑰無法互通操作。

### 主索引鍵
<a name="mrk-primary-key"></a>

多區域*主金鑰*是 KMS 金鑰，可以複寫到相同分割區 AWS 區域 中的其他 。每組多區域金鑰只有一個主要金鑰。

主要金鑰與複本金鑰有下列幾點不同之處：
+ 只有主要金鑰可以[複寫](multi-region-keys-replicate.md)。
+ 主要金鑰是其[複本金鑰](#mrk-replica-key)之[共用屬性](#mrk-replica-key)的來源，包括金鑰資料和金鑰 ID。
+ 您可以僅針對主要金鑰啟用和停用[自動金鑰輪換](rotate-keys.md)。
+ 您可以隨時[排程刪除主要金鑰](deleting-keys.md#deleting-mrks)。但在刪除其所有複本金鑰之前， AWS KMS 不會刪除主要金鑰。

不過，主要和複本金鑰在任何密碼編譯屬性中都沒有差異。您可以互換使用主要金鑰及其複本金鑰。

您不需要複寫主要金鑰。您可以像使用任何 KMS 金鑰一樣使用它，並在有用時對其進行複寫。不過，由於多區域金鑰與單一區域金鑰具有不同的安全屬性，建議您只在計劃複寫時建立多區域金鑰。

### 複本金鑰
<a name="mrk-replica-key"></a>

多區域*複本金鑰*是 KMS 金鑰，其[金鑰 ID](concepts.md#key-id-key-id) 和金鑰材料與其[主要金鑰](#mrk-primary-key)和相關複本金鑰相同，但存在於不同的 中 AWS 區域。

複本金鑰是功能完善的 KMS 金鑰，具有自己的金鑰政策、授予、別名、標籤和其他屬性。它不是主要金鑰或任何其他金鑰的指標複本。您可以使用複本金鑰，即使其主要金鑰和所有相關的複本金鑰已停用。您也可以將複本金鑰轉換為主要金鑰，將主要金鑰轉換為複本金鑰。建立後，複本金鑰僅依賴其主要金鑰進行[金鑰輪換](rotate-keys.md#multi-region-rotate)和[更新主要區域](multi-region-update.md)。

主要和複本金鑰在任何密碼編譯屬性中都沒有差異。您可以互換使用主要金鑰及其複本金鑰。透過主要金鑰或複本金鑰加密的資料可以透過相同的金鑰或任何相關的主要金鑰或複本金鑰進行解密。

### 複寫
<a name="replicate"></a>

您可以將多區域[主索引鍵](#mrk-primary-key)*複寫*到相同分割區 AWS 區域 中的不同 。當您這麼做時， 會在指定的區域中 AWS KMS 建立多區域[複本金鑰](#mrk-replica-key)，其[金鑰 ID](concepts.md#key-id-key-id) 和其他[共用屬性](#mrk-sync-properties)與其主金鑰相同。對於具有`AWS_KMS`原始伺服器的 KMS 金鑰， 會 AWS KMS 安全地跨區域界限傳輸金鑰材料，並將其與新的複本金鑰建立關聯，全部都在其中 AWS KMS。對於具有`EXTERNAL`原始伺服器的 KMS 金鑰，您必須匯入匯入主要區域金鑰的相同金鑰材料，以個別連接複本區域金鑰。

### 共用屬性
<a name="mrk-sync-properties"></a>

*共用屬性*是與其複本金鑰共用之多區域主要金鑰的屬性。 會 AWS KMS 建立具有與主要金鑰相同共用屬性值的複本金鑰。然後，它會定期將主要金鑰的共用屬性值同步至其複本金鑰。您無法在複本金鑰上設定這些屬性。

以下是多區域金鑰的共用屬性。
+ [金鑰 ID](concepts.md#key-id-key-id) – ([金鑰 ARN](concepts.md#key-id-key-ARN) 的 `Region` 元素有所不同。)
+ [金鑰材料](create-keys.md#key-origin) — 一組相關多區域金鑰中的主要和複本金鑰共用相同的金鑰材料。對於金鑰材料是由 AWS KMS (`AWS_KMS`原始伺服器） 產生的多區域金鑰， 會在複本建立時或透過自動或隨需輪換建立新的金鑰材料時， AWS KMS 安全地將所有金鑰材料從主要 傳輸到每個複本。對於具有匯入金鑰材料 (`EXTERNAL` 原始伺服器） 的多區域金鑰， 會從主金鑰 AWS KMS 同步金鑰材料識別符，但您必須將金鑰材料單獨匯入每個複本金鑰。
+ [金鑰資料來源](create-keys.md#key-origin)
+ [金鑰規格](create-keys.md#key-spec)和加密演算法
+ [金鑰用途](create-keys.md#key-usage)
+ [自動金鑰輪換](rotating-keys-enable.md) – 您可以僅針對主要金鑰啟用和停用自動金鑰輪換。使用共用金鑰材料的所有版本建立新的複本金鑰。如需詳細資訊，請參閱[Rotating multi-Region keys](rotate-keys.md#multi-region-rotate)。
+ 隨[需輪](rotating-keys-on-demand.md)換 — 您只能在主索引鍵上執行隨需輪換。對於金鑰材料由 AWS KMS (`AWS_KMS`原始伺服器） 產生的多區域金鑰， 會使用共用金鑰材料的所有版本 AWS KMS 建立複本金鑰。對於具有匯入金鑰材料 (`EXTERNAL` 原始伺服器） 的多區域金鑰， 會將金鑰材料 ID 和金鑰材料描述從主要金鑰 AWS KMS 傳播到複本金鑰，但不傳播金鑰材料。您必須個別將正確的金鑰材料匯入每個複本金鑰。如需詳細資訊，請參閱[Rotating multi-Region keys](rotate-keys.md#multi-region-rotate)。

您也可以將相關多區域金鑰的主要和複本指定視為共用屬性。當您[建立新的複本金鑰](#mrk-replica-key)或[更新主金鑰](multi-region-update.md#update-primary-console)時， 會將變更 AWS KMS 同步至所有相關多區域金鑰。完成這些變更後，所有相關的多區域金鑰都會準確地列出其主要金鑰和複本金鑰。

多區域金鑰的所有其他屬性都是*獨立的屬性*，包括金鑰描述、[金鑰政策](key-policies.md)、[授予](grants.md)、[啟用和停用的金鑰狀態](enabling-keys.md)、[別名](kms-alias.md)和[標籤](tagging-keys.md)。您可以在所有相關的多區域金鑰上為這些屬性設定相同的值，但是如果您變更獨立屬性的值，則 AWS KMS 不會將其同步。

您可以追蹤多區域金鑰之共用屬性的同步。在您的 AWS CloudTrail 日誌中，尋找 [SynchronizeMultiRegionKey](ct-synchronize-multi-region-key.md) 事件。

# 多區域金鑰的安全考量
<a name="mrk-when-to-use"></a>

僅在您需要 AWS KMS 多區域金鑰時使用。多區域金鑰為在 AWS 區域 之間移動加密資料的工作負載或需要跨區域存取的工作負載提供靈活且可擴展的解決方案。如果您必須跨區域共用、移動或備份受保護的資料，或者需要建立在不同區域中運作之應用程式的相同數位簽章，請考慮使用多區域金鑰。

不過，建立多區域金鑰的程序會在 AWS KMS內跨 AWS 區域 邊界移動您的金鑰材料。由多區域金鑰產生的加密文字可能會由多個地理位置中的多個相關金鑰進行解密。區域隔離的服務和資源也有顯著的優勢。每個 AWS 區域 都是隔離的，且與其他區域各自獨立。區域提供容錯能力、穩定性和恢復能力，也可降低延遲。它們可讓您建立冗餘資源，這些資源會保持可用且不受其他區域運行中斷的影響。在 中 AWS KMS，它們也確保每個加密文字只能由一個金鑰解密。

多區域金鑰也會引發新的安全考量：
+ 使用多區域金鑰，控制存取和強制執行資料安全政策會比較複雜。您需要確保會在多個隔離區域的金鑰上對政策進行一致地稽核。而且您需要使用政策來強制執行邊界，而不是依賴單獨的金鑰。

  例如，您需要針對資料設定政策條件，以防止一個區域的薪資團隊能夠讀取不同區域的薪資資料。此外，您必須使用存取控制來防止出現以下案例：一個區域中的多區域金鑰保護一個租用戶的資料，而另一個區域中的相關多區域金鑰保護不同租用戶的資料。
+ 跨區域稽核金鑰也比較複雜。使用多區域索引鍵，您需要檢查和協調多個區域的稽核活動，以完全了解受保護資料的金鑰活動。
+ 符合資料落地規定可能會更加複雜。透過隔離區域，您可以確保資料落地和資料主權的合規性。指定區域中的 KMS 金鑰只能解密該區域中的敏感資料。在一個區域中加密的資料可以在任何其他區域中保持處於完全保護且無法存取的狀態。

  若要使用多區域金鑰驗證資料落地和資料主權，您需要實作存取政策和跨多個區域編譯 AWS CloudTrail 事件。

為了讓您更輕鬆地管理多區域金鑰的存取控制，複寫多區域金鑰的許可 ([kms:ReplicateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReplicateKey.html)) 會與建立金鑰的標準許可 ([kms:CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)) 分開。此外， AWS KMS 支援多區域金鑰的多種政策條件，包括`kms:MultiRegion`允許或拒絕建立、使用或管理多區域金鑰的許可，以及 `kms:ReplicaRegion`，這會限制可複寫多區域金鑰的區域。如需詳細資訊，請參閱[控制對多區域金鑰的存取](multi-region-keys-auth.md)。

# 多區域金鑰的運作方式
<a name="mrk-how-it-works"></a>

首先在 AWS 區域 AWS KMS 支援的 中建立對稱或非對稱[多區域主索引鍵](multi-region-keys-overview.md#mrk-primary-key)，例如美國東部 （維吉尼亞北部）。只有在建立金鑰時，您才會決定是單一區域金鑰還是多區域金鑰；之後就無法變更此屬性。與任何 KMS 金鑰一樣，您可以設定多區域金鑰的金鑰政策，並建立授予，以及新增分類和授權的別名和標籤。(這些是[獨立屬性](multi-region-keys-overview.md#mrk-sync-properties)，並未與其他金鑰共用或同步。) 您可以在密碼編譯操作中使用多區域主要金鑰進行加密或簽署。

您可以在 AWS KMS 主控台中[建立多區域主金鑰](create-primary-keys.md)，或使用 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API，並將 `MultiRegion` 參數設定為 `true`。請注意，多區域金鑰具有開頭為 `mrk-` 的獨特金鑰 ID。您可以使用 `mrk-` 字首，以程式設計方式識別 MRK。

![\[Multi-Region primary key icon with red key symbol and sample key ID format.\]](http://docs.aws.amazon.com/zh_tw/kms/latest/developerguide/images/multi-region-primary-key.png)


如果您選擇，您可以將多區域主索引鍵[複寫](multi-region-keys-overview.md#replicate)到相同[AWS 分割區](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) AWS 區域 中的一個或多個不同，例如歐洲 （愛爾蘭）。當您這樣做時， AWS KMS 會在指定區域中建立[複本金鑰](multi-region-keys-overview.md#mrk-replica-key)，其金鑰 ID 和其他[共用屬性](multi-region-keys-overview.md#mrk-sync-properties)與主金鑰相同。其結果是兩個*相關*多區域金鑰 (主要金鑰和複本金鑰) 可以互換使用。

您可以在 AWS KMS 主控台或使用 [ReplicateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReplicateKey.html) API [建立多區域複本金鑰](multi-region-keys-replicate.md)。

![\[Diagram showing multi-Region primary and replica keys in US East and EU regions with key IDs.\]](http://docs.aws.amazon.com/zh_tw/kms/latest/developerguide/images/multi-region-replica-key.png)


由此產生的[多區域複本金鑰](multi-region-keys-overview.md#mrk-replica-key)是功能齊全的 KMS 金鑰，具有與主要金鑰相同的[共用屬性](multi-region-keys-overview.md#mrk-sync-properties)。在所有其他方面，它是獨立的 KMS 金鑰，具有自己的描述、金鑰政策、授予、別名和標籤。啟用或停用多區域金鑰不會影響相關的多區域金鑰。您可以在密碼編譯操作中獨立使用主要金鑰和複本金鑰，或協調其使用。例如，您可以使用美國東部 (維吉尼亞北部) 區域的主要金鑰來加密資料、將資料移至歐洲 (愛爾蘭) 區域，然後使用複本金鑰來解密資料。

相關的多區域金鑰具有相同的金鑰 ID。其金鑰 ARN (Amazon Resource Name) 僅在區域字段中不同。例如，多區域主要金鑰和複本金鑰可能具有下列範例金鑰 ARN。金鑰 ID (金鑰 ARN 中的最後一個元素) 是相同的。兩個金鑰都有多區域金鑰的獨特金鑰 ID，開頭為 **mrk-**。

```
Primary key: arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab
Replica key: arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab
```

具有相同的金鑰 ID 才能交互操作。加密時， 會將 KMS 金鑰的金鑰 ID AWS KMS 合併為加密文字，以便只能使用該 KMS 金鑰或具有相同金鑰 ID 的 KMS 金鑰來解密加密文字。這項功能也讓相關的多區域金鑰易於識別，並且可以更輕鬆地對其進行互換使用。例如，在應用程式中使用時，您可以透過其共用金鑰 ID 來引用相關的多區域金鑰。然後，如有必要，請指定區域或 ARN 來區分這些金鑰。

隨著您的資料需求變更，您可以將主索引鍵複寫到相同分割區 AWS 區域 中的其他 ，例如美國西部 （奧勒岡） 和亞太區域 （雪梨）。其結果是具有相同金鑰材料和金鑰 ID 的四個*相關*多區域金鑰，如下圖所示。您可以獨立管理金鑰。對於具有匯入金鑰材料的多區域金鑰，您必須負責個別將金鑰材料匯入每個相關金鑰。您可以獨立或以協調的方式使用這些金鑰。例如，您可以使用亞太區域 (雪梨) 中的複本金鑰來加密資料、將資料移至美國西部 (奧勒岡)，然後使用美國西部 (奧勒岡) 的複本金鑰來解密資料。

![\[多區域金鑰中的主要金鑰和複本金鑰\]](http://docs.aws.amazon.com/zh_tw/kms/latest/developerguide/images/multi-region-keys.png)


多區域金鑰的其他考量包括下列各項。

*同步共用屬性* — 如果多區域金鑰的[共用屬性](multi-region-keys-overview.md#mrk-sync-properties)變更， AWS KMS 會自動將變更從[主金鑰](multi-region-keys-overview.md#mrk-primary-key)同步至其所有[複本金鑰](multi-region-keys-overview.md#mrk-replica-key)。您無法請求或強制同步共用屬性。 會為您 AWS KMS 偵測和同步所有變更。不過，您可以使用 CloudTrail 日誌中的 [SynchronizeMultiRegionKey](ct-synchronize-multi-region-key.md) 事件稽核同步。

例如，如果您在具有`AWS_KMS`原始伺服器的對稱多區域主金鑰上啟用自動金鑰輪換， 會將該設定 AWS KMS 複製到其所有複本金鑰。輪換金鑰材料時，所有相關多區域金鑰之間的輪換會同步，因此其仍然具有相同的當前金鑰材料，並存取所有舊版的金鑰材料。如果您建立新的複本金鑰，則該金鑰具有與所有相關多區域金鑰相同的當前金鑰材料，並可存取所有舊版金鑰材料。如需詳細資訊，請參閱[Rotating multi-Region keys](rotate-keys.md#multi-region-rotate)。

*變更主要金鑰* – 每組多區域金鑰必須只有一個主要金鑰。[主要金鑰](multi-region-keys-overview.md#mrk-primary-key)是唯一可以複寫的金鑰。它也是其複本金鑰共用屬性的來源。但是您可以將主要金鑰變更為複本，並將其中一個複本金鑰升級為主要金鑰。您可以這樣做，以便您可以從特定區域刪除多區域主要金鑰，或者在更接近專案管理員的區域找到主要金鑰。如需詳細資訊，請參閱[變更一組多區域金鑰中的主金鑰](multi-region-update.md)。

*刪除多區域金鑰* — 如同所有 KMS 金鑰，您必須先排程刪除多區域金鑰，才能將其 AWS KMS 刪除。當金鑰正在等待刪除時，您無法在任何密碼編譯操作中使用金鑰。不過，在刪除其所有複本金鑰之前， AWS KMS 不會刪除多區域主金鑰。如需詳細資訊，請參閱[Deleting multi-Region keys](deleting-keys.md#deleting-mrks)。

# 匯入金鑰的 AWS KMS 金鑰材料
<a name="importing-keys"></a>

您可以使用您提供的金鑰材料來建立 AWS KMS keys (KMS 金鑰）。

KMS 金鑰是資料金鑰的邏輯表示法。KMS 金鑰的中繼資料包含用於執行密碼編譯操作的金鑰材料 ID。根據預設，當您[建立 KMS 金鑰](create-keys.md)時， AWS KMS 會產生該 KMS 金鑰的金鑰材料。但是，您可以建立不含金鑰材料的 KMS 金鑰，然後將您自己的金鑰材料匯入該 KMS 金鑰。這項功能通常稱為「使用自有金鑰 (BYOK)」。

![\[重點標示其所代表之金鑰材料的金鑰圖示。\]](http://docs.aws.amazon.com/zh_tw/kms/latest/developerguide/images/import-key.png)


**注意**  
AWS KMS 不支援解密由 外部對稱加密 KMS AWS KMS 金鑰加密的任何加密文字 AWS KMS，即使加密文字是在具有匯入金鑰材料的 KMS 金鑰下加密。 AWS KMS 不會發佈此任務所需的加密文字格式，而且格式可能會變更，恕不另行通知。

當您使用匯入的金鑰材料時，您仍需對金鑰材料負責，同時 AWS KMS 允許 使用其副本。您可能因為以下一個或多個原因而選擇這樣做：
+ 為證明您採用符合要求的熵來源產生金鑰資料。
+ 將自有基礎設施的金鑰材料與 AWS 服務搭配使用 AWS KMS ，並使用 管理其中該金鑰材料的生命週期 AWS。
+ 在 中使用現有、建立良好的金鑰 AWS KMS，例如用於程式碼簽署、PKI 憑證簽署和憑證鎖定應用程式的金鑰
+ 若要設定 中金鑰材料的過期時間， AWS 並[手動將其刪除](importing-keys-delete-key-material.md)，但也要讓它在未來再次可用。反之，[排程金鑰刪除](deleting-keys.md#deleting-keys-how-it-works)需要等候 7 到 30 天，超過此期間將無法恢復已刪除的 KMS 金鑰。
+ 擁有金鑰材料的原始副本，並在金鑰材料的完整生命週期期間將其保留在 之外 AWS ，以獲得額外的耐用性和災難復原。
+ 對於非對稱金鑰和 HMAC 金鑰，匯入會建立相容且可互通的金鑰，可在 內外操作 AWS。

**支援的 KMS 金鑰類型**

AWS KMS 支援下列 KMS 金鑰類型的匯入金鑰材料。您無法匯入金鑰資料至[自訂金鑰存放區](key-store-overview.md#custom-key-store-overview)的 KMS 金鑰。
+ [對稱加密 KMS 金鑰](symm-asymm-choose-key-spec.md#symmetric-cmks)
+ [非對稱 KMS 金鑰 (ML-DSA 金鑰除外）](symmetric-asymmetric.md)
+ [HMAC KMS 金鑰](hmac.md)
+ 所有支援類型的[多區域金鑰](multi-region-keys-overview.md)。

**區域**

支援的所有 都支援匯入 AWS 區域 的 AWS KMS 金鑰材料。

在中國區域中，對稱加密 KMS 金鑰的金鑰材料需求與其他區域不同。如需詳細資訊，請參閱[步驟 3：加密金鑰材料](importing-keys-encrypt-key-material.md)。

**進一步了解**
+ 若要使用匯入的金鑰材料建立 KMS 金鑰，請參閱 [使用匯入的金鑰材料建立 KMS 金鑰](importing-keys-conceptual.md)。
+ 若要建立警示，以便在 KMS 金鑰中匯入的金鑰材料接近其過期時間時通知您，請參閱 [為匯入金鑰材料過期建立 CloudWatch 警示](imported-key-material-expiration-alarm.md)。
+ 若要將金鑰材料重新匯入 KMS 金鑰，請參閱 [重新匯入金鑰材料](importing-keys-import-key-material.md#reimport-key-material)。
+ 若要將新的金鑰材料匯入 KMS 金鑰以進行隨需輪換，請參閱 [匯入新的金鑰資料](importing-keys-import-key-material.md#import-new-key-material)和 [執行隨需金鑰輪換](rotating-keys-on-demand.md)。
+ 若要使用匯入的金鑰材料來識別和檢視 KMS 金鑰，請參閱 [使用匯入的金鑰材料識別 KMS 金鑰](identify-key-types.md#identify-imported-keys)。
+ 若要了解使用匯入金鑰材料刪除 KMS 金鑰的特殊考量，請參閱 [Deleting KMS keys with imported key material](deleting-keys.md#import-delete-key)。

# 匯入金鑰資料的特殊考量
<a name="importing-keys-considerations"></a>

在您決定將金鑰材料匯入至 之前 AWS KMS，您應該了解匯入金鑰材料的下列特性。

**您可以產生關鍵材料**  
您有責任使用符合您安全要求的隨機來源產生金鑰材料。

**您必須為可用性和耐久性負責**  
AWS KMS 旨在讓匯入的金鑰材料保持高可用性。但 AWS KMS 不會將匯入金鑰材料的耐久性維持在與 AWS KMS 產生的金鑰材料相同的層級。如需詳細資訊，請參閱[保護匯入的金鑰資料](import-keys-protect.md)。

**您可以刪除金鑰材料**  
您可以從 KMS 金鑰中[刪除匯入的金鑰材料](importing-keys-delete-key-material.md)，立即使 KMS 金鑰無法使用。此外，當您將金鑰材料匯入 KMS 金鑰時，您可以決定金鑰是否會過期，並[設定其過期時間](importing-keys-import-key-material.md#importing-keys-expiration)。當過期時間到達時， AWS KMS [會刪除金鑰材料](importing-keys-delete-key-material.md)。如果沒有金鑰材料，即無法在任何密碼編譯操作中使用 KMS 金鑰。若要還原金鑰，您必須將相同的金鑰材料重新匯入至金鑰。

**您無法變更非對稱的金鑰材料和 HMAC 金鑰**  
當您將金鑰材料匯入 KMS 金鑰，KMS 金鑰將永久關聯到該金鑰材料。您可以[重新匯入相同的金鑰材料](importing-keys-import-key-material.md#reimport-key-material)，但您不能將不同的金鑰材料匯入 KMS 金鑰。此外，您無法為具有匯入金鑰材料的任何 KMS 金鑰[啟用自動金鑰輪換](rotate-keys.md)。不過，您可以[手動輪換具有匯入金鑰材料的 KMS 金鑰](rotate-keys-manually.md)。

**您可以在對稱加密金鑰上執行隨需輪換**  
具有匯入金鑰材料的對稱加密金鑰支援隨需輪換。您可以將[多個金鑰材料匯入](importing-keys-import-key-material.md#import-new-key-material)這些金鑰，並使用[隨需輪換](rotating-keys-on-demand.md)來更新目前的金鑰材料。目前的金鑰材料同時用於加密和解密，但其他 （非目前） 金鑰材料只能用於解密。

**您無法變更金鑰資料來源**  
設計用於匯入金鑰材料的 KMS 金鑰具有無法變更的 `EXTERNAL` [來源](create-keys.md#key-origin)值。您無法轉換匯入金鑰材料的 KMS 金鑰，以使用任何其他來源的金鑰材料，包括 AWS KMS。同樣地，您無法將 KMS 金鑰與 AWS KMS 金鑰材料轉換為專為匯入金鑰材料設計的金鑰材料。

**您無法匯出金鑰資料**  
您無法匯出您匯入的任何金鑰材料。 AWS KMS 無法以任何形式將匯入的金鑰材料傳回給您。您必須在 外部保留匯入金鑰材料的副本 AWS，最好是在金鑰管理器中，例如硬體安全模組 (HSM)，以便在刪除金鑰材料或金鑰材料過期時重新匯入金鑰材料。

**您可利用匯入金鑰資料來建立多區域金鑰。**  
具匯入金鑰資料的多區域擁有匯入金鑰資料的 KMS 金鑰功能，且可在 AWS 區域之間互通。若要利用匯入金鑰資料來建立多區域金鑰，您必須匯入相同金鑰資料至主要 KMS 金鑰以及每個複本金鑰。如需匯入多區域金鑰之金鑰資料的詳細資訊，請參閱 [匯入新的金鑰資料](importing-keys-import-key-material.md#import-new-key-material)。

**非對稱金鑰與 HMAC 金鑰為可攜式且可互通**  
您可以在 外部使用您的非對稱金鑰材料和 HMAC 金鑰材料 AWS ，與具有相同匯入金鑰材料的 AWS KMS 金鑰互通。  
與演算法中使用的 KMS 金鑰不可分割繫結的 AWS KMS 對稱加密文字不同， AWS KMS 會使用標準 HMAC 和非對稱格式進行加密、簽署和產生 MAC。因此，這些金鑰為可攜式，並且支援傳統委付金鑰案例。  
當您的 KMS 金鑰已匯入金鑰材料時，您可以使用 外部匯入的金鑰材料 AWS 來執行下列操作。  
+ HMAC 金鑰 — 您可利用匯入金鑰資料來驗證 HMAC KMS 金鑰所產生的 HMAC 標籤。您也可以將 HMAC KMS 金鑰與匯入的金鑰材料搭配使用，以驗證由外部金鑰材料產生的 HMAC 標籤 AWS。
+ 非對稱加密金鑰 — 您可以使用 外部的私有非對稱加密金鑰 AWS ，以對應的公有金鑰解密 KMS 金鑰加密的加密文字。您也可以使用非對稱 KMS 金鑰來解密在 外部產生的非對稱加密文字 AWS。
+ 非對稱簽署金鑰 — 您可以使用非對稱簽署 KMS 金鑰搭配匯入的金鑰材料，來驗證外部私有簽署金鑰所產生的數位簽章 AWS。您也可以使用 外部的非對稱公有簽署金鑰 AWS 來驗證非對稱 KMS 金鑰所產生的簽章。
+ 非對稱金鑰協議金鑰 — 您可以使用非對稱金鑰協議 KMS 金鑰搭配匯入的金鑰材料，以衍生與 外部對等的共用秘密 AWS。
如您匯入相同金鑰資料至位於相同 AWS 區域的不同 KMS 金鑰，則這些金鑰也可互通。若要在不同 中建立可互通的 KMS 金鑰 AWS 區域，請使用匯入的金鑰材料建立多區域金鑰。  

**RSA 私有金鑰**
+ AWS KMS 要求匯入的 RSA 私有金鑰具有符合 [FIPS 186-5 第 A. 1.3](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf) 節所述測試的主要因素。其他軟體或裝置可能會使用不同的演算法來驗證 RSA 私有金鑰的這些主要因素。在極少數情況下，可能無法接受使用其他演算法驗證的金鑰 AWS KMS。

**對稱加密金鑰為不可攜式且不可互通**  
 AWS KMS 產生的對稱加密文字不是可攜式或互通性。 AWS KMS 不會發佈可攜性所需的對稱加密文字格式，而且格式可能會變更，恕不另行通知。  
+ AWS KMS 即使您使用已匯入的金鑰材料 AWS，也無法解密您在 外部加密的對稱加密文字。
+ AWS KMS 不支援解密 AWS KMS 外部的任何對稱加密文字 AWS KMS，即使加密文字是在具有匯入金鑰材料的 KMS 金鑰下加密。
+ 具相同匯入金鑰資料的 KMS 金鑰無法互通。 AWS KMS 產生每個 KMS 金鑰特定加密文字的對稱加密文字。此密文格式可保證僅加密該資料的 KMS 金鑰可解密。
此外，您無法使用 [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/)或 [Amazon S3 用戶端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html)等任何 AWS 工具來解密 AWS KMS 對稱加密文字。  
因此，您無法將金鑰與匯入的金鑰材料搭配使用，以支援金鑰託管安排，其中具有金鑰材料條件存取的授權第三方可以解密外部的某些加密文字 AWS KMS。若要支援金鑰委付，請使用 [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/java-example-code.html#java-example-multiple-providers) 在獨立於 AWS KMS的金鑰下將您的訊息加密。

# 保護匯入的金鑰資料
<a name="import-keys-protect"></a>

您匯入的金鑰資料在傳輸過程及靜態狀態都受到保護。在匯入金鑰材料之前，您可以使用在 FIPS 140-3 密碼編譯模組驗證計畫下驗證的 AWS KMS 硬體安全模組 (HSMs) 中產生的 RSA 金鑰對公有金鑰來加密 （或「包裝」) 金鑰材料。 [https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884)您可利用包裝公有金鑰直接加密金鑰資料，或利用 AES 對稱金鑰來加密金鑰資料，然後利用 RSA 公有金鑰加密 AES 對稱金鑰。

收到時， 會使用 AWS KMS HSM 中對應的私有金鑰 AWS KMS 來解密金鑰材料，並在僅存在於 HSM 揮發性記憶體中的 AES 對稱金鑰下重新加密。您的金鑰資料永遠不會以純文字形式離開 HSM。它只會在使用中且僅在 AWS KMS HSMs內解密。

與匯入的金鑰資料搭配運用的 KMS 金鑰取決於您在 KMS 金鑰設定的[存取控制政策](control-access.md)。此外，您可利用[別名](kms-alias.md)與[標籤](tagging-keys.md)來識別及[控制 KMS 金鑰的存取權](abac.md)。您可以使用 等服務[來啟用和停用](enabling-keys.md)金鑰、[檢視](viewing-keys.md)和[監控](monitoring-overview.md)金鑰 AWS CloudTrail。

然而，您要維護金鑰資料的唯一故障安全副本。為了獲得此額外控制，您必須負責匯入金鑰材料的耐用性和整體可用性。 AWS KMS 旨在讓匯入金鑰材料保持高可用性。但 AWS KMS 不會將匯入金鑰材料的耐久性維持在與 AWS KMS 產生的金鑰材料相同的層級。

這種持久性差異在以下情況具有意義：
+ 當您[為匯入的金鑰材料設定過期時間](importing-keys-import-key-material.md#importing-keys-expiration)時， 會在金鑰材料過期後 AWS KMS 刪除金鑰材料。 AWS KMS 不會刪除 KMS 金鑰或其中繼資料。您可以[建立 Amazon CloudWatch 警示](imported-key-material-expiration-alarm.md)，在匯入的金鑰資料臨近其到期日期時通知您。

  您無法刪除為 KMS 金鑰 AWS KMS 產生的金鑰材料，也無法將 AWS KMS 金鑰材料設定為過期。
+ 當您[手動刪除匯入的金鑰材料](importing-keys-delete-key-material.md)時， 會 AWS KMS 刪除金鑰材料，但不會刪除 KMS 金鑰或其中繼資料。相反地，[排程金鑰刪除](deleting-keys.md#deleting-keys-how-it-works)需要 7 到 30 天的等待期間，之後會 AWS KMS 永久刪除 KMS 金鑰、其中繼資料及其金鑰材料。
+ 萬一發生影響 AWS KMS （例如總停電） 的特定全區域故障， AWS KMS 無法自動還原您匯入的金鑰材料。不過， AWS KMS 可以還原 KMS 金鑰及其中繼資料。

*您必須*將 外部匯入金鑰材料的副本保留 AWS 在您控制的系統中。建議您將匯入金鑰資料的可匯出複本儲存在金鑰管理系統，例如 HSM。最佳實務是，您應該將 KMS 金鑰 ARN 和 AWS KMS 產生的金鑰材料 ID 的參考與可匯出的金鑰材料複本一起存放。如匯入的金鑰資料遭到刪除或到期，則在您重新匯入相同金鑰資料之前，其關聯的 KMS 金鑰將無法運用。如匯入的金鑰資料永久遺失，則利用 KMS 金鑰加密的任何密文均無法復原。

**重要**  
對稱加密金鑰可以有多個與其相關聯的金鑰材料。一旦您刪除其中一個金鑰資料，或其中一個金鑰資料過期 （除非已刪除或即將過期的金鑰資料為 `PENDING_ROTATION`或 )，整個 KMS 金鑰就會變得無法使用`PENDING_MULTI_REGION_IMPORT_AND_ROTATION`。您必須重新匯入與此類金鑰相關聯的任何過期或刪除的金鑰資料，金鑰才能用於密碼編譯操作。

# CloudHSM 金鑰存放區中的 KMS 金鑰
<a name="manage-cmk-keystore"></a>

您可以在 AWS CloudHSM 金鑰存放區 AWS KMS keys 中建立、檢視、管理、使用和排程刪除 。您使用的處理程序非常類似於對其他 KMS 金鑰所用的程序。唯一的差別是您在建立 KMS AWS CloudHSM 金鑰時指定金鑰存放區。然後，在與金鑰存放區相關聯的叢集中 AWS CloudHSM ，為 KMS 金鑰 AWS KMS 建立不可擷取的 AWS CloudHSM 金鑰材料。當您在 金鑰存放區中使用 KMS AWS CloudHSM 金鑰時，[密碼編譯操作](#use-cmk-keystore)會在叢集的 HSMs中執行。

**支援的功能**  
除了本節中討論的程序之外，您還可以使用 金鑰存放區中的 KMS AWS CloudHSM 金鑰執行下列動作：  
+ 使用金鑰政策、IAM 政策和授予，以[授權存取](control-access.md) KMS 金鑰。
+ [啟用和停用](enabling-keys.md) KMS 金鑰。
+ 指派[標籤](tagging-keys.md)並建立[別名](kms-alias.md)，使用屬性型存取控制 (ABAC) 授權對 KMS 金鑰的存取。
+ 使用 KMS 金鑰執行下列密碼編譯操作：
  + [加密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)
  + [解密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)
  + [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
  + [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)
  + [ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)

  自訂金鑰存放區中*不*支援產生非對稱資料金鑰對、[GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html) 和 [GenerateDataKeyPairWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPairWithoutPlaintext.html) 的操作。
+ 將 KMS 金鑰用於[與 AWS KMS整合的AWS 服務](service-integration.md)，且這些服務支援客戶受管金鑰。
+ 追蹤您的 KMS 金鑰在 [AWS CloudTrail 日誌](logging-using-cloudtrail.md)和 [Amazon CloudWatch 監控工具](monitoring-overview.md)中的使用情況。

**不支援的功能**  
+ AWS CloudHSM 金鑰存放區僅支援對稱加密 KMS 金鑰。您無法在金鑰 AWS CloudHSM 存放區中建立 HMAC KMS 金鑰、非對稱 KMS 金鑰或非對稱資料金鑰對。
+ 您無法將[金鑰材料匯入](importing-keys.md)金鑰存放區中的 KMS AWS CloudHSM 金鑰。 AWS KMS 會產生叢集中 AWS CloudHSM KMS 金鑰的金鑰材料。
+ 您無法啟用或停用金鑰存放區中 KMS 金鑰的 AWS CloudHSM 金鑰材料[自動輪換](rotate-keys.md)。

**在 金鑰存放區中使用 KMS AWS CloudHSM 金鑰**  
當您在請求中使用 KMS 金鑰時，請依其 ID 或別名識別 KMS 金鑰；您不需要指定 AWS CloudHSM 金鑰存放區或 AWS CloudHSM 叢集。回應包含為針對任何對稱加密 KMS 金鑰所傳回的相同欄位。  
不過，當您在 AWS CloudHSM 金鑰存放區中使用 KMS 金鑰時，密碼編譯操作會完全在與 AWS CloudHSM 金鑰存放區相關聯的 AWS CloudHSM 叢集內執行。操作會使用叢集內與您選擇的 KMS 金鑰相關聯的金鑰材料。  
但必須符合以下條件，才有可能這樣做。  
+ KMS 金鑰的[金鑰狀態](key-state.md)必須是 `Enabled`。若要尋找金鑰狀態，請使用 [AWS KMS 主控台](finding-keys.md#viewing-console-details)中的 **Status** (狀態) 欄位或 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) 回應中的 `KeyState` 欄位。
+  AWS CloudHSM 金鑰存放區必須連接到其 AWS CloudHSM 叢集。其 [AWS KMS 主控台](view-keystore.md)中的 **Status** (狀態) 或 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 回應中的 `ConnectionState` 必須為 `CONNECTED`。
+ 與自訂金鑰存放區相關聯的 AWS CloudHSM 叢集必須至少包含一個作用中的 HSM。若要尋找叢集中的作用中 HSMs 數量，請使用 [AWS KMS 主控台](view-keystore.md)、 AWS CloudHSM 主控台或 [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html) 操作。
+  AWS CloudHSM 叢集必須包含 KMS 金鑰的金鑰材料。如果已從叢集刪除金鑰資料，或 HSM 是從不含金鑰資料的備份所建立，則密碼編譯操作會失敗。
如果不符合這些條件，密碼編譯操作會失敗，並 AWS KMS 傳回`KMSInvalidStateException`例外狀況。一般而言，您只需要[重新連接 AWS CloudHSM 金鑰存放區](connect-keystore.md)。如需其他說明，請參閱[如何修正失效的 KMS 金鑰](fix-keystore.md#fix-cmk-failed)。  
在 AWS CloudHSM 金鑰存放區中使用 KMS 金鑰時，請注意每個 AWS CloudHSM 金鑰存放區中的 KMS 金鑰共用[密碼編譯操作的自訂金鑰存放區請求配額](requests-per-second.md#rps-key-stores)。如果您超過配額， 會 AWS KMS 傳回 `ThrottlingException`。如果與 AWS CloudHSM 金鑰存放區相關聯的 AWS CloudHSM 叢集正在處理許多命令，包括與 AWS CloudHSM 金鑰存放區無關的命令，您可能會`ThrottlingException`以更低的速率取得 。如果您收到任何請求的 `ThrottlingException`，請降低請求速率，然後再試一次命令。如需自訂金鑰存放區配額的詳細資訊，請參閱 [自訂金鑰存放區請求配額](requests-per-second.md#rps-key-stores)。

**進一步了解**  
+ 若要進一步了解 AWS CloudHSM 金鑰存放區，請參閱 [AWS CloudHSM 金鑰存放區](keystore-cloudhsm.md)。
+ 若要在 金鑰存放區中建立 KMS AWS CloudHSM 金鑰，請參閱 [在 金鑰存放區中建立 KMS AWS CloudHSM 金鑰](create-cmk-keystore.md)。
+ 若要識別和檢視 金鑰存放區中的 KMS AWS CloudHSM 金鑰，請參閱 [識別金鑰存放區中的 KMS AWS CloudHSM 金鑰](identify-key-types.md#identify-key-hsm-keystore)。
+ 若要在 金鑰存放區中尋找 KMS 金鑰和 AWS CloudHSM 金鑰材料，請參閱 [在 金鑰存放區中尋找 KMS 金鑰和 AWS CloudHSM 金鑰材料](find-key-material.md)。
+ 若要了解刪除 AWS CloudHSM 金鑰存放區中 KMS 金鑰的特殊考量，請參閱[從 AWS CloudHSM 金鑰存放區刪除 KMS 金鑰](deleting-keys.md#delete-cmk-keystore)。

# 外部金鑰存放區中的 KMS 金鑰
<a name="keystore-external-key-manage"></a>

若要在外部金鑰存放區中建立、檢視、管理、使用和排程 KMS 金鑰的刪除，您可以使用與用於其他 KMS 金鑰非常相似的程序。但是，當您在外部金鑰存放區中建立 KMS 金鑰時，您會指定[外部金鑰存放區](keystore-external.md#concept-external-key-store)和[外部金鑰](keystore-external.md#concept-external-key)。當您在外部金鑰存放區中使用 KMS 金鑰時，外部金鑰管理器將使用指定的外部金鑰執行[加密和解密操作](keystore-external.md#xks-how-it-works)。

AWS KMS 無法在您的外部金鑰管理器中建立、檢視、更新或刪除任何密碼編譯金鑰。 AWS KMS 絕不會直接存取您的外部金鑰管理器或任何外部金鑰。所有密碼編譯操作的請求都會由您的[外部金鑰存放區代理](keystore-external.md#concept-xks-proxy)進行協調。若要在外部金鑰存放區中使用 KMS 金鑰，託管 KMS 金鑰的外部金鑰存放區必須[連接](xks-connect-disconnect.md)至其外部金鑰存放區代理。

**支援的功能**  
除了本節所討論的程序，您還可以對外部金鑰存放區中的 KMS 金鑰執行下列操作：  
+ 使用[金鑰政策](key-policies.md)、[IAM 政策](iam-policies.md)和[授予](grants.md)，以控制對 KMS 金鑰的存取。
+ [啟用和停用](enabling-keys.md) KMS 金鑰。這些動作不會影響外部金鑰管理器中的外部金鑰。
+ 指派[標籤](tagging-keys.md)並建立[別名](kms-alias.md)，使用[屬性型存取控制](abac.md) (ABAC) 授權對 KMS 金鑰的存取。
+ 使用 KMS 金鑰執行下列密碼編譯操作：
  + [加密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)
  + [解密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)
  + [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
  + [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)
  + [ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)

  自訂金鑰存放區中*不*支援產生非對稱資料金鑰對、[GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html) 和 [GenerateDataKeyPairWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPairWithoutPlaintext.html) 的操作。
+ 將 KMS 金鑰用於[與 AWS KMS整合的AWS 服務](https://aws.amazon.com/kms/features/#AWS_Service_Integration)，且這些服務支援[客戶受管金鑰](concepts.md#customer-mgn-key)。

**不支援的功能**  
+ 外部金鑰存放區僅支援[對稱加密 KMS 金鑰](symm-asymm-choose-key-spec.md#symmetric-cmks)。您無法在外部金鑰存放區中建立 HMAC KMS 金鑰或非對稱 KMS 金鑰。
+ 外部金鑰存放區中的 KMS 金鑰不支援 [GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html) 和 [GenerateDataKeyPairWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPairWithoutPlaintext.html)。
+ 您無法使用 [AWS::KMS::Key CloudFormation 範本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)在外部金鑰存放區中建立外部金鑰存放區或 KMS 金鑰。
+ 外部金鑰存放區不支援[多區域金鑰](multi-region-keys-overview.md)。
+ 外部金鑰存放區不支援具有[匯入金鑰材料](importing-keys.md)的 KMS 金鑰。
+ 外部金鑰存放區中的 KMS 金鑰不支援[自動金鑰輪換](rotate-keys.md)。

**在外部金鑰存放區中使用 KMS 金鑰**  
在請求中使用 KMS 金鑰時，請按照其[金鑰 ID、金鑰 ARN、別名或別名 ARN](concepts.md#key-id) 來識別 KMS 金鑰。您不需要指定外部金鑰存放區。回應包含為針對任何對稱加密 KMS 金鑰所傳回的相同欄位。不過，當您在外部金鑰存放區中使用 KMS 金鑰時，外部金鑰管理器將使用與 KMS 金鑰關聯的外部金鑰來執行加密和解密操作。  
為了確保外部金鑰存放區中 KMS 金鑰加密的加密文字至少與標準 KMS 金鑰加密的任何加密文字一樣安全， AWS KMS 會使用[雙重加密](keystore-external.md#concept-double-encryption)。資料會先 AWS KMS 使用 AWS KMS 金鑰材料在 中加密。然後，您的外部金鑰管理器會使用 KMS 金鑰的外部金鑰對其進行加密。若要解密雙重加密的密文，您的外部金鑰管理器會先使用 KMS 金鑰的外部金鑰對密文進行解密。然後，它會 AWS KMS 使用 KMS AWS KMS 金鑰的金鑰材料在 中解密。  
但必須符合以下條件，才有可能這樣做。  
+ KMS 金鑰的[金鑰狀態](key-state.md)必須是 `Enabled`。若要尋找金鑰狀態，請參閱 [AWS KMS 主控台](finding-keys.md#viewing-console-details)中客戶受管金鑰的 **Status** (狀態) 欄位或 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) 回應中的 `KeyState` 欄位。
+ 託管 KMS 金鑰的外部金鑰存放區必須連接至其[外部金鑰存放區代理](keystore-external.md#concept-xks-proxy)，也就是說，外部金鑰存放區的[連接狀態](xks-connect-disconnect.md#xks-connection-state)必須為 `CONNECTED`。

  您可以在 AWS KMS 主控台的**外部金鑰存放**區頁面或 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 回應中檢視連線狀態。外部金鑰存放區的連接狀態也顯示在 AWS KMS 主控台 KMS 金鑰的詳細資訊頁面上。在詳細資訊頁面上，選擇 **Cryptographic configuration** (密碼編譯組態) 索引標籤，並查看 **Custom key store** (自訂金鑰存放區) 區段中的 **Connection state** (連接狀態) 欄位。

  如果連接狀態為 `DISCONNECTED`，則必須先將其連接。如果連接狀態為 `FAILED`，則您必須解決問題，中斷連接外部金鑰存放區，然後進行連接。如需說明，請參閱[連接和中斷連接外部金鑰存放區](xks-connect-disconnect.md)。
+ 外部金鑰存放區代理必須能夠找到外部金鑰。
+ 必須啟用外部金鑰，而且必須執行加密和解密。

  外部金鑰的狀態獨立於 KMS 金鑰的[金鑰狀態](key-state.md)變更，並不受其影響，包括啟用和停用 KMS 金鑰。同樣，停用或刪除外部金鑰不會變更 KMS 金鑰的金鑰狀態，但使用關聯 KMS 金鑰的密碼編譯操作將會失敗。
如果不符合這些條件，密碼編譯操作會失敗，並 AWS KMS 傳回`KMSInvalidStateException`例外狀況。您可能需要[重新連接外部金鑰存放區](xks-connect-disconnect.md)，或使用外部金鑰管理器工具來重新設定或修復外部金鑰。如需其他說明，請參閱[外部金鑰存放區故障診斷](xks-troubleshooting.md)。  
在外部金鑰存放區中使用 KMS 金鑰時，請注意每個外部金鑰存放區中的 KMS 金鑰會針對密碼編譯操作共用[自訂金鑰存放區請求配額](requests-per-second.md#rps-key-stores)。如果您超過配額， 會 AWS KMS 傳回 `ThrottlingException`。如需自訂金鑰存放區配額的詳細資訊，請參閱 [自訂金鑰存放區請求配額](requests-per-second.md#rps-key-stores)。

**進一步了解**  
+ 若要進一步了解外部金鑰存放區，請參閱 [外部金鑰存放區](keystore-external.md)。
+ 若要進一步了解外部金鑰存放區中的金鑰材料，請參閱 [外部金鑰](keystore-external.md#concept-external-key)。
+ 若要在外部金鑰存放區中建立 KMS 金鑰，請參閱 [在外部金鑰存放區中建立 KMS 金鑰](create-xks-keys.md)。
+ 若要識別和檢視外部金鑰存放區中的 KMS 金鑰，請參閱 [識別外部金鑰存放區中的 KMS 金鑰](identify-key-types.md#view-xks-key)。
+ 若要了解在外部金鑰存放區中刪除 KMS 金鑰的特殊考量，請參閱[從外部金鑰存放區刪除 KMS 金鑰](deleting-keys.md#delete-xks-key)。