翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM ポリシーの例
このセクションでは、さまざまな AWS KMS アクションのためのアクセス許可を付与する IAM ポリシーの例を示しています。
重要
以下のポリシーのアクセス許可の一部は、KMS キーのキーポリシーも同じアクセス許可を付与する場合にのみ付与されます。詳細については、「アクセス許可に関するリファレンス」を参照してください。
JSON ポリシードキュメントの記述と書式設定については、『 IAM ユーザーガイド』の「IAM JSON ポリシーリファレンス 」を参照してください。
例
AWS KMS コンソールで KMS キーの表示をユーザーに許可する
次の IAM ポリシーでは、 AWS KMS コンソールへの読み取り専用アクセスをユーザーに許可します。これらのアクセス許可を持つユーザーは、 内のすべての KMS キーを表示できますが AWS アカウント、KMS キーを作成または変更することはできません。
AWS マネージドキー および [Customer managed keys] (カスタマーマネージドキー) ページ上に KMS キーを表示するには、キーにタグやエイリアスがない場合でも、プリンシパルに kms:ListKeys、kms:ListAliases、tag:GetResources への許可が必要です。KMS キーの詳細ページでオプションの KMS キーテーブルの列とデータを表示するには、残りのアクセス許可 (特に kms:DescribeKey) が必要です。エラーなしでデフォルトのビューでキーポリシーを表示するには、iam:ListUsers および iam:ListRoles アクセス許可が必要です。カスタムキーストア ページのデータおよびカスタムキーストアの KMS キーの詳細を表示するには、プリンシパルに kms:DescribeCustomKeyStores アクセス許可も必要です。
ユーザーのコンソールアクセスを特定の KMS キーに制限すると、コンソールは、表示されない各 KMS キーにエラーを表示します。
このポリシーには 2 つのポリシーステートメントが含まれます。最初のポリシーステートメントの Resource
要素は、例 AWS アカウントのすべてのリージョンのすべての KMS キーで指定されたアクセス許可を付与します。 AWS KMS
コンソールはプリンシパルのアカウントの KMS キーのみを表示するため、コンソールビューワーは追加のアクセスを必要としません。これは、他の で KMS キーを表示するアクセス許可がある場合にも当てはまります AWS アカウント。残りの AWS KMS および IAM アクセス許可には、特定の KMS キーに適用されないため、 "Resource": "*"
要素が必要です。
KMS キーの作成をユーザーに許可する
以下の IAM ポリシーは、ユーザーがすべてのタイプの KMS キーを作成することを許可します。Resource
要素の値は です。これは、CreateKey
オペレーションが特定の AWS KMS リソース (KMS キーまたはエイリアス) を使用しない*
ためです。
ユーザーを特定タイプの KMS キーに制限するには、kms:KeySpec、kms:KeyUsage、および kms:KeyOrigin 条件キーを使用します。
キーを作成するプリンシパルには、関連するパーミッションが必要な場合があります。
-
kms:PutKeyPolicy —
kms:CreateKey
アクセス許可を持つプリンシパルには、KMS キーの初期キーポリシーを設定できます。ただし、CreateKey
発信者には、KMS キーのキーポリシーを変更できる kms:PutKeyPolicy 許可が必要です。または、CreateKey
のBypassPolicyLockoutSafetyCheck
パラメータを指定する必要があります (非推奨)。CreateKey
発信者は、IAM ポリシーから KMS キーのkms:PutKeyPolicy
アクセス許可を取得することも、作成している KMS キーのキーポリシーにこのアクセス許可を含めることもできます。 -
kms:TagResource —
CreateKey
オペレーション中に KMS キーにタグを追加するには、CreateKey
発信者に IAM ポリシーの kms:TagResource アクセス許可が必要です。新しい KMS キーのキーポリシーにこのアクセス許可を含めるだけでは不十分です。ただし、CreateKey
発信者が初期キーポリシーのkms:TagResource
を含む場合は、KMS キーの作成後に、個別の呼び出しでタグを追加できます。 -
kms:CreateAlias — AWS KMS コンソールで KMS キーを作成するプリンシパルには、KMS キーとエイリアスに対する kms:CreateAlias アクセス許可が必要です。(コンソールは、へのコール
CreateKey
とへのコールを 2 つ行いますCreateAlias
)。IAM ポリシーでエイリアスアクセス許可を指定する必要があります。キーポリシーまたは IAM ポリシーで、KMS キーアクセス許可を付与できます。詳細については、「エイリアスへのアクセスの制御」を参照してください。
に加えてkms:CreateKey
、次の IAM ポリシーは、 内のすべての KMS キーに対するkms:TagResource
アクセス許可 AWS アカウント と、アカウント内のすべてのエイリアスに対するkms:CreateAlias
アクセス許可を提供します。また、IAM ポリシーでのみ提供できる便利な読み取り専用アクセス許可もいくつか含まれています。
この IAM ポリシーには、キーポリシーで設定できる kms:PutKeyPolicy
アクセス権限やその他のアクセス権限は含まれていません。これらのアクセス許可は、1 つの KMS キーにのみ適用されるキーポリシーで設定するのがベストプラクティスです。
特定の の任意の KMS キーを使用して暗号化および復号化することをユーザーに許可する AWS アカウント
次の IAM ポリシーでは、 の任意の KMS キーを使用してデータを暗号化および復号化できます AWS アカウント 111122223333。
特定の およびリージョン内の任意の KMS キーを使用して暗号化 AWS アカウント および復号化することをユーザーに許可する
次の IAM ポリシーでは、ユーザーは米国西部 (オレゴン) リージョンの で AWS アカウント 111122223333
任意の KMS キーを使用してデータを暗号化および復号化できます。
特定の KMS キーにより暗号化および復号することをユーザーに許可する
次の IAM ポリシーでは、 Resource
エレメントで指定された 2 つの KMS キーを使用して、ユーザーがデータを暗号化および復号できます。IAM ポリシーステートメントで KMS キーを指定するときは、KMS キーの キー ARN を使用する必要があります。
KMS キーの無効化または削除を禁止する
次の IAM ポリシーでは、別の IAM ポリシーまたはキーポリシーで許可されている場合でも、ユーザーが KMS キーを無効化、削除できないようにします。アクセス権限を明示的に拒否するポリシーは、同じアクセス権限を明示的に付与するポリシーを含め、他のすべてのポリシーを上書きします。詳細については、「アクセス AWS KMS 許可のトラブルシューティング」を参照してください。