

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

# 呼叫 CreateKey
<a name="create-key"></a>

 AWS KMS key 是呼叫 [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API 呼叫的結果。

以下是 [`CreateKey` 請求語法](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#API_CreateKey_RequestSyntax)的子集。

```
{
  "Description": "string",
  "KeySpec": "string",
  "KeyUsage": "string",
  "Origin": "string";
  "Policy": "string"
}
```

請求接受採用 JSON 格式的下列資料。

**Description**  
(選用) 金鑰的說明。建議您選擇描述以協助您決定金鑰是否適用於任務。

**KeySpec**  
指定要建立的 KMS 金鑰類型。預設值 SYMMETRIC\$1DEFAULT 會建立對稱加密 KMS 金鑰。此參數對於對稱加密金鑰而言為選用，而對於所有其他金鑰規格而言則為必要。

**KeyUsage**  
指定金鑰的使用。有效值為 `ENCRYPT_DECRYPT`、`SIGN_VERIFY` 或 `GENERATE_VERIFY_MAC`。預設值為 `ENCRYPT_DECRYPT`。此參數對於對稱加密金鑰而言為選用，而對於所有其他金鑰規格而言則為必要。

** Origin**  
(選用) 指定 KMS 金鑰的金鑰素材來源。預設值為 `AWS_KMS`，表示 AWS KMS 產生和管理 KMS 金鑰的金鑰材料。其他有效值包括 `EXTERNAL`，代表在沒有金鑰材料的情況下為[匯入的金鑰材料](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)建立的 KMS `AWS_CLOUDHSM` 金鑰，並在您控制的 AWS CloudHSM 叢集支援的[自訂金鑰存放區中建立 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)。

**政策**  
(選用) 要連接到金鑰的政策。如果省略政策，則會使用預設政策 (下列) 建立金鑰，以允許擁有 AWS KMS 許可的根帳戶和 IAM 主體對其進行管理。

如需有關政策的詳細資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的 [AWS KMS中的金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)和[預設金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html)。

`CreateKey` 請求傳回包含金鑰 ARN 的[回應](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#API_CreateKey_ResponseSyntax)。

```
arn:<partition>:kms:<region>:<account-id>:key/<key-id>
```

如果 `Origin` 為 `AWS_KMS`，在建立 ARN 之後，會透過已驗證的工作階段提出對 AWS KMS HSM 的請求，以佈建硬體安全模組 (HSM) 備份金鑰 (HBK)。HBK 是 256 位元的金鑰，與 KMS 金鑰的此金鑰 ID 相關聯。它只能在 HSM 上產生，並且設計永遠不會以純文字格式匯出 HSM 邊界之外。HBK 在目前網域金鑰 DK0 下加密。這些加密的 HBK 稱為加密金鑰字符 (EKT)。雖然 HSM 可以設定為使用各種金鑰包裝方法，但目前的實作會使用在已驗證加密配置 Galois 計數器模式 (GCM) 中的 AES-256。這種已驗證的加密模式允許我們保護部分純文字匯出金鑰字符中繼資料。

這在風格上表示為：

```
EKT = Encrypt(DK0, HBK)
```

為您的 KMS 金鑰和後續 HBK 提供兩種基本保護形式：在 KMS 金鑰上設定的授權政策，以及關聯 HBK 上的密碼編譯保護。其餘章節說明密碼編譯保護和 管理函數的安全性 AWS KMS。

除了 ARN 之外，您還可以透過建立金鑰的*別名*，建立讓使用者易記的名稱並將該名稱與 KMS 金鑰建立關聯。一旦別名已與 KMS 金鑰相關聯，就可以使用別名來在加密操作中識別 KMS 金鑰。如需詳細資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的[使用別名](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html)。

多重授權層級涵蓋 KMS 金鑰的使用。 AWS KMS 啟用加密內容和 KMS 金鑰之間的個別授權政策。例如， AWS KMS 使用信封加密的 Amazon Simple Storage Service (Amazon S3) 物件會繼承 Amazon S3 儲存貯體上的政策。不過，對必要加密金鑰的存取權取決於 KMS 金鑰的存取政策。如需 KMS 金鑰授權的資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的[AWS KMS的身分驗證與存取控制](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)。