

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

# 非対称 KMS キーを作成する
<a name="asymm-create-key"></a>

 AWS KMS コンソール操作で、または [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API もしくは [AWS::KMS::Key CloudFormation テンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)を使用して、[非対称 KMS キー](symmetric-asymmetric.md)を作成できます。非対称 KMS キーは、暗号化、署名、または共有シークレットの取得に使用する公開キーとプライベートキーのキーペアを表します。プライベートキーは 内に残ります AWS KMS。の外部で使用するパブリックキーをダウンロードするには AWS KMS、「」を参照してください[パブリックキーをダウンロードする](download-public-key.md)。

非対称 KMS キーを作成するときは、キー仕様を選択する必要があります。選択するキー仕様は、多くの場合、規制、セキュリティ、ビジネス要件によって決定されます。また、暗号化または署名する必要があるメッセージのサイズによっても影響を受ける可能性があります。一般に、長い暗号化キーは、ブルートフォース攻撃に対してより耐性があります。サポートされているすべてのキー仕様の詳細については、「[キー仕様のリファレンス](symm-asymm-choose-key-spec.md)」を参照してください。

AWS と統合する サービスは、非対称 KMS キーをサポート AWS KMS していません。 AWS サービスに保存または管理するデータを暗号化する KMS キーを作成する場合は、[対称暗号化 KMS キーを作成します](create-symmetric-cmk.md)。

KMS キーの作成に必要なアクセス許可については、[KMS キーを作成するためのアクセス許可](create-keys.md#create-key-permissions) を参照してください。

## AWS KMS コンソールの使用
<a name="create-asymmetric-keys-console"></a>

を使用して非対称 AWS KMS keys (KMS キー) AWS マネジメントコンソール を作成できます。各非対称 KMS キーは、公開キーとプライベートキーのキーペアを表します。

**重要**  
エイリアス、説明、またはタグには、機密情報や重要情報を含めないでください。これらのフィールドは、CloudTrail ログやその他の出力にプレーンテキストで表示される場合があります。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) で AWS Key Management Service (AWS KMS) コンソールを開きます。

1. を変更するには AWS リージョン、ページの右上隅にあるリージョンセレクターを使用します。

1. ナビゲーションペインで、**[カスタマーマネージドキー]** を選択します。

1. **[Create key]** (キーの作成) を選択します。

1. 非対称 KMS キーを作成するには、[**Key type**] (キータイプ) で [**Asymmetric**] (非対称) を選択します。

1. 公開キー暗号化用の非対称 KMS キーを作成するには、**[キーの使用]** (キーの使用方法) で [**Encrypt and decrypt**] (暗号化と復号) を選択します。

   メッセージに署名して署名を検証するための非対称 KMS キーを作成するには、**[キーの使用]** (キーの使用方法) で **[署名と検証]** を選択します。

   共有シークレットを取得するための非対称 KMS キーを作成するには、**[キーの使用]** で **[キーアグリーメント]** を選択します。

   キー使用法の値の選択については、を参照してください [作成する KMS キーのタイプの選択](create-keys.md#symm-asymm-choose)。

1. 非対称 KMS キーの仕様 ( [**Key spec**] (キー仕様)) を選択します。

1. [**次へ**] を選択します。

1. KMS キーの[エイリアス](kms-alias.md)を入力します。エイリアス名の先頭を **aws/** にすることはできません。この **aws/** プレフィックスは、アカウント内の AWS マネージドキー を表すために、Amazon Web Services によって予約されます。

   *エイリアス*は、コンソールと一部の AWS KMS APIs。保護する予定のデータタイプ、または KMS キーで使用する予定のアプリケーションを示すエイリアスを選択することをお勧めします。

   エイリアスは AWS マネジメントコンソールで KMS キーを作成するときに必要です。[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) オペレーションの使用時にエイリアスを指定することはできません。ただし、コンソールまたは [CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html) オペレーションを使用して、既存の KMS キーのエイリアスを作成できます。詳細については、「[のエイリアス AWS KMS](kms-alias.md)」を参照してください。

1. (オプション) KMS キーの説明を入力します。

   保護する予定のデータタイプ、または KMS キーで使用する予定のアプリケーションを表す説明を入力します。

   今すぐ説明を追加するか、[キーの状態](key-state.md)が `Pending Deletion` または `Pending Replica Deletion` でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、または削除するには、 の KMS キーの詳細ページの説明を編集する AWS マネジメントコンソール か、[UpdateKeyDescription](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateKeyDescription.html) オペレーションを使用します。

1. (オプション) タグキーとオプションのタグ値を入力します。KMS キーに複数のタグを追加するには、[**Add tag**] (タグを追加) を選択します。

    AWS リソースにタグを追加すると、 は使用量とコストをタグ別に集計したコスト配分レポート AWS を生成します。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、[のタグ AWS KMS](tagging-keys.md) および [の ABAC AWS KMS](abac.md) を参照してください。

1. [**次へ**] を選択します。

1. KMS キーを管理できる IAM ユーザーとロールを選択します。
**注意事項**  
このキーポリシーは、この KMS キー AWS アカウント を完全に制御します。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「[デフォルトのキーポリシー](key-policy-default.md)」を参照してください。  
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。  
 AWS KMS コンソールは、ステートメント識別子 のキーポリシーにキー管理者を追加します`"Allow access for Key Administrators"`。このステートメント識別子を変更すると、コンソールでステートメントに加えた更新が表示される方法に影響する可能性があります。

1. (オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [**Key deletion**] (キーの削除) セクションで、[**Allow key administrators to delete this key**] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。

1. [**次へ**] を選択します。

1. [暗号化オペレーション](kms-cryptography.md#cryptographic-operations)で KMS キーを使用できる IAM ユーザーとロールを選択します。
**注意事項**  
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。  
 AWS KMS コンソールは、ステートメント識別子 `"Allow use of the key"`および のキーポリシーにキーユーザーを追加します`"Allow attachment of persistent resources"`。これらのステートメント識別子を変更すると、コンソールでステートメントに加えた更新が表示される方法に影響する可能性があります。

1. (オプション) 暗号化オペレーションにこの KMS キーを使用すること AWS アカウント を他のユーザーに許可できます。これを行うには、ページの下部にある **[他の AWS アカウントアカウント]** セクションで、**[別の AWS アカウントアカウントを追加する]** を選択し、外部アカウントの AWS アカウント ID 番号を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。
**注記**  
外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらの許可を付与する IAM ポリシーを作成する必要があります。詳細については、「[他のアカウントのユーザーに KMS キーの使用を許可する](key-policy-modifying-external-accounts.md)」を参照してください。

1. **[Next]** (次へ) を選択します。

1. キーのキーポリシーステートメントを確認します。キーポリシーに変更を加えるには、**[編集]** を選択します。

1. [**次へ**] を選択します。

1. 選択したキー設定を確認します。戻って、すべての設定を変更することもできます。

1. [**Finish**] (完了) を選択し、KMS キーを作成します。

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

[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) オペレーションを使用して、非対称 を作成できます AWS KMS key。以下の例では [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

非対称 KMS キーを作成する場合は、作成するキーのタイプを決定する `KeySpec` パラメータを指定する必要があります。また、ENCRYPT\$1DECRYPT、SIGN\$1VERIFY、KEY\$1AGREEMENT の `KeyUsage` 値も指定する必要があります。KMS キー作成後にこれらのプロパティを変更することはできません。

`CreateKey` オペレーションでは、エイリアスを指定することはできませんが、[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html) オペレーションを実行して、新しい KMS キーのエイリアスを作成できます。

**重要**  
`Description` フィールドまたは `Tags` フィールドには、機密情報や重要情報を含めないでください。これらのフィールドは、CloudTrail ログやその他の出力にプレーンテキストで表示される場合があります。

**公開暗号化用の非対称 KMS キーペアを作成する**  
次の例では、`CreateKey` オペレーションを使用して、公開キーの暗号化用に設計された 4096 ビット RSA キーの非対称 KMS キーを作成します。

```
$ aws kms create-key --key-spec RSA_4096 --key-usage ENCRYPT_DECRYPT
{
    "KeyMetadata": {
        "KeyState": "Enabled",
        "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "KeyManager": "CUSTOMER",
        "Description": "",
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "CreationDate": 1569973196.214,
        "MultiRegion": false,
        "KeySpec": "RSA_4096",
        "CustomerMasterKeySpec": "RSA_4096",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "EncryptionAlgorithms": [
            "RSAES_OAEP_SHA_1",
            "RSAES_OAEP_SHA_256"
        ],
        "AWSAccountId": "111122223333",
        "Origin": "AWS_KMS",
        "Enabled": true
    }
}
```

**署名および検証用の非対称 KMS キーペアを作成する**  
次のコマンド例では、署名と検証に使用する ECC キーのペアを表す非対称 KMS キーを作成します。暗号化と復号のために楕円曲線キーペアを作成することはできません。

```
$ aws kms create-key --key-spec ECC_NIST_P521 --key-usage SIGN_VERIFY
{
    "KeyMetadata": {
        "KeyState": "Enabled",
        "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": 1570824817.837,
        "Origin": "AWS_KMS",
        "SigningAlgorithms": [
            "ECDSA_SHA_512"
        ],
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
        "AWSAccountId": "111122223333",
        "KeySpec": "ECC_NIST_P521",
        "CustomerMasterKeySpec": "ECC_NIST_P521",
        "KeyManager": "CUSTOMER",
        "Description": "",
        "Enabled": true,
        "MultiRegion": false,
        "KeyUsage": "SIGN_VERIFY"
    }
}
```

**共有シークレットを取得するための非対称 KMS キーペアを作成する**  
次のコマンド例では、共有シークレットの取得に使用する ECDH キーのペアを表す非対称 KMS キーを作成します。暗号化と復号のために楕円曲線キーペアを作成することはできません。

```
$ aws kms create-key --key-spec ECC_NIST_P256 --key-usage KEY_AGREEMENT
{
    "KeyMetadata": {
        "AWSAccountId": "111122223333",
        "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
        "CreationDate": "2023-12-27T19:10:15.063000+00:00",
        "Enabled": true,
        "Description": "",
        "KeyUsage": "KEY_AGREEMENT",
        "KeyState": "Enabled",
        "Origin": "AWS_KMS",
        "KeyManager": "CUSTOMER",
        "CustomerMasterKeySpec": "ECC_NIST_P256",
        "KeySpec": "ECC_NIST_P256",
        "KeyAgreementAlgorithms": [
            "ECDH"
        ],
        "MultiRegion": false
    }
}
```