HMAC KMS キーへのアクセスの制御
HMAC KMS キーへのアクセスを制御するには、すべての KMS キーに必要とされるキーポリシーを使用します。IAM ポリシーと権限を使用することも可能です。
AWS KMS コンソールで作成された HMAC キー用のデフォルトキーポリシーは、GenerateMac
および VerifyMac
オペレーションを呼び出す許可をキーのユーザーに付与します。ただし、これには AWS のサービスでの権限の使用向けに設計されたキーポリシーステートメントは含まれていません。CreateKey
オペレーションを使用して HMAC キーを作成する場合は、キーポリシーまたは IAM ポリシーでこれらの許可を指定する必要があります。
AWS グローバル条件キー、および AWS KMS 条件キーを使用して、HMAC キーに対する許可を絞り込み、制限することができます。例えば、kms:ResourceAliases 条件キーを使用して、AWS KMS オペレーションへのアクセスを HMAC キーに関連付けられたエイリアスに基づいて制御することができます。以下の AWS KMS ポリシー条件は、HMAC キーに対するポリシーに役立ちます。
-
kms:MacAlgorithm 条件キーを使用して、プリンシパルが
GenerateMac
およびVerifyMac
オペレーションを呼び出すときにリクエストできるアルゴリズムを制限します。例えば、リクエスト内の MAC アルゴリズムがHMAC_SHA_384
の場合にのみ、プリンシパルがGenerateMac
オペレーションの呼び出せるようにすることができます。 -
kms:KeySpec 条件キーを使用して、プリンシパルによる特定タイプの HMAC キーの作成を許可または拒否します。例えば、プリンシパルが HMAC キーのみを作成できるようにするには、CreateKey オペレーションを許可する一方で、
kms:KeySpec
条件を使用してHMAC_384
キー仕様を持つキーのみを許可することができます。kms:KeySpec
条件キーを使用することで、キーのキー仕様に基づいて、KMS キーでのその他オペレーションへのアクセスを制御することもできます。例えば、プリンシパルがHMAC_256
キー仕様を持つ KMS キーのみでキーの削除のスケジュールとキャンセルを実行できるようにすることが可能です。 -
kms:KeyUsage 条件キーを使用して、プリンシパルによる HMAC キーの作成を許可または拒否します。例えば、プリンシパルが HMAC キーのみを作成できるようにするには、CreateKey オペレーションを許可する一方で、
kms:KeyUsage
条件を使用して、キーの用途がGENERATE_VERIFY_MAC
であるキーのみを許可することができます。kms:KeyUsage
条件キーを使用して、キーの用途に基づいて KMS キーでのその他オペレーションへのアクセスを制御することもできます。例えば、用途がGENERATE_VERIFY_MAC
である KMS キーのみでの有効化と無効化をプリンシパルに許可することができます。
権限オペレーションである GenerateMac
および VerifyMac
オペレーションの権限を作成することもできます。ただし、HMAC キーの権限で暗号化コンテキストの権限の制約を使用することはできません。HMAC タグ形式は、暗号化コンテキスト値をサポートしません。