翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM ポリシーステートメントで KMS キーを指定する
IAM ポリシーを使用して、プリンシパルに KMS キーの使用または管理を許可できます。KMS キーは、ポリシーステートメントの Resource
要素で指定されます。
-
IAM ポリシーステートメントで KMS キーを指定するには、キー ARN を使用する必要があります。キー ID、エイリアス名、エイリアス ARN を使用して IAM ポリシーステートメントの KMS キーを識別することはできません。
例:「
Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
」エイリアスに基づいて KMS キーへのアクセスを制御するには、kms:RequestAlias または kms:ResourceAliases 条件キーを使用します。詳細については、「の ABAC AWS KMS」を参照してください。
CreateAlias、UpdateAlias、DeleteAlias などのエイリアスオペレーションへのアクセスを制御する、ポリシーステートメント内のみのリソースとしてエイリアス ARN を使用します。 詳細については、「エイリアスへのアクセスの制御」を参照してください。
-
アカウントとリージョンで複数のKMS キーを指定するには、キー ARN のリージョンまたはリソース ID の位置にワイルドカード文字 (*) を使用します。
例えば、アカウントの米国西部 (オレゴン) リージョンのすべての KMS キーを指定するには、「
Resource": "arn:aws:kms:us-west-2:111122223333:key/*
」を使用します。アカウントのすべてのリージョンですべての KMS キーを指定するには、「Resource": "arn:aws:kms:*:111122223333:key/*
」を使用します。 -
すべての KMS キーを表すには、ワイルドカード文字のみ (
"*"
) を使用します。この形式は、特定のKMS キーを使用しないオペレーション、つまり CreateKey、GenerateRandom、ListAliases、ListKeys などに使用します。
ポリシーステートメントを書き込むときは、すべての KMS キーへのアクセス許可を付与するのではなく、プリンシパルが使用する必要がある KMS キーだけを指定するのがベストプラクティスです。
例えば、次の IAM ポリシーステートメントで、プリンシパルは、ポリシーステートメントの Resource
要素に記載されている KMS キーに対してのみ、DescribeKey、GenerateDataKey、Decrypt オペレーションを呼び出すことができます。キー ARN による KMS キーの指定は、アクセス許可を指定した KMS キーのみに制限するベストプラクティスです。
特定の信頼された のすべての KMS キーにアクセス許可を適用するには AWS アカウント、リージョンとキー ID の位置でワイルドカード文字 (*) を使用できます。例えば、次のポリシーステートメントでは、プリンシパルが 2 つの信頼できるサンプルアカウントのすべての KMS キーで、指定されたオペレーションを呼び出すことができます。
Resource
要素内でワイルドカード文字 ("*"
) を単独で使用することもできます。アカウントが使用を許可されているすべての KMS キーへのアクセスを許可するため、主に、特定の KMS キーおよび Deny
ステートメントを含まないオペレーションに推奨されます。また、機密性の低い読み取り専用オペレーションのみを許可するポリシーステートメントで使用することもできます。 AWS KMS オペレーションに特定の KMS キーが含まれているかどうかを判断するには、 のテーブルのリソース列で KMS キーの値を探しますAWS KMS アクセス許可。
例えば、次のポリシーステートメントでは、Deny
エフェクトを使用して、プリンシパルが任意の KMS キーに対して指定されたオペレーションを使用できないようにします。Resource
要素でワイルドカード文字を使用して、すべての KMS キーを表します。
次のポリシーステートメントでは、ワイルドカード文字だけを使用してすべての KMS キーを表します。ただし、機密性の低い読み取り専用オペレーションと、特定の KMS キーに適用されないオペレーションのみを許可します。