翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 キーを作成することもできます。
-
AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms
) を開きます。 -
AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。
-
ナビゲーションペインで、[カスタマーマネージドキー] を選択します。
-
[Create key] (キーの作成) を選択します。
-
[キーの種類] で、[対称] を選択します。
HMAC KMS キーは対称です。同じキーを使用して、HMAC タグの生成と検証を行います。
-
[Key usage] (キーの使用) には、[Generate and verify MAC] (MAC の生成と検証) を選択します。
MAC の生成と検証は、HMAC KMS キーに対して唯一有効なキーの用途です。
注記
対称キーに対する [Key usage] (キーの使用) は、選択されたリージョンで HMAC KMS キーがサポートされている場合にのみ表示されます。
-
HMAC KMS キーの仕様 ([Key spec] (キーの仕様)) を選択します。
選択するキーの仕様は、規制、セキュリティ、またはビジネス要件に応じて決定できます。一般に、キーが長いほど安全性が高くなります。
-
マルチリージョンのプライマリ HMAC キーを作成するには、[Advanced options] (詳細オプション) で [Multi-Region key] (マルチリージョンキー) を選択します。この KMS キーに定義する共有プロパティ (キーのタイプとキーの用途など) は、そのレプリカキーと共有されます。詳細については、「マルチリージョンキーを作成する」を参照してください。
この手順を使用してレプリカキーを作成することはできません。マルチリージョンのレプリカ HMAC キーを作成するには、レプリカキーを作成するための手順に従ってください。
-
[次へ] をクリックします。
-
KMS キーのエイリアスを入力します。エイリアス名の先頭を
aws/
にすることはできません。このaws/
プレフィックスは、アカウント内の AWS マネージドキー を表すために、Amazon Web Services によって予約されます。KMS キーを HMAC キーとして識別するエイリアス (
HMAC/test-key
など) の使用をお勧めします。これは、タグとエイリアスによるキーのソートとフィルタリングは可能でも、キーの仕様や用途によるキーのソートとフィルタリングは可能ではない AWS KMS コンソールでの HMAC キーの識別を容易にします。エイリアスは AWS Management Console で KMS キーを作成するときに必要です。CreateKey オペレーションを使用する場合、エイリアスを指定することはできませんが、コンソールまたは CreateAliasオペレーションを使用して既存の KMS キーのエイリアスを作成できます。詳細については、「エイリアスの使用」を参照してください。
-
(オプション) KMS キーの説明を入力します。
保護する予定のデータタイプ、または KMS キーで使用する予定のアプリケーションを表す説明を入力します。
今すぐ説明を追加するか、キーの状態が
Pending Deletion
またはPending Replica Deletion
でない限り、後でいつでも更新できます。既存のカスタマーマネージドキーの説明を追加、変更、または削除するには、 で説明を編集するAWS Management Consoleか、 UpdateKeyDescriptionオペレーションを使用します。 -
(オプション) タグキーとオプションのタグ値を入力します。KMS キーに複数のタグを追加するには、[Add tag] (タグを追加) を選択します。
Type=HMAC
など、キーを HMAC キーとして識別するタグの追加を検討してください。これは、タグとエイリアスによるキーのソートとフィルタリングは可能でも、キーの仕様や用途によるキーのソートとフィルタリングは可能ではない AWS KMS コンソールでの HMAC キーの識別を容易にします。AWS リソースにタグを追加すると、使用量とコストがタグごとに集計されたコスト配分レポートが AWS によって生成されます。タグは、KMS キーへのアクセスの制御にも使用できます。KMS キーのタグ付けについては、キーのタグ付け および AWS KMS の ABAC を参照してください。
-
[次へ] をクリックします。
-
KMS キーを管理できる IAM ユーザーとロールを選択します。
注記
このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。
-
(オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [Key deletion] (キーの削除) セクションで、[Allow key administrators to delete this key] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。
-
[次へ] をクリックします。
-
暗号化オペレーションで KMS キーを使用できる IAM ユーザーとロールを選択します。
注記
このキーポリシーにより、AWS アカウント はこの KMS キーを完全に制御できるようになります。これにより、アカウント管理者は IAM ポリシーを使用して、他のプリンシパルに暗号化オペレーションで KMS キーを管理する許可を付与できます。詳細については、「デフォルトのキーポリシー」を参照してください。
IAM ベストプラクティスでは、長期の認証情報を持つ IAM ユーザーの使用は推奨されていません。可能な限り、一時的な認証情報を提供する IAM ロールを使用してください。詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。
-
(オプション) 他の AWS アカウント が暗号化オペレーションにこの KMS キーを使用できるようにします。これを行うには、ページの下部にある [Other AWS アカウント] セクションで、[Add another AWS アカウント] を選択し、外部アカウントの AWS アカウント ID 番号を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。
注記
外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらのアクセス許可を付与する IAM ポリシーを作成する必要があります。詳細については、「他のアカウントのユーザーに KMS キーの使用を許可する」を参照してください。
-
[次へ] を選択します。
-
選択したキー設定を確認します。戻って、すべての設定を変更することもできます。
-
[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 キーを作成するには、値が true
の MultiRegion
パラメータを追加します。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 } }