HMAC KMS キーを作成する - AWS Key Management Service

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

HMAC KMS キーを作成する

を使用して、 AWS KMS コンソールでHMACKMSキーを作成できます。 CreateKey API、または AWS::KMS::Key AWS CloudFormation テンプレートを使用します。

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

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

を使用してHMACKMSキー AWS Management Console を作成できます。 HMACKMSキーは対称キーで、キーの使用方法は の生成と検証ですMAC。マルチリージョンHMACキーを作成することもできます。

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

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

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

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

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

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

  6. キーの使用方法 で、 の生成と検証 MACを選択します。

    HMAC KMS キーの有効なキー使用法MACは、生成と検証のみです。

    注記

    対称キーのキーの使用方法は、選択したリージョンでHMACKMSキーがサポートされている場合のみ表示されます。

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

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

  8. マルチリージョンプライマリHMACキーを作成するには、詳細オプションマルチリージョンキーを選択します。KMS キータイプやキーの使用方法など、このキーに定義した共有プロパティは、そのレプリカキーと共有されます。

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

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

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

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

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

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

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

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

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

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

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

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

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

    メモ

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

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

    AWS KMS コンソールは、ステートメント識別子 の下のキーポリシーにキー管理者を追加します"Allow access for Key Administrators"。このステートメント識別子を変更すると、ステートメントに加えた更新がコンソールに表示される方法に影響する可能性があります。

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

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

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

    メモ

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

    AWS KMS コンソールは、ステートメント識別子 "Allow use of the key"および のキーポリシーにキーユーザーを追加します"Allow attachment of persistent resources"。これらのステートメント識別子を変更すると、ステートメントに加えた更新がコンソールに表示される方法に影響する可能性があります。

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

    注記

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

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

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

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

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

  23. 終了 を選択してHMACKMSキーを作成します。

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

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

CreateKey オペレーションではエイリアスを指定することはできませんが、 CreateAliasオペレーションを使用して新しいKMSキーのエイリアスを作成できます。キーを KMSキーとして識別するエイリアスを使用することをお勧めします。たとえばHMAC、 ですHMAC/test-key。これにより、 AWS KMS コンソールでHMACキーを識別しやすくなります。ここでは、エイリアスでキーをソートおよびフィルタリングできますが、キー仕様やキーの使用法では識別できません。

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

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

$ 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 } }