AWS KMS でのキーポリシーの使用 - AWS Key Management Service

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

AWS KMS でのキーポリシーの使用

キーポリシーは AWS KMS でカスタマーマスターキー (CMK) へのアクセスを制御するための主要な方法です。すべての CMK には 1 つのキーポリシーが必要です。キーポリシードキュメントのステートメントは、CMK の使用を許可されているユーザーとその使用方法を決定します。また、IAM ポリシーおよび助成金CMK へのアクセスを制御するには、すべての CMK にはキーポリシーが必要です。詳細については、「AWS KMS CMK へのアクセスの管理」を参照してください。

JSON ポリシードキュメントの記述と書式設定については、『 IAM ユーザーガイド』の「IAM JSON ポリシーリファレンス 」を参照してください

キーポリシーの概要

すべてのカスタマーマスターキー (CMK) には 1 つのキーポリシーが必要です。このキーポリシーは、関連付けられた CMK へのアクセスのみ、IAM ポリシーおよび許可を制御します。グローバルな IAM ポリシーとは異なり、キーポリシーはリージョンです。各キーポリシーは、CMK をホストするリージョンでのみ有効です。

キーポリシーは、JSON (JavaScript Object Notation)までのドキュメント32 KB(32,768 バイト)。キーポリシーを作成および管理するには、AWS KMSコンソールを使用するか、AWS KMSAPI オペレーション (CreateKeyおよびPutKeyPolicy

キーポリシードキュメントは AWS の他のポリシードキュメントと同じ JSON 構文を使用し、その基本構造は以下のようになっています。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "statement identifier", "Effect": "effect", "Principal": "principal", "Action": "action", "Resource": "resource", "Condition": {"condition operator": {"condition context key": "context key value"}} }] }

コンソールのキーポリシー用デフォルトビューの使用の詳細については、」デフォルトのキーポリシーおよびキーポリシーの変更。JSON ポリシードキュメントの記述と書式設定については、『 IAM ユーザーガイド』の「IAM JSON ポリシーリファレンス 」を参照してください

キーポリシードキュメントには Version 要素が必要です。バージョンを 2012-10-17 (最新バージョン) に設定することをお勧めします。さらに、キーポリシードキュメントには 1 つ以上のステートメントが必要で、各ステートメントには最大 6 つの要素が必要です。

  • Sid :(オプション)Sid はステートメント識別子で、ステートメントを識別するために使用できる任意の文字列です。

  • 効果 」—(必須)この効果は、ポリシーステートメント内のアクセス権限を許可するか拒否するかを指定します。効果は、Allow または Deny にする必要があります。CMK へのアクセスを明示的に許可しない場合、アクセスは暗黙的に拒否されます。CMK へのアクセスを明示的に拒否できます。これは、別のポリシーがアクセスを許可している場合でも、ユーザーが CMK にアクセスできないようにするために行うことができます。

  • プリンシパル — (必須) プリンシパル は、ポリシーステートメントで指定されたアクセス許可を取得する ID です。「」を指定できます。 AWS アカウント (ルート)、IAM ユーザー、IAM ロール、および一部のAWSサービスをキーポリシーでプリンシパルとして作成します。IAM グループは有効なプリンシパルではありません。

    プリンシパルが別の場合 AWS アカウント またはそのプリンシパルの場合、権限は CMK およびキーポリシーを持つリージョンでアカウントが有効になっている場合にのみ有効になります。デフォルトで有効になっていないリージョン (「オプトインリージョン」) については、管理 AWS リージョン ()AWSの全般的なリファレンス

    注記

    条件を使用してキーポリシーを制限しない限り、アクセス許可を許可するキーポリシーステートメントで、プリンシパルをアスタリスク (*) に設定しないでください。アスタリスクは、すべての内のすべてのアイデンティティを与えます AWS アカウント 別のポリシーステートメントが明示的に拒否しない限り、CMK の使用を許可します。他のユーザー AWS アカウント CMK を使用するには、各自のアカウントで、対応する IAM アクセス権限のみが必要です。

  • アクション —(必須)アクションは、許可または拒否する API オペレーションを指定します。たとえば、kms:Encrypt アクションは AWS KMS の暗号化 オペレーションに対応します。ポリシーステートメントに複数のアクションのリストを指定できます。詳細については、「AWS KMS API アクセス許可のリファレンス」を参照してください。

  • Resource —(必須)キーポリシーでは、Resource 要素の値はです "*", 。これは「この CMK」を意味します。「 アスタリスク("*")は、キーポリシーがアタッチされている CMK を識別します。

  • Condition :(オプション)条件は、キーポリシーを有効にするために満たす必要がある要件を指定します。条件により、AWS は、API リクエストのコンテキストを評価し、ポリシーステートメントが適用されるかどうかを判断できます。詳細については、「ポリシー条件の使用」を参照してください。

の詳細AWSポリシー構文 (「」)AWSIAM ポリシーのリファレンス()IAM ユーザーガイド

デフォルトのキーポリシー

CMK をプログラムにより作成した場合のデフォルトキーポリシー

CMK をプログラムにより作成したとき、つまり、AWS KMSAPI(AWSSDK,AWS Command Line InterfaceおよびAWS Tools for PowerShell) — 新しい CMK のキーポリシーを指定するオプションがあります。指定しない場合、このポリシーは AWS KMS によって作成されます。このデフォルトのキーポリシーには、 AWS アカウント CMK へのフルアクセスを所有し、アカウントの IAM ポリシーで CMK へのアクセスを許可できるようにします。このポリシーステートメントの詳細については、「へのアクセスを許可する AWS アカウント および IAM ポリシーを有効にします。」を参照してください。

AWS Management Console を使用して CMK を作成した場合のデフォルトキーポリシー

CMK を作成するにはAWS Management Consoleでは、IAM ユーザー、IAM ロール、 AWS アカウント CMK へのアクセスを許可されている。選択したユーザー、ロール、アカウントは、コンソールで作成されるデフォルトキーポリシーに追加されます。コンソールのデフォルトビューを使用して、このキーポリシーを表示または変更したり、キーポリシードキュメントを直接操作したりできます。コンソールで作成されたデフォルトキーポリシーにより、以下のアクセス権限が付与されます。各アクセス権限については、該当するセクションで説明しています。

アクセス許可

へのアクセスを許可する AWS アカウント および IAM ポリシーを有効にします。

デフォルトのキーポリシーは AWS アカウント CMK へのフルアクセスを所有する (ルートユーザー)。これにより、次の 2 つのことが可能になります。

1. CMK を管理できなくなるリスクを減らす.

この設定を削除することはできません。 AWS アカウント の root ユーザーにはアクセスできないため、このユーザーに CMK へのアクセスを許可すれば、CMK が管理不能になるリスクが減ります。次のシナリオを考えてみます。

  1. CMK のキーポリシーでは、1 つの IAM ユーザー Alice のみ が CMK を管理できます。このキーポリシーでは、ルートユーザーに CMK へのアクセスは許可しない。

  2. IAM ユーザー Alice が誰か削除されました。

このシナリオでは、CMK は管理不能になりました。そのため、contactAWS SupportCMK へのアクセスを回復するには。ルートユーザーは、キーポリシーにより明示的に許可されている場合のみ CMK にアクセスできるため、CMK にアクセスできません。これは、ルートユーザーへのアクセスを暗黙的に許可する AWS の他のほとんどのリソースとは異なります。

2. IAM ポリシーで CMK へのアクセスを制御できるようにします。

すべての CMK にはキーポリシーが必要です。IAM ポリシーを使用して CMK へのアクセスを制御することもできます。ただし、キーポリシーで許可されている場合にのみ、CMK へのアクセスを制御できます。キーポリシーで許可されていない場合、CMK へのアクセスを制御しようとする IAM ポリシーは効果がありません。

IAM ポリシーに CMK へのアクセスを制御できるようにするには、キーポリシーに、 AWS アカウント 以下に示すように、CMK へのフルアクセス権を付与します。詳細については、「AWS KMS CMK へのアクセスの管理」を参照してください。

次の例は、ポリシーステートメントを示しています。 AWS アカウント CMK へのフルアクセス権を付与します。このポリシーステートメントでは、IAM ポリシーとキーポリシーを使用して、CMK へのアクセスを制御できます。

このようなポリシーステートメントは、デフォルトのキーポリシーの一部です。

{ "Sid": "Enable IAM policies", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }

CMK の管理をキー管理者に許可する

コンソールによって作成されるデフォルトのキーポリシーでは、アカウントで IAM ユーザーとロールを選択し、それらを キー管理者にすることができます。キー管理者には、CMK を管理するためのアクセス許可はありますが、暗号化オペレーションで CMK を使用するためのアクセス許可はありません。

警告

キー管理者はキーポリシーを変更し、許可を作成するアクセス権限を持っているので、キー管理者は自分自身にAWS KMS権限がこのポリシーで指定されていません。

タグとエイリアスを管理する権限を持つプリンシパルは、CMK へのアクセスを制御することもできます。詳細については、「」を参照してくださいの ABAC の使用AWS KMS

CMK を作成するときに、IAM ユーザーとロールをキー管理者のリストに追加できます。次の図に示すように、キーポリシーのコンソールのデフォルトビューを使用してリストを編集することもできます。キーポリシーのデフォルトビューは、各 CMK のキーの詳細ページで使用できます。


          コンソールのデフォルトキーポリシーのキー管理者、デフォルトビュー

コンソールのデフォルトビューを使用して、キー管理者のリストを変更すると、コンソールによって、キーポリシーの特定のステートメントで Principal 要素が変更されます。このステートメントは、キー管理者ステートメントと呼ばれます。以下に示しているのは、キー管理者ステートメントの例です。

{ "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/KMSAdminUser", "arn:aws:iam::111122223333:role/KMSAdminRole" ]}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }

キー管理者ステートメントでは、以下のアクセス権限が付与されます。

  • KMS: Create* — キー管理者がこの CMK のエイリアスと 許可 を作成できるようにします。

  • KMS: describe* — キー管理者が、識別子、作成日、状態などを含む CMK に関する情報を取得できるようにします。このアクセス権限は、AWS Management Consoleでキーの詳細ページを表示するために必要です。

  • KMS: Enable* — キー管理者がこの CMK の状態を有効に設定できるようにします。対称 CMK の場合、キー管理者は CMK のキーマテリアルの年ごとのローテーションを指定できます。

  • KMS: list* — キー管理者が、この CMK のエイリアス、許可、キーポリシー、タグのリストを取得できるようにします。このアクセス権限は、AWS Management Consoleで CMK のリストを表示するために必要です。

  • KMS: PUT* — キー管理者がこの CMK のキーポリシーを変更できるようにします。

  • KMS: Update* — キー管理者がエイリアスのターゲットをこの CMK に変更し、この CMK の説明を変更できるようにします。

  • KMS: revoke* — キー管理者が、許可によって許可されているこの CMK のアクセス許可を取り消すことを 許可します。

  • KMS: disable* — キー管理者がこの CMK のキー状態を無効に設定できるようにします。対称 CMK の場合、キー管理者は この CMK のキーマテリアルの年ごとのローテーションを無効にできます。

  • KMS: get* — キー管理者がこの CMK のキーポリシーを取得し、この CMK のキーマテリアルが毎年ローテーションされているかどうかを判断できるようにします。を使用する場合対称 CMKインポートしたキーマテリアルまた、キー管理者は、キーマテリアルを CMK にインポートするために必要なインポートトークンとパブリックキーをダウンロードすることもできます。非対称 CMKの場合、キー管理者は CMK のパブリックキーをダウンロードできます。

  • KMS: Delete* — キー管理者が、この CMK に関連付けられているエイリアスを削除できるようにします。インポートされたキーマテリアルを持つ対称 CMK の場合、キー管理者はインポートされたキーマテリアルを削除できます。このアクセス権限により、キー管理者が CMK を削除できるようにはなりません。

  • KMS: ImportKeyMaterial — キー管理者が CMK にキーマテリアルをインポートできるようにします。このアクセス許可は、キーマテリアルのない CMK を作成する場合にのみキーポリシーに含まれます。

    注記

    このアクセス権限は、前のサンプルポリシーステートメントには表示されません。

  • KMS: TagResource — キー管理者がこの CMK のタグを追加および更新できるようにします。

  • KMS: UntagResource — キー管理者がこの CMK からタグを削除できるようにします。

  • KMS: スケジュールキー削除 — キー管理者が この CMK を削除できるようにします。

  • KMS: CancelKeyDeletion — キー管理者は、この CMK の保留中の削除をキャンセルできます。

前述のリストの最後の 2 つのアクセス権限 (kms:ScheduleKeyDeletion および kms:CancelKeyDeletion) は、CMK を作成するとデフォルトで追加されます。ただし、CMK を作成するとき、[Allow key administrators to delete this key] チェックボックスをオフにすることによりキーポリシーからオプションで削除することができます。同様に、キーの詳細ページを使用して既存の CMK のデフォルトキーポリシーから削除することができます。詳細については、「キーの編集」を参照してください。

これらのアクセス権限の多くには、ワイルドカード文字 (*) が含まれています。つまり、AWS KMS が今後新しい API オペレーションを追加した場合、キー管理者は、Create、Describe、Enable、List、Put、Update、Revoke、Disable、Get、または Delete で始まるすべての新しい API オペレーションを自動的に実行することができます。

注記

前のセクションで説明したキー管理者ステートメントは、デフォルトキーポリシーの最新バージョンです。デフォルトキーポリシーの以前のバージョンについては、「キーポリシーを最新の状態に保つ」を参照してください。

CMK の使用をキーユーザーに許可する

対称 CMK にコンソールが作成するデフォルトのキーポリシーを使用すると、アカウントの IAM ユーザーとロール、および外部 IAM を選択できます。 AWS アカウント を作成し、それらをキーユーザー

コンソールは、キーユーザーのキーポリシーに 2 つのポリシーステートメントを追加します。

IAM ユーザー、IAM ロール、およびその他の AWS アカウント CMK を作成するとき、キーユーザーのリストに追加します。次の図に示すように、キーポリシーのコンソールのデフォルトビューを使用してリストを編集することもできます。キーポリシー用デフォルトビューは、キーの詳細ページにあります。他のでユーザーを許可する方法の詳細については、 AWS アカウント CMK を使用するには、他のアカウントのユーザーに CMK の使用を許可する


          コンソールのデフォルトキーポリシーのキーユーザー、デフォルトビュー

コンソールのデフォルトビューを使用して、キーユーザーのリストを変更すると、コンソールによって、キーポリシーの 2 つのステートメントで Principal 要素が変更されます。これらのステートメントはキーユーザーステートメントと呼ばれます。以下に示しているのは、対称 CMK のキーユーザーステートメントの例です。

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/CMKUser", "arn:aws:iam::111122223333:role/CMKRole", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/CMKUser", "arn:aws:iam::111122223333:role/CMKRole", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }

暗号化オペレーションで CMK を使用することをキーユーザーに許可する

キーユーザーには、CMK でサポートされているすべての暗号化オペレーションで CMK を直接使用するためのアクセス許可があります。また、DescribeKey オペレーションを使用して、AWS KMS コンソールで、または AWS KMS API オペレーションを使用し、CMK に関する詳細情報を取得することもできます。

デフォルトでは、AWS KMS コンソールはデフォルトのキーポリシーに次の例のようなキーユーザーのステートメントを追加します。異なる API オペレーションをサポートするため、対称 CMK のポリシーステートメント、パブリックキー暗号化の非対称 CMK、署名と検証用の非対称 CMK のアクションはわずかに異なります。

対称 CMK

コンソールは、シンメトリック CMK のキーポリシーに次のステートメントを追加します。

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/CMKUser"}, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*" }
パブリックキー暗号化用の非対称 CMK

コンソールは、[暗号化と復号] のキーの使用方法を使用して、非対称 CMK のキーポリシーに次のステートメントを追加します。

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/CMKUser" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:DescribeKey", "kms:GetPublicKey" ], "Resource": "*" }
署名および検証用の非対称 CMK

コンソールは、[署名と検証] のキーの使用方法を使用して、非対称 CMK のキーポリシーに次のステートメントを追加します。

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/CMKUser"}, "Action": [ "kms:DescribeKey", "kms:GetPublicKey", "kms:Sign", "kms:Verify" ], "Resource": "*" }

これらのステートメントのアクションは、キーユーザーに以下のアクセス許可の一部を与えます。

  • KMS: Encrypt — キーユーザーがこの CMK を使用してデータを暗号化できるようにします。

  • KMS: Decrypt — キーユーザーがこの CMK を使用してデータを復号化できるようにします。

  • KMS: DescribeKey — キー ユーザーは、識別子、作成日、キー状態など、この CMK に関する詳細情報を取得できます。また、キーユーザーは CMK の詳細を AWS KMS コンソールに表示できます。

  • KMS: GenerateDataKey* — キーユーザーは、クライアント側の暗号化操作のために、対称データキーまたは非対称データキーペアを要求できます。コンソールでは、* ワイルドカード文字を使用して、次の API 操作に対するアクセス許可を表します。GenerateDataKey,GenerateDataKeyWithoutPlaintext,GenerateDataKeyPair, およびGenerateDataKeyPairWithoutPlaintext

  • KMS: GetPublicKe y — キーユーザーが非対称型 CMK のパブリックキーをダウンロードできるようにします。このパブリックキーを共有する当事者は、AWS KMS の外部のデータを暗号化できます。ただし、これらの暗号テキストは、呼び出すことによってのみ復号化DecryptのオペレーションAWS KMS。

  • KMS: Reencrypt* — キーユーザーは、この CMK で最初に暗号化されたデータを再暗号化するか、この CMK を使用して以前に暗号化されたデータを再暗号化できます。 ReEncrypt 操作では、ソース CMK と宛先 CMK の両方にアクセスする必要があります。これを行うには、ソース CMK の kms:ReEncryptFrom アクセス許可と宛先 CMK の kms:ReEncryptTo アクセス許可を許可します。ただし、わかりやすいように、コンソールは両方の CMK で kms:ReEncrypt* を(* ワイルドカード文字で)許可します。

  • KMS: sign — キーユーザーがこの CMK を使用してメッセージに署名できるようにします。

  • KMS: verif y — キーユーザーがこの CMK で署名を検証できるようにします。

AWS サービスで CMK を使用することをキーユーザーに許可する

コンソールのデフォルトのキーポリシーでは、AWS KMS と統合された AWS サービス(特に許可を使用するサービス)に CMK を使用できるようにするアクセス許可もキーユーザーに付与されます。

キーユーザーは、制限された特定の方法でこれらのサービスに CMK を使用するためのアクセス権限を暗黙的に付与できます。アクセス権限のこの暗黙の委任は、許可を使用して行われます。これらの許可により、統合 AWS サービスは CMK を使用してアカウント内のリソースを保護できます。

{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/CMKUser"}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }

たとえば、キーユーザーは以下の方法で CMK でこれらのアクセス許可を使用できます。

  • この CMK を Amazon Elastic ブロックストア(Amazon EBS)および Amazon Elastic コンピューティングクラウド(Amazon EC2)とともに使用して、暗号化された EBS ボリュームを EC2 インスタンスにアタッチします。キーユーザーは、CMK を使用して暗号化されたボリュームをインスタンスにアタッチするアクセス許可を Amazon EC2 に暗黙的に付与します。詳細については、「Amazon Elastic Block Store (Amazon EBS) がAWS KMS」を参照してください。

  • この CMK を Amazon Redshift とともに使用して、暗号化されたクラスターを起動します。キーユーザーは、CMK を使用して暗号化されたクラスターを起動し、暗号化されたスナップショットを作成するアクセス権限を Amazon Redshift に暗黙的に付与します。詳細については、「Amazon Redshift がAWS KMS」を参照してください。

  • この CMK を、 と統合される他の AWS サービスAWS KMS (特に、許可を使用するサービス) で使用して、暗号化されたリソースをそれらのサービスで作成、管理、または利用します。

kms:GrantIsForAWSResource 条件キーを使用すると、キーユーザーは許可を作成および管理できます。ただし、被付与者が許可を使用する AWS サービスである場合に限られます。この権限により、キーユーザーは、許可を使用するすべての統合サービスを使用できます。ただし、特定の AWS サービスがキーユーザーの代わりに CMK を使用できるようにするカスタムキーポリシーを作成できます。詳細については、「kms:ViaService」の条件キーを参照してください。

キーユーザーは、統合サービスで CMK を使用するには、これらのアクセス許可の付与が必要ですが、これらのアクセス許可では不十分です。キーユーザーには、統合されたサービスを使用するアクセス許可も必要です。AWS KMS と統合される AWS サービスへのアクセスをユーザーに許可する方法の詳細については、統合されるサービスのドキュメントを参照してください。

キーポリシーの例

以下に示しているのは、対称 CMK の完全なキーポリシーの例です。このキーポリシーでは、先ほどのデフォルトキーポリシーのセクションからのポリシーステートメント例と、以下のことを行うための 1 つのキーポリシーを組み合わせています。

  • 許可する AWS アカウント (ルートユーザー) 111122223333 に CMK へのフルアクセスを許可し、アカウントの IAM ポリシーで CMK へのアクセスを許可できるようにします。

  • IAM ユーザー KMSAdminUser および IAM ロール KMSAdminRole が CMK を管理できるようにします。

  • IAM ユーザー CMKUser、IAM ロール CMKRole、および許可します。 AWS アカウント CMK を使用するには444455556666。

{ "Version": "2012-10-17", "Id": "key-consolepolicy-2", "Statement": [ { "Sid": "Enable IAM policies", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/KMSAdminUser", "arn:aws:iam::111122223333:role/KMSAdminRole" ]}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/CMKUser", "arn:aws:iam::111122223333:role/CMKRole", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/CMKUser", "arn:aws:iam::111122223333:role/CMKRole", "arn:aws:iam::444455556666:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": "true"}} } ] }

以下の画像に示しているのは、コンソールのキーポリシー用デフォルトビューで、このキーポリシーがどのように表示されるかの例です。


        コンソールのキーポリシー用デフォルトビューでのキーポリシー