

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 形式で受け入れます。

**説明**  
(オプション) キーの説明。キーがタスクに適しているかどうかを判断するのに役立つ説明にすることをお勧めします。

**KeySpec**  
作成する KMS キーのタイプを指定します。デフォルト値 SYMMETRIC\_DEFAULT は、対称暗号化 KMS キーを作成します。このパラメーターは、対称暗号化キーでオプションですが、他のすべてのキー仕様では必須です。

**KeyUsage**  
キーの用途を指定します。有効な値は `ENCRYPT_DECRYPT`、`SIGN_VERIFY`、または `GENERATE_VERIFY_MAC` です。デフォルト値は `ENCRYPT_DECRYPT` です。このパラメーターは、対称暗号化キーでオプションですが、他のすべてのキー仕様では必須です。

** オリジン**  
(オプション) KMS キーのキーマテリアルのソースを指定します。デフォルト値は です。これは`AWS_KMS`、 が KMS キーのキーマテリアル AWS KMS を生成および管理していることを示します。その他の有効な値には`EXTERNAL`、[インポートされたキーマテリアルのキーマテリアルなしで作成された KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)を表`AWS_CLOUDHSM`し、ユーザーが管理する AWS CloudHSM クラスターにバックアップされた[カスタムキーストア](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)に KMS キーを作成する が含まれます。

**ポリシー**  
(オプション) キーにアタッチするポリシー。ポリシーが省略された場合、キーは次に示すデフォルトのポリシーで作成され、ルートアカウントと AWS KMS プリンシパルを持つ IAM ユーザーがキーを管理できるようになります。

ポリシーの詳細については、「AWS Key Management Service デベロッパーガイド」の「[AWS KMSのキーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)」を参照してください。

`CreateKey` リクエストはキー ARM を含む[レスポンス](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 は、KMS キーのキー ID に関連付けられている 256 ビットのキーです。これは HSM 上でのみ生成でき、HSM 境界の外側にクリアテキストでエクスポートされないように設計されています。HBK は、現在のドメインキー DK0 で暗号化されます。これらの暗号化された HBK は、暗号化キートークン (EKT) と呼ばれます。HSM はさまざまなキーラッピング方法を使用するように設定できますが、現在の実装では、Galois Counter Mode (GCM) の AES-256 と呼ばれる認証された暗号化方式が使用されます。この認証済み暗号化モードでは、クリアテキストでエクスポートされたキートークンのメタデータを保護できます。

これは、スタイル上は次のように表されます。

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

KMS キーとその後の HBK には、KMS キーに設定された許可ポリシーと、関連付けられた HBK の暗号化保護という 2 つの基礎的な保護方法が用意されています。残りのセクションでは、暗号化保護と の管理機能のセキュリティについて説明します 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)」を参照してください。