HMAC KMS キーの作成 - AWS Key Management Service

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

HMAC KMS キーの作成

HMAC KMS キーは、AWS KMS コンソール、CreateKey API、または AWS CloudFormation テンプレートを使用して作成することができます。

AWS KMS は、HMAC KMS キーに対して複数のキー仕様をサポートします。ユーザーが選択するキー仕様は、規制、セキュリティ、またはビジネス要件に応じて決定される場合があります。一般に、長いキーはブルートフォース攻撃に対する耐性が高くなります。

重要

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

AWS のサービス内のデータを暗号化するために KMS キーを作成している場合は、対称暗号化 KMS キーを使用します。AWS KMS と統合された AWS のサービスは、非対称 KMS キー、または HMAC KMS キーをサポートしません。対称暗号化 KMS キーの作成方法については、「キーの作成」を参照してください。

詳細はこちら

  • 作成する KMS キーの種類を判断するには、「KMS キータイプの選択」を参照してください。

  • このトピックで説明されている手順を使用して、マルチリージョンのプライマリ HMAC KMS キーを作成できます。マルチリージョン HMAC キーをレプリケートするには、「マルチリージョンのレプリカキーを作成する」を参照してください。

  • KMS キーの作成に必要なアクセス許可については、KMS キーを作成するためのアクセス許可 を参照してください。

  • AWS CloudFormation テンプレートを使用して HMAC KMS キーを作成する方法については、AWS CloudFormation「 ユーザーガイド」のAWS::KMS::Key「」を参照してください。

HMAC KMS キーの作成 (コンソール)

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

  1. AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

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

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

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

  5. [キーの種類] で、[対称] を選択します。

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

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

    MAC の生成と検証は、HMAC KMS キーに対して唯一有効なキーの用途です。

    注記

    対称キーに対する [Key usage] (キーの使用) は、選択されたリージョンで HMAC KMS キーがサポートされている場合にのみ表示されます。

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

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

  8. マルチリージョンのプライマリ HMAC キーを作成するには、[Advanced options] (詳細オプション) で [Multi-Region key] (マルチリージョンキー) を選択します。この KMS キーに定義する共有プロパティ (キーのタイプとキーの用途など) は、そのレプリカキーと共有されます。詳細については、「マルチリージョンキーを作成する」を参照してください。

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

  9. [次へ] をクリックします。

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

    KMS キーを HMAC キーとして識別するエイリアス (HMAC/test-key など) の使用をお勧めします。これは、タグとエイリアスによるキーのソートとフィルタリングは可能でも、キーの仕様や用途によるキーのソートとフィルタリングは可能ではない AWS KMS コンソールでの HMAC キーの識別を容易にします。

    エイリアスは AWS Management Console で KMS キーを作成するときに必要です。CreateKey オペレーションを使用する場合、エイリアスを指定することはできませんが、コンソールまたは CreateAliasオペレーションを使用して既存の KMS キーのエイリアスを作成できます。詳細については、「エイリアスの使用」を参照してください。

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

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

    今すぐ説明を追加するか、キーの状態Pending Deletion または Pending Replica Deletion でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、または削除するには、 で説明を編集するAWS Management Consoleか、 UpdateKeyDescriptionオペレーションを使用します。

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

    Type=HMAC など、キーを HMAC キーとして識別するタグの追加を検討してください。これは、タグとエイリアスによるキーのソートとフィルタリングは可能でも、キーの仕様や用途によるキーのソートとフィルタリングは可能ではない AWS KMS コンソールでの HMAC キーの識別を容易にします。

    AWS リソースにタグを追加すると、使用量とコストがタグごとに集計されたコスト配分レポートが AWS によって生成されます。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、キーのタグ付け および AWS KMS の ABAC を参照してください。

  13. [次へ] をクリックします。

  14. KMS キーを管理できる IAM ユーザーとロールを選択します。

    注記

    このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。

    IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

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

  16. [次へ] をクリックします。

  17. 暗号化オペレーションで KMS キーを使用できる IAM ユーザーとロールを選択します。

    注記

    このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに暗号化オペレーションで KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。

    IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

  18. (オプション) 他の AWS アカウント が暗号化オペレーションにこの KMS キーを使用できるようにします。これを行うには、ページの下部にある [Other AWS アカウント] セクションで、[Add another AWS アカウント] を選択し、外部アカウントの AWS アカウント ID 番号を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。

    注記

    外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらのアクセス許可を付与する IAM ポリシーを作成する必要があります。詳細については、「他のアカウントのユーザーに KMS キーの使用を許可する」を参照してください。

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

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

  21. [Finish] (完了) を選択して HMAC KMS キーを作成します。

HMAC KMS キーの作成 (AWS KMS API)

CreateKey オペレーションを使用して HMAC KMS キーを作成できます。以下の例では AWS Command Line Interface (AWS CLI) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

HMAC KMS キーを作成するときは、KMS キーのタイプを決定する KeySpec パラメータを指定する必要があります。また、GENERATE_VERIFY_MAC が HMAC キーに唯一有効なキーの用途であっても、GENERATE_VERIFY_MAC の KeyUsage 値を指定する必要があります。マルチリージョンの HMAC KMS キーを作成するには、値が trueMultiRegion パラメータを追加します。KMS キー作成後にこれらのプロパティを変更することはできません。

CreateKey オペレーションではエイリアスを指定することはできませんが、 CreateAliasオペレーションを使用して新しい 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 } }