AWS CloudTrail リソースベースのポリシーの例 - AWS CloudTrail

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

AWS CloudTrail リソースベースのポリシーの例

このセクションでは、 CloudTrail Lake ダッシュボード、イベントデータストア、チャネルのリソースベースのポリシーの例を示します。

CloudTrail では、次のタイプのリソースベースのポリシーがサポートされています。

  • CloudTrail Lake と 外のイベントソースの統合に使用されるチャネルに関するリソースベースのポリシー AWS。チャネルのリソースベースのポリシーでは、チャネル上で PutAuditEvents を呼び出して送信先のイベントデータストアにイベントを送信できるプリンシパルエンティティ (アカウント、ユーザー、ロール、フェデレーションユーザー) を定義します。 CloudTrail Lake との統合の作成の詳細については、「」を参照してくださいAWS 外のイベントソースとの統合を作成する

  • イベントデータストアでアクションを実行できるプリンシパルを制御するリソースベースのポリシー。リソースベースのポリシーを使用して、イベントデータストアへのクロスアカウントアクセスを提供できます。

  • ダッシュボードの更新スケジュールを設定するときに定義した間隔で CloudTrail が CloudTrail Lake ダッシュボードを更新できるようにする、ダッシュボードのリソースベースのポリシー。詳細については、「 CloudTrail コンソールを使用してカスタムダッシュボードの更新スケジュールを設定する」を参照してください。

チャネルのリソースベースのポリシーの例

チャネルのリソースベースのポリシーでは、チャネル上で PutAuditEvents を呼び出して送信先のイベントデータストアにイベントを送信できるプリンシパルエンティティ (アカウント、ユーザー、ロール、フェデレーションユーザー) を定義します。

ポリシーに必要な情報は、統合タイプによって決まります。

  • 方向統合の場合、 CloudTrail はパートナーの を含むポリシーを必要とし AWS アカウント IDs、 はパートナーから提供された一意の外部 ID を入力する必要があります。 CloudTrail は、コンソールを使用して統合を作成するときに、パートナーの AWS アカウント IDsをリソースポリシー CloudTrail に自動的に追加します。ポリシーに必要な AWS アカウント 番号を取得する方法については、パートナーのドキュメントを参照してください。

  • ソリューション統合では、少なくとも 1 つの AWS アカウント ID をプリンシパルとして指定する必要があります。また、オプションで外部 ID を入力して、混乱した代理を防ぐことができます。

リソースベースのポリシーの要件は次のとおりです。

  • ポリシーには、少なくとも 1 つのステートメントを含めます。ポリシーには、最大 20 個のステートメントを記述できます。

  • 各ステートメントには、少なくとも 1 つのプリンシパルを含めます。プリンシパルは、アカウント、ユーザー、ロール、またはフェデレーティッドユーザーです。1 つのステートメントには、最大 50 個のプリンシパルを記述できます。

  • ポリシーでARN定義されたリソースは、ポリシーがアタッチARNされているチャネルと一致する必要があります。

  • ポリシーには、 1 つのアクションのみを含めます。cloudtrail-data:PutAuditEvents

チャネル所有者は、ポリシーがリソースへの所有者のアクセスを拒否しない限り、チャネルPutAuditEventsAPIで を呼び出すことができます。

例: プリンシパルへのチャネルアクセス権の付与

次の例では、arn:aws:iam::111122223333:root、、および ARNs を持つプリンシパルarn:aws:iam::123456789012:rootarn:aws:iam::444455556666:root、 を使用して CloudTrail チャネルPutAuditEventsAPIで ARN を呼び出すアクセス許可を付与しますarn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b" } ] }

例: 外部 ID を使用して混乱した代理問題を防止する

次の例では、外部 ID を使用して混乱した代理問題に対処し防止しています。混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。

統合パートナーはポリシーで使用する外部 ID を作成します。次に、統合の作成の一環として、統合パートナーは外部 ID を提供します。値は、パスフレーズやアカウント番号など、一意であればどんな文字列でもかまいません。

この例では、、arn:aws:iam::111122223333:root、および ARNs を持つプリンシパルarn:aws:iam::123456789012:rootに、 への呼び出しにポリシーで定義された外部 ID 値PutAuditEventsAPIが含まれている場合にarn:aws:iam::444455556666:root、 CloudTrail チャネルリソースPutAuditEventsAPIで を呼び出すアクセス許可を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "uniquePartnerExternalID" } } } ] }

イベントデータストアのリソースベースのポリシーの例

リソースベースのポリシーを使用すると、イベントデータストアでアクションを実行できるプリンシパルを制御できます。

リソースベースのポリシーを使用して、クロスアカウントアクセスを提供し、選択したプリンシパルがイベントデータストアのクエリ、クエリの一覧表示とキャンセル、およびクエリ結果の表示を許可できます。

CloudTrail Lake ダッシュボードでは、リソースベースのポリシーを使用して、 がイベントデータストアでクエリ CloudTrail を実行して、ダッシュボードの更新時にダッシュボードのウィジェットのデータを入力できるようにします。 CloudTrail Lake では、カスタムダッシュボードを作成するとき、または CloudTrail コンソールで Highlights ダッシュボードを有効にするときに、デフォルトのリソースベースのポリシーをイベントデータストアにアタッチするオプションがあります。

イベントデータストアのリソースベースのポリシーでは、以下のアクションがサポートされています。

  • cloudtrail:StartQuery

  • cloudtrail:CancelQuery

  • cloudtrail:ListQueries

  • cloudtrail:DescribeQuery

  • cloudtrail:GetQueryResults

  • cloudtrail:GenerateQuery

  • cloudtrail:GenerateQueryResultsSummary

  • cloudtrail:GetEventDataStore

イベントデータストアを作成または更新したり、 CloudTrail コンソールでダッシュボードを管理したりすると、イベントデータストアにリソースベースのポリシーを追加するオプションが表示されます。put-resource-policy コマンドを実行して、リソースベースのポリシーをイベントデータストアにアタッチすることもできます。

リソースベースのポリシーは、1 つ以上のステートメントで構成されます。たとえば、 がダッシュボードのイベントデータストア CloudTrail をクエリできるようにする 1 つのステートメントと、イベントデータストアをクエリするためのクロスアカウントアクセスを許可する別のステートメントを含めることができます。 CloudTrail コンソールのイベントデータストアの詳細ページから、既存のイベントデータストアのリソースベースのポリシーを更新できます。

組織のイベントデータストアの場合、 は、委任された管理者アカウントが組織のイベントデータストアで実行できるアクションを一覧表示するデフォルトのリソースベースのポリシー CloudTrail を作成します。このポリシーのアクセス許可は、 の委任管理者アクセス許可から取得されます AWS Organizations。このポリシーは、組織イベントデータストアまたは組織への変更 ( CloudTrail 委任管理者アカウントの登録または削除など) 後に自動的に更新されます。

例: CloudTrail がクエリを実行してダッシュボードを更新することを許可する

更新中に CloudTrail Lake ダッシュボードにデータを入力するには、 CloudTrail がユーザーに代わってクエリを実行できるようにする必要があります。これを行うには、ダッシュボードウィジェットに関連付けられた各イベントデータストアにリソースベースのポリシーをアタッチします。このポリシーには、 が StartQueryオペレーションを実行してウィジェットのデータを入力できるようにする CloudTrail ステートメントが含まれます。

ステートメントの要件は次のとおりです。

  • 唯一の Principalは ですcloudtrail.amazonaws.com

  • Action 許可されるのは のみですcloudtrail:StartQuery

  • には、ダッシュボード ARN() と AWS アカウント ID Conditionのみが含まれます。にはAWS:SourceArn、ダッシュボードの配列 を指定できますARNs。

次のポリシーの例には、 が example-dashboard1および という名前の 2 つのカスタムダッシュボードのイベントデータストアでクエリを実行 CloudTrail できるようにするステートメントexample-dashboard2と、アカウント AWSCloudTrail-Highlightsの という名前の Highlights ダッシュボードが含まれています123456789012

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "cloudtrail:StartQuery" ], "Condition": { "StringLike": { "AWS:SourceArn": [ "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/example-dashboard1", "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/example-dashboard2", "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/AWSCloudTrail-Highlights" ], "AWS:SourceAccount": "123456789012" } } } ] }

例: 他のアカウントがイベントデータストアにクエリを実行し、クエリ結果を表示できるようにする

リソースベースのポリシーを使用して、イベントデータストアへのクロスアカウントアクセスを提供し、他のアカウントがイベントデータストアでクエリを実行できるようにします。

次のポリシーの例には、アカウント 111122223333、、777777777777、および のルートユーザーがクエリ111111111111を実行し999999999999、アカウント ID が所有するイベントデータストアでクエリ結果を取得できるようにするステートメントが含まれています555555555555

{ "Version": "2012-10-17", "Statement": [ { "Sid": "policy1", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::777777777777:root", "arn:aws:iam::999999999999:root", "arn:aws:iam::111111111111:root" ] }, "Action": [ "cloudtrail:StartQuery", "cloudtrail:GetEventDataStore", "cloudtrail:GetQueryResults" ], "Resource": "arn:aws:cloudtrail:us-east-1:555555555555:eventdatastore/example80-699f-4045-a7d2-730dbf313ccf" } ] }

ダッシュボードのリソースベースのポリシーの例

CloudTrail Lake ダッシュボードの更新スケジュールを設定できます。これにより、更新スケジュールを設定するときに定義した間隔で、 CloudTrail がユーザーに代わってダッシュボードを更新できるようになります。これを行うには、リソースベースのポリシーをダッシュボードにアタッチして、 CloudTrail がダッシュボードで StartDashboardRefreshオペレーションを実行できるようにする必要があります。

リソースベースのポリシーの要件は次のとおりです。

  • 唯一の Principalは ですcloudtrail.amazonaws.com

  • ポリシーでAction許可されるのは のみですcloudtrail:StartDashboardRefresh

  • には、ダッシュボードARNと AWS アカウント ID Conditionのみが含まれます。

次のポリシー例では CloudTrail 、 がアカウント exampleDashの という名前のダッシュボードを更新できるようにします123456789012

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "cloudtrail:StartDashboardRefresh" ], "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash", "AWS:SourceAccount":"123456789012" } } } ] }