

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

# HMAC KMS キーを作成する
<a name="hmac-create-key"></a>

HMAC KMS キーは、 AWS KMS コンソール、 [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html](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)を使用して作成できます。

HMAC KMS キーを作成するときは、キー仕様を選択する必要があります。 は[、HMAC KMS キーの複数のキー仕様](symm-asymm-choose-key-spec.md#hmac-key-specs) AWS KMS をサポートしています。ユーザーが選択するキー仕様は、規制、セキュリティ、またはビジネス要件に応じて決定される場合があります。一般に、長いキーはブルートフォース攻撃に対する耐性が高くなります。

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

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

を使用して HMAC KMS キー AWS マネジメントコンソール を作成できます。HMAC KMS キーは、キーの用途が **[Generate and verify MAC]** (MAC の生成と検証) である対称キーです。マルチリージョンの HMAC キーを作成することもできます。

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. [**キーの種類**] で、[**対称**] を選択します。

   HMAC KMS キーは対称です。同じキーを使用して、HMAC タグの生成と検証を行います。

1. **[Key usage]** （キーの使用) には、**[Generate and verify MAC]** (MAC の生成と検証) を選択します。

   MAC の生成と検証は、HMAC KMS キーに対して唯一有効なキーの用途です。
**注記**  
対称キーに対する **[Key usage]** (キーの使用) は、選択されたリージョンで HMAC KMS キーがサポートされている場合にのみ表示されます。

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

   選択するキーの仕様は、規制、セキュリティ、またはビジネス要件に応じて決定できます。一般に、キーが長いほど安全性が高くなります。

1. [マルチリージョン](multi-region-keys-overview.md)の*プライマリ* HMAC キーを作成するには、**アドバンストオプション**で**マルチリージョンキー**を選択します。この KMS キーに定義する[共有プロパティ](multi-region-keys-overview.md#mrk-sync-properties) (キーのタイプとキーの用途など) は、そのレプリカキーと共有されます。

   この手順を使用してレプリカキーを作成することはできません。マルチリージョンのレプリカ HMAC キーを作成するには、[レプリカキーを作成するための手順](multi-region-keys-replicate.md)に従ってください。

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

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

   KMS キーを HMAC キーとして識別するエイリアス (`HMAC/test-key` など) の使用をお勧めします。これにより、 AWS KMS タグやエイリアスでキーをソートおよびフィルタリングできるコンソールで HMAC キーを簡単に識別できますが、キー仕様やキーの使用法では識別できません。

   エイリアスは 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 マネジメントコンソール AWS マネジメントコンソール か、[UpdateKeyDescription](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateKeyDescription.html) オペレーションを使用します。

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

   `Type=HMAC` など、キーを HMAC キーとして識別するタグの追加を検討してください。これにより、 AWS KMS タグやエイリアスでキーをソートおよびフィルタリングできるコンソールで HMAC キーを簡単に識別できますが、キー仕様やキーの使用法では識別できません。

    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]** (完了) を選択して HMAC KMS キーを作成します。

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

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

HMAC KMS キーを作成するときは、KMS キーのタイプを決定する `KeySpec` パラメータを指定する必要があります。また、GENERATE\$1VERIFY\$1MAC が HMAC キーに唯一有効なキーの用途であっても、GENERATE\$1VERIFY\$1MAC の `KeyUsage` 値を指定する必要があります。[マルチリージョン](multi-region-keys-overview.md)の HMAC KMS キーを作成するには、値が `true` の `MultiRegion` パラメータを追加します。KMS キー作成後にこれらのプロパティを変更することはできません。

`CreateKey` オペレーションでは、エイリアスを指定することはできませんが、[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html) オペレーションを実行して、新しい KMS キーのエイリアスを作成できます。KMS キーを HMAC キーとして識別するエイリアス (`HMAC/test-key` など) の使用をお勧めします。これにより、 AWS KMS エイリアスでキーをソートおよびフィルタリングできるコンソールで HMAC キーを簡単に識別できますが、キー仕様やキーの使用法では識別できません。

HMAC キーがサポートされていない で AWS リージョン HMAC KMS キーを作成しようとすると、`CreateKey`オペレーションは を返します。 `UnsupportedOperationException`

以下の例では、`CreateKey` オペレーションを使用して 512 ビットの HMAC KMS キーを作成します。

```
$ aws kms create-key --key-spec HMAC_512 --key-usage GENERATE_VERIFY_MAC
{
    "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": 1669973196.214,
        "MultiRegion": false,
        "KeySpec": "HMAC_512",
        "CustomerMasterKeySpec": "HMAC_512",
        "KeyUsage": "GENERATE_VERIFY_MAC",
        "MacAlgorithms": [
            "HMAC_SHA_512"
        ],
        "AWSAccountId": "111122223333",
        "Origin": "AWS_KMS",
        "Enabled": true
    }
}
```