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 KMS API オペレーションを使用して作成および管理することができます。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 アカウントのすべての ID に CMK を使用するアクセス権限を付与します。他の AWS アカウントのユーザーは、CMK を使用するために、各自のアカウントで対応する IAM アクセス権限のみが必要です。

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

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

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

AWS ポリシー構文の詳細については、「」を参照してください。AWS IAM ポリシーのリファレンス()IAM ユーザーガイド

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

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

CMK をプログラムで作成する場合、つまり AWS KMS APIAWS SDKコマンドラインツールを含む)には、新しい CMK のキーポリシーを指定することもできます。指定しない場合は、AWS KMS によってポリシーが作成されます。このデフォルトキーポリシーには、CMK を所有する AWS アカウント(ルートユーザー)に CMK へのフルアクセスを付与し、アカウントの IAM ポリシーに CMK へのアクセスを許可するポリシーステートメントが 1 つあります。このポリシーステートメントの詳細については、「AWS アカウントへのアクセスを許可し、IAM ポリシーを有効にします」を参照してください。

AWS マネジメントコンソールで CMK を作成するときのデフォルトのキーポリシー

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

アクセス許可

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

デフォルトのキーポリシーは、CMK を所有する AWS アカウント(ルートユーザー)に CMK へのフルアクセスを付与します。これにより、次の 2 つの処理が実行されます。

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

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

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

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

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

2. IAM ポリシーが CMK へのアクセスを制御することを許可します。

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

IAM ポリシーが CMK へのアクセスを制御できるようにするには、AWS アカウントに CMK へのフルアクセスを許可するポリシーステートメントをキーポリシーに含める必要があります。詳細については、「AWS KMS CMK へのアクセスを管理する」を参照してください。

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

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

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

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

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

警告

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

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

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 マネジメントコンソールでキーの詳細ページを表示するために必要です。

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

  • KMS: list* — キー管理者が、この CMK のエイリアス、許可、キーポリシー、タグのリストを取得できるようにします。このアクセス許可は、AWS マネジメントコンソールで 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 オペレーションを追加する場合、キー管理者は、作成、説明、有効化、一覧表示、PUT、更新、取り消し、無効化、取得、削除で始まるすべての新しい API オペレーションを自動的に実行できるようになります。

注記

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

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

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

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

CMK の作成時に、IAM ユーザー、IAM ロール、およびその他の AWS アカウントをキーユーザーのリストに追加できます。次の図に示すように、キーポリシーのコンソールのデフォルトビューを使用してリストを編集することもできます。キーポリシー用デフォルトビューは、キーの詳細ページにあります。他の 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 に関する詳細情報を取得できます。また、キーユーザーは、AWS KMS コンソールで CMK の詳細を表示することもできます。

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

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

  • 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 ブロックストア(Amazon EBS)が AWS KMS を使用する方法」を参照してください。

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

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

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 アカウント 444455556666 で CMK の使用を許可します。

{ "Version": "2012-10-17", "Id": "key-consolepolicy-2", "Statement": [ { "Sid": "Enable IAM User Permissions", "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"}} } ] }

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


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