

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

# 建立外部金鑰存放區
<a name="create-xks-keystore"></a>

您可以在每個 AWS 帳戶 和區域中建立一或多個外部金鑰存放區。每個外部金鑰存放區都必須與外部金鑰管理器相關聯 AWS，以及一個外部金鑰存放區代理 (XKS 代理），其會媒介 AWS KMS 和外部金鑰管理器之間的通訊。如需詳細資訊，請參閱[選擇外部金鑰存放區代理連線選項](choose-xks-connectivity.md)。開始之前，[請確認您需要外部金鑰存放區](keystore-external.md#do-i-need-xks)。大多數客戶都可以使用金鑰材料支援的 KMS AWS KMS 金鑰。

**提示**  
有些外部金鑰管理器會提供更簡單的方法來建立外部金鑰存放區。如需詳細資訊，請參閱外部金鑰管理器文件。

在您建立外部金鑰存放區之前，您需要[備妥先決條件](#xks-requirements)。在建立過程中，您可以指定外部金鑰存放區的屬性。最重要的是，您可以指出 中的外部金鑰存放區是否 AWS KMS 使用[公有端點](choose-xks-connectivity.md#xks-connectivity-public-endpoint)或 [VPC 端點服務](choose-xks-connectivity.md#xks-vpc-connectivity)連線到其外部金鑰存放區代理。您也可以指定連線詳細資訊，包括代理的 URI 端點，以及 將 API 請求 AWS KMS 傳送至代理的代理端點內路徑。

**考量事項**
+ KMS 無法透過 IPv6 與外部金鑰存放區通訊。
+  如果您使用公有端點連線，請確定 AWS KMS 可以使用 HTTPS 連線透過網際網路與您的代理通訊。這包括在外部金鑰存放區代理上設定 TLS，並確保 AWS KMS 和代理之間的任何防火牆允許往返代理上連接埠 443 的 IPv4 流量。建立具有公有端點連線的外部金鑰存放區時， 會透過將狀態請求傳送至外部金鑰存放區代理來 AWS KMS 測試連線。此測試會驗證端點是否可連接，以及您的外部金鑰存放區代理是否將接受使用[外部金鑰存放區代理身分驗證憑證](keystore-external.md#concept-xks-credential)簽署的請求。如果此測試請求失敗，則建立外部金鑰存放區的操作失敗。
+ 如果您使用 VPC 端點服務連接，則請確定網路負載平衡器、私有 DNS 名稱和 VPC 端點服務設定正確且可運作。如果外部金鑰存放區代理不在 VPC 中，您需要確保 VPC 端點服務可以與外部金鑰存放區代理通訊。（當您[將外部金鑰存放區](xks-connect-disconnect.md)連線至其外部金鑰存放區代理時AWS KMS ，測試 VPC 端點服務連線。)
+ AWS KMS 會記錄 [Amazon CloudWatch 指標和維度](monitoring-cloudwatch.md#kms-metrics)，尤其是外部金鑰存放區。根據其中一些指標監控圖形會顯示在每個外部金鑰存放區的 AWS KMS 主控台中。我們強烈建議您使用這些指標來建立監控外部金鑰存放區的警示。這些警示會在效能和操作問題的相關跡象發生之前提醒您。如需說明，請參閱[監控外部金鑰存放區](xks-monitoring.md)。
+ 外部金鑰存放區受[資源配額](resource-limits.md#cks-resource-quota)限制。在外部金鑰存放區中使用 KMS 金鑰會受到[請求配額](requests-per-second.md#rps-key-stores)的限制。在設計外部金鑰存放區實作之前，請檢閱這些配額。

**注意**  
檢閱您的組態，了解可能導致其無法運作的循環相依性。  
例如，如果您使用 AWS 資源建立外部金鑰存放區代理，請確定操作代理不需要在透過該代理存取的外部金鑰存放區中使用 KMS 金鑰。

在中斷連接的狀態下建立所有新的外部金鑰存放區。在外部金鑰存放區中建立 KMS 金鑰之前，必須先[將其連接](about-xks-connecting.md)至外部金鑰存放區代理。若要變更外部金鑰存放區的屬性，請[編輯外部金鑰存放區設定](update-xks-keystore.md)。

**Topics**
+ [備妥先決條件](#xks-requirements)
+ [建立新的外部金鑰存放區](#create-xks)

## 備妥先決條件
<a name="xks-requirements"></a>

在建立外部金鑰存放區之前，您需要組合必要的元件，包括您將用來支援外部金鑰存放區的[外部金鑰管理器](keystore-external.md#concept-ekm)，以及將 AWS KMS 請求轉譯為外部金鑰管理器可理解格式的[外部金鑰存放區代理](keystore-external.md#concept-xks-proxy)。

所有外部金鑰存放區都需要下列元件。除了這些元件之外，您還需要提供其他元件來支援您選擇的[外部金鑰存放區代理連接選項](choose-xks-connectivity.md)。

**提示**  
您的外部金鑰管理器可能包含其中一些元件，也可能會為您設定這些元件。如需詳細資訊，請參閱外部金鑰管理器文件。  
如果您要在 AWS KMS 主控台中建立外部金鑰存放區，您可以選擇上傳以 JSON 為基礎的[代理組態檔案](#proxy-configuration-file)，以指定[代理 URI 路徑](#require-path)和[代理身分驗證憑證](keystore-external.md#concept-xks-credential)。某些外部金鑰存放區代理會為您產生此檔案。如需詳細資訊，請參閱外部金鑰存放區代理或外部金鑰管理器的文件。

### 外部金鑰管理器
<a name="require-ekm"></a>

每個外部金鑰存放區至少需要一個[外部金鑰管理器](keystore-external.md#concept-ekm)執行個體。這可以是實體或虛擬硬體安全模組 (HSM)，也可以是金鑰管理軟體。

您可以使用單一金鑰管理器，但建議有至少兩個相關的金鑰管理器執行個體共用密碼編譯金鑰以進行備援。外部金鑰存放區不需要獨佔使用外部金鑰管理器。不過，外部金鑰管理器必須具有處理來自使用外部金鑰存放區中 KMS 金鑰之 AWS 服務的預期加密和解密請求頻率的容量。您的外部金鑰管理器應設定為每秒最多可處理 1800 個請求，並在每個請求的 250 毫秒逾時內回應。我們建議您將外部金鑰管理器靠近 ， AWS 區域 以便網路往返時間 (RTT) 為 35 毫秒或更短。

如果您的外部金鑰存放區代理允許，則您可以變更與外部金鑰存放區代理關聯的外部金鑰管理器，但新的外部金鑰管理器必須是具有相同金鑰材料的備份或快照。如果您與 KMS 金鑰相關聯的外部金鑰不再可供外部金鑰存放區代理使用， AWS KMS 則 無法解密使用 KMS 金鑰加密的加密文字。

外部金鑰管理器必須可供外部金鑰存放區代理存取。如果來自代理的 [GetHealthStatus](keystore-external.md#xks-concepts) 回應報告所有外部金鑰管理器執行個體都為 `Unavailable`，則建立外部金鑰存放區的所有嘗試都會失敗，並顯示 [`XksProxyUriUnreachableException`](xks-troubleshooting.md#fix-xks-proxy)。

### 外部金鑰存放區代理
<a name="require-proxy"></a>

您必須指定[外部金鑰存放區代理](keystore-external.md#concept-xks-proxy) (XKS 代理)，其符合 [AWS KMS 外部金鑰存放區代理規格](https://github.com/aws/aws-kms-xksproxy-api-spec/)中的設計需求。您可以開發或購買外部金鑰存放區代理，或使用外部金鑰存放區代理提供或內建於外部金鑰管理器中。 AWS KMS 建議將外部金鑰存放區代理設定為每秒處理最多 1800 個請求，並在每個請求的 250 毫秒逾時內回應。我們建議您將外部金鑰管理器靠近 ， AWS 區域 以便網路往返時間 (RTT) 為 35 毫秒或更短。

您可以將外部金鑰存放區代理用於多個外部金鑰存放區，但是每個外部金鑰存放區在其請求的外部金鑰存放區代理內必須具有唯一的 URI 端點和路徑。

如果您使用的是 VPC 端點服務連接，則可以在 Amazon VPC 中找到外部金鑰存放區代理，但這不是必需的。您可以在 外部找到代理 AWS，例如在私有資料中心，並僅使用 VPC 端點服務與代理通訊。

### 代理身分驗證憑證
<a name="require-credential"></a>

若要建立外部金鑰存放區，您必須指定外部金鑰存放區代理身分驗證憑證 (`XksProxyAuthenticationCredential`)。

您必須在外部金鑰存放區 proxy AWS KMS 上建立 的[身分驗證憑證](keystore-external.md#concept-xks-credential) (`XksProxyAuthenticationCredential`)。透過使用 [Signature 第 4 版 (SigV4) 程序](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)搭配外部金鑰存放區 AWS KMS 代理身分驗證憑證來簽署代理的請求，以對您的代理進行身分驗證。您可以在建立外部金鑰存放區時指定身分驗證憑證，而且您可以隨時[將其變更](update-xks-keystore.md)。如果代理輪換憑證，則請務必更新外部金鑰存放區的憑證值。

代理身分驗證憑證有兩部分。您必須為外部金鑰存放區提供這兩部分。
+ 存取金鑰 ID：識別私密存取金鑰。您可以提供純文字形式的 ID。
+ 私密存取金鑰： Credential 的私密部分。在儲存私密存取金鑰之前， 會在登入資料中 AWS KMS 加密私密存取金鑰。

 AWS KMS 用來簽署外部金鑰存放區代理請求的 SigV4 登入資料與您 AWS 帳戶中任何主體相關聯的任何 AWS Identity and Access Management SigV4 登入資料無關。請勿針對外部金鑰存放區代理重複使用任何 IAM SigV4 憑證。

### 代理連接
<a name="require-connectivity"></a>

若要建立外部金鑰存放區，您必須指定外部金鑰存放區代理連接選項 (`XksProxyConnectivity`)。

AWS KMS 可以使用[公有端點](choose-xks-connectivity.md#xks-connectivity-public-endpoint)或 [Amazon Virtual Private Cloud (Amazon VPC) 端點服務](choose-xks-connectivity.md#xks-vpc-connectivity)與您的外部金鑰存放區代理通訊。雖然公有端點的設定和維護較為簡單，但可能不符合每個安裝的安全需求。如果選擇 Amazon VPC 端點服務連接選項，則必須建立和維護所需元件，包括在兩個不同可用區域中至少具有兩個子網路的 Amazon VPC、具有網路負載平衡器和目標群組的 VPC 端點服務，以及 VPC 端點服務的私有 DNS 名稱。

您可以變更外部金鑰存放區的[代理連接選項](update-xks-keystore.md)。但是，您必須確保與外部金鑰存放區中 KMS 金鑰相關聯的金鑰材料持續可用。否則， AWS KMS 無法解密使用這些 KMS 金鑰加密的任何加密文字。

如需決定哪個代理連接選項最適合您的外部金鑰存放區的說明，請參閱 [選擇外部金鑰存放區代理連線選項](choose-xks-connectivity.md)。如需建立和設定 VPC 端點服務連接的說明，請參閱 [設定 VPC 端點服務連線](vpc-connectivity.md)。

### 代理 URI 端點
<a name="require-endpoint"></a>

若要建立外部金鑰存放區，您必須指定 AWS KMS 用來將請求傳送至外部金鑰存放區代理的端點 (`XksProxyUriEndpoint`)。

通訊協定必須是連接埠 443 上透過 IPv4 的 HTTPS. AWS KMS communicates。請勿在代理 URI 端點值中指定連接埠。
+ [公有端點連接](choose-xks-connectivity.md#xks-connectivity-public-endpoint) – 指定外部金鑰存放區代理的公開可用端點。在建立外部金鑰存放區之前，必須可連接此端點。
+ [VPC 端點服務連接](choose-xks-connectivity.md#xks-vpc-connectivity) – 指定 `https://`，後跟 VPC 端點服務的私有 DNS 名稱。

在外部金鑰存放區代理上設定的 TLS 伺服器憑證必須與外部金鑰存放區代理 URI 端點中的網域名稱相符，並由外部金鑰存放區支援的憑證授權機構發行。如需清單，請參閱[受信任的憑證授權機構](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities)。在發行 TLS 憑證之前，您的憑證授權機構將要求提供網域擁有權證明。

TLS 憑證上的主體通用名稱 (CN) 必須與私有 DNS 名稱相符。例如，如果私有 DNS 名稱為 `myproxy-private.xks.example.com`，則 TLS 憑證上的 CN 必須為 `myproxy-private.xks.example.com` 或 `*.xks.example.com`。

您可以[變更代理 URI 端點](update-xks-keystore.md)，但請確定外部金鑰存放區代理可存取與外部金鑰存放區中 KMS 金鑰相關聯的金鑰材料。否則， AWS KMS 無法解密使用這些 KMS 金鑰加密的任何加密文字。

**唯一性要求**
+ 組合的代理 URI 端點 (`XksProxyUriEndpoint`) 和代理 URI 路徑 (`XksProxyUriPath`) 值在 AWS 帳戶 和區域中必須唯一。
+ 具有公有端點連接的外部金鑰存放區可以共用相同的代理 URI 端點，前提是其具有不同的代理 URI 路徑值。
+ 具有公有端點連線能力的外部金鑰存放區無法使用與具有相同 VPC 端點服務連線能力的任何外部金鑰存放區相同的代理 URI 端點值 AWS 區域，即使金鑰存放區不同 AWS 帳戶。
+  具有 VPC 端點連接的每個外部金鑰存放區都必須有自己的私有 DNS 名稱。代理 URI 端點 （私有 DNS 名稱） 在 AWS 帳戶 和 區域中必須是唯一的。

### 代理 URI 路徑
<a name="require-path"></a>

若要建立外部金鑰存放區，您必須在外部金鑰存放區代理中指定[所需代理 API](keystore-external.md#concept-proxy-apis) 的基本路徑。該值必須以 `/` 開頭，且必須以 /kms/xks/v1 結尾，其中 `v1` 表示外部金鑰存放區代理的 AWS KMS API 版本。此路徑可以在必要元素之間包含選用字首，例如 `/example-prefix/kms/xks/v1`。若要尋找此值，請參閱外部金鑰存放區代理的文件。

AWS KMS 會將代理請求傳送到代理 URI 端點和代理 URI 路徑串連指定的地址。例如，如果代理 URI 端點為 `https://myproxy.xks.example.com`且代理 URI 路徑為 `/kms/xks/v1`， 會將其代理 API 請求 AWS KMS 傳送至 `https://myproxy.xks.example.com/kms/xks/v1`。

您可以[變更代理 URI 路徑](update-xks-keystore.md)，但請確定外部金鑰存放區代理可存取與外部金鑰存放區中 KMS 金鑰相關聯的金鑰材料。否則， AWS KMS 無法解密使用這些 KMS 金鑰加密的任何加密文字。

**唯一性要求**
+ 組合的代理 URI 端點 (`XksProxyUriEndpoint`) 和代理 URI 路徑 (`XksProxyUriPath`) 值在 AWS 帳戶 和區域中必須唯一。

### VPC 端點服務
<a name="require-vpc-service-name"></a>

指定用於與外部金鑰存放區代理通訊的 Amazon VPC 端點服務名稱。只有使用 VPC 端點服務連接的外部金鑰存放區才需要此元件。如需為外部金鑰存放區設定和配置 VPC 端點服務的說明，請參閱 [設定 VPC 端點服務連線](vpc-connectivity.md)。

VPC 端點服務必須具有下列屬性：
+ VPC 端點服務可以位於與 AWS 帳戶 外部金鑰存放區相同的或不同的 中。
  + VPC 端點服務必須位於與外部金鑰存放區 AWS 區域 相同的 中。
  + 如果 VPC 端點服務位於不同的 中，您將需要提供 VPC 端點服務的 AWS 帳戶 ID AWS 帳戶。
+ 其必須擁有已連接到至少兩個子網路的網路負載平衡器 (NLB)，每個位於不同的可用區域中。
+ VPC 端點服務的*允許主體清單*必須包含區域的 AWS KMS 服務主體：`cks.kms.<region>.amazonaws.com`，例如 `cks.kms.us-east-1.amazonaws.com`。
  + 如果您的 Amazon VPC 端點服務是由 AWS 帳戶 與 AWS 帳戶 擁有外部金鑰存放區 (XKS) 不同的 所擁有，您也需要允許 XKS 存取 VPC 端點服務。若要這麼做，[請允許將 XKS AWS 帳戶 ID 列為 Amazon VPC 端點服務的主體](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions)。
+ 其不能要求接受連接請求。
+ 其在較高級別的公有網域中必須具有私有 DNS 名稱。例如，在公有 `xks.example.com` 網域中擁有私有 DNS 名稱 myproxy-private.xks.example.com。

  具有 VPC 端點服務連接之外部金鑰存放區的私有 DNS 名稱在其 AWS 區域中必須唯一。
+ 私有 DNS 名稱網域的[網域驗證狀態](vpc-connectivity.md#xks-private-dns)必須為 `verified`。
+ 在外部金鑰存放區代理上設定的 TLS 伺服器憑證必須指定可連接端點的私有 DNS 主機名稱。

**唯一性要求**
+ 具有 VPC 端點連接的外部金鑰存放區可以共用 `Amazon VPC`，但是每個外部金鑰存放區都必須有自己的 VPC 端點服務和私有 DNS 名稱。

### 代理組態檔案
<a name="proxy-configuration-file"></a>

*代理組態檔案*是一個可選的基於 JSON 的檔案，其中包含外部金鑰存放區的[代理 URI 路徑](#require-path)和[代理身分驗證憑證](#require-credential)屬性的值。在 AWS KMS 主控台中建立或[編輯外部金鑰存放區](update-xks-keystore.md)時，您可以上傳代理組態檔案，以提供外部金鑰存放區的組態值。使用此檔案可避免輸入和貼上錯誤，並確保外部金鑰存放區中的值與外部金鑰存放區代理中的值相符。

代理組態檔案由外部金鑰存放區代理產生。若要了解您的外部金鑰存放區代理是否提供代理組態檔案，請參閱您的外部金鑰存放區代理文件。

以下是具有虛構值的正確代理組態檔案範例。

```
{
  "XksProxyUriPath": "/example-prefix/kms/xks/v1",
  "XksProxyAuthenticationCredential": {
    "AccessKeyId": "ABCDE12345670EXAMPLE",
    "RawSecretAccessKey": "0000EXAMPLEFA5FT0mCc3DrGUe2sti527BitkQ0Zr9MO9+vE="
  }
}
```

您只能在 AWS KMS 主控台中建立或編輯外部金鑰存放區時上傳代理組態檔案。您無法將其與 [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html) 或 [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html) 操作搭配使用，但您可以使用代理組態檔案中的值來確保您的參數值正確無誤。

## 建立新的外部金鑰存放區
<a name="create-xks"></a>

組合必要的先決條件後，您可以在 AWS KMS 主控台中或使用 [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html) 操作建立新的外部金鑰存放區。

### 使用 AWS KMS 主控台
<a name="create-keystore-console"></a>

在建立外部金鑰存放區之前，[請選擇您的代理連線類型](choose-xks-connectivity.md)，並確保您已建立並設定所有必要的[元件](#xks-requirements)。如果您需要尋找任何必要值的說明，請參閱外部金鑰存放區代理或金鑰管理軟體的文件。

**注意**  
在 中建立外部金鑰存放區時 AWS 管理主控台，您可以上傳 JSON 型*代理組態檔案*，其中包含[代理 URI 路徑](#require-path)和[代理身分驗證憑證](#require-credential)的值。某些代理會為您產生此檔案。這不是必要的。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

1. 在導覽窗格中，依次選擇 **Custom key stores** (自訂金鑰存放區)、**External key stores** (外部金鑰存放區)。

1. 選擇 **Create external key store** (建立外部金鑰存放區)。

1. 輸入外部金鑰存放區的易記名稱。該名稱在帳戶的所有外部金鑰存放區中必須唯一。
**重要**  
請勿在此欄位包含機密或敏感資訊。此欄位可能以純文字顯示於 CloudTrail 日誌與其他輸出。

1. 選擇您的[代理連接](#require-connectivity)類型。

   您的代理連接選項會決定外部金鑰存放區代理[所需的元件](#xks-requirements)。如需進行此選擇的說明，請參閱 [選擇外部金鑰存放區代理連線選項](choose-xks-connectivity.md)。

   1. 如果您的 **VPC 端點服務位於不同的 中，請選取跨帳戶** VPC 端點服務 AWS 帳戶。然後在 VPC 端點服務擁有者帳戶 AWS 帳戶 ID 欄位中輸入 VPC 端點擁有者的 ID。 ****

   1. 選擇或輸入此外部金鑰存放區的 [VPC 端點服務](#require-vpc-service-name)名稱。只有在外部金鑰存放區代理連線類型為 **VPC 端點服務**時，才會顯示此步驟。

      VPC 端點服務及其 VPC 必須滿足外部金鑰存放區的要求。如需詳細資訊，請參閱[備妥先決條件](#xks-requirements)。

1. 選擇或輸入此外部金鑰存放區的 [VPC 端點服務](#require-vpc-service-name)名稱。只有當外部金鑰存放區代理連接類型為 **VPC endpoint service** (VPC 端點服務) 時，此步驟才會出現。

   VPC 端點服務及其 VPC 必須滿足外部金鑰存放區的要求。如需詳細資訊，請參閱[備妥先決條件](#xks-requirements)。

1. 輸入您的[代理 URI 端點](#require-endpoint)。通訊協定必須是連接埠 443 上透過 IPv4 的 HTTPS. AWS KMS communicates。請勿在代理 URI 端點值中指定連接埠。

   如果 AWS KMS 辨識您在上一個步驟中指定的 VPC 端點服務，它會為您完成此欄位。

   若為公有端點連接，請輸入公開可用的端點 URI。若為 VPC 端點連接，請輸入 `https://`，後跟 VPC 端點服務的私有 DNS 名稱。

1. 若要輸入[代理 URI 路徑](#require-path)字首和[代理身分驗證憑證](#require-credential)的值，請上傳代理組態檔案，或手動輸入值。
   + 如果您有可選的[代理組態檔案](#proxy-configuration-file)，其中包含[代理 URI 路徑](#require-path.title)和[代理身分驗證憑證](#require-credential)的值，則請選擇 **Upload configuration file** (上傳組態檔案)。遵循步驟上傳檔案。

     上傳檔案時，主控台會在可編輯欄位中顯示檔案中的值。您可以立即變更值，或在建立外部金鑰存放區後[編輯這些值](update-xks-keystore.md)。

     若要顯示私密存取金鑰的值，請選擇 **Show secret access key** (顯示私密存取金鑰)。
   + 如果您沒有代理組態檔案，則可以手動輸入代理 URI 路徑和代理身分驗證憑證。

     1. 如果您沒有代理組態檔案，則可以手動輸入代理 URI。主控台會提供必要的 **/kms/xks/v1** 值。

        如果您的[代理 URI 路徑](#require-path)包含可選字首，例如 `/example-prefix/kms/xks/v1` 中的 `example-prefix`，則請在 **Proxy URI path prefix** (代理 URI 路徑字首) 欄位中輸入該字首。否則，請將欄位保留空白。

     1. 如果您沒有代理組態檔案，則可以手動輸入[代理身分驗證憑證](keystore-external.md#concept-xks-credential)。存取金鑰 ID 和私密存取金鑰都是必要項目。
        + 在 **Proxy credential: Access key ID** (代理憑證：存取金鑰 ID) 中，輸入代理身分驗證憑證的存取金鑰 ID。存取金鑰 ID 可識別私密存取金鑰。
        + 在 **Proxy credential: Secret access key** (代理憑證：私密存取金鑰) 中，輸入代理身分驗證憑證的私密存取金鑰。

        若要顯示私密存取金鑰的值，請選擇 **Show secret access key** (顯示私密存取金鑰)。

        此程序不會設定或變更您在外部金鑰存放區代理上建立的身分驗證憑證。其只是將這些值與您的外部金鑰存放區相關聯。如需有關設定、變更及輪換代理身分驗證憑證的資訊，請參閱外部金鑰存放區代理或金鑰管理軟體的文件。

        如果您的代理身分驗證憑證發生變更，則請編輯外部金鑰存放區的[憑證設定](update-xks-keystore.md)。

1. 選擇 **Create external key store** (建立外部金鑰存放區)。

當程序成功時，新的外部金鑰存放區會出現在帳戶和區域的外部金鑰存放區清單中。如果不成功，則會出現錯誤訊息來描述問題，並提供如何修正的說明。如果您需要更多協助，請參閱[外部金鑰的 CreateKey 錯誤](xks-troubleshooting.md#fix-external-key-create)。

**下一步**：不會自動連接新的外部金鑰存放區。您必須先[將外部金鑰存放區](xks-connect-disconnect.md)連接到其外部金鑰存放區代理，才能 AWS KMS keys 在外部金鑰存放區中建立 。

### 使用 AWS KMS API
<a name="create-keystore-api"></a>

您可以使用建 [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html) 操作來建立新的外部金鑰存放區。如需尋找必要參數值的說明，請參閱外部金鑰存放區代理或金鑰管理軟體的文件。

**提示**  
在使用 `CreateCustomKeyStore` 操作時，您無法上傳[代理組態檔案](#proxy-configuration-file)。但是，您可以使用代理組態檔案中的值來確保參數值正確無誤。

若要建立外部金鑰存放區，`CreateCustomKeyStore` 操作需要下列參數值。
+ `CustomKeyStoreName` – 外部金鑰存放區在帳戶中唯一的易用名稱。
**重要**  
請勿在此欄位包含機密或敏感資訊。此欄位可能以純文字顯示於 CloudTrail 日誌與其他輸出。
+ `CustomKeyStoreType` – 指定 `EXTERNAL_KEY_STORE`。
+ [`XksProxyConnectivity`](#require-connectivity) – 指定 `PUBLIC_ENDPOINT` 或 `VPC_ENDPOINT_SERVICE`。
+ [`XksProxyAuthenticationCredential`](keystore-external.md#concept-xks-credential) – 指定存取金鑰 ID 和私密存取金鑰 ID。
+ [`XksProxyUriEndpoint`](#require-endpoint) – AWS KMS 用於與外部金鑰存放區代理通訊的端點。
+ [`XksProxyUriPath`](#require-path) – 連接代理 API 的代理內路徑。
+ [`XksProxyVpcEndpointServiceName`](#require-vpc-service-name) – 僅當 `XksProxyConnectivity` 值為 `VPC_ENDPOINT_SERVICE` 時才需要。

**注意**  
如果您使用 1.0 AWS CLI 版，請在指定具有 HTTP 或 HTTPS 值的參數之前執行下列命令，例如 `XksProxyUriEndpoint` 參數。  

```
aws configure set cli_follow_urlparam false
```
否則， AWS CLI 版本 1.0 會將參數值取代為在該 URI 地址找到的內容，造成下列錯誤：  

```
Error parsing parameter '--xks-proxy-uri-endpoint': Unable to retrieve 
https:// : received non 200 status code of 404
```

下列範例使用虛構值。在執行命令之前，請將其取代為外部金鑰存放區的有效值。

建立具有公有端點連接的外部金鑰存放區。

```
$ aws kms create-custom-key-store
        --custom-key-store-name ExampleExternalKeyStorePublic \
        --custom-key-store-type EXTERNAL_KEY_STORE \
        --xks-proxy-connectivity PUBLIC_ENDPOINT \
        --xks-proxy-uri-endpoint https://myproxy.xks.example.com \
        --xks-proxy-uri-path /kms/xks/v1 \
        --xks-proxy-authentication-credential AccessKeyId=<value>,RawSecretAccessKey=<value>
```

建立具有 VPC 端點服務連接的外部金鑰存放區。

```
$ aws kms create-custom-key-store
        --custom-key-store-name ExampleExternalKeyStoreVPC \
        --custom-key-store-type EXTERNAL_KEY_STORE \
        --xks-proxy-connectivity VPC_ENDPOINT_SERVICE \
        --xks-proxy-vpc-endpoint-service-name com.amazonaws.vpce.us-east-1.vpce-svc-example \
        --xks-proxy-uri-endpoint https://myproxy-private.xks.example.com \
        --xks-proxy-uri-path /kms/xks/v1 \
        --xks-proxy-authentication-credential AccessKeyId=<value>,RawSecretAccessKey=<value>
```

當操作成功時，`CreateCustomKeyStore` 會傳回自訂金鑰存放區 ID，如下回應範例所示。

```
{
    "CustomKeyStoreId": cks-1234567890abcdef0
}
```

如果操作失敗，請修正例外狀況所指出的錯誤，然後重試。如需其他說明，請參閱[外部金鑰存放區故障診斷](xks-troubleshooting.md)。

**下一步**：若要使用外部金鑰存放區，請[將其連接至其外部金鑰存放區代理](xks-connect-disconnect.md)。