イベントデータストアのフェデレーション - AWS CloudTrail

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

イベントデータストアのフェデレーション

イベントデータストアをフェデレーションすると、データカタログ内の AWS Glue イベントデータストアに関連付けられたメタデータを表示したり、 にデータカタログを登録したり AWS Lake Formation、Amazon Athena を使用してイベントデータに対して SQL クエリを実行したりできます。 AWS Glue データカタログに保存されているテーブルメタデータにより、Athena クエリエンジンはクエリするデータを検索、読み取り、処理する方法を知ることができます。

CloudTrail コンソール AWS CLI、または EnableFederation API オペレーションを使用してフェデレーションを有効にできます。Lake クエリフェデレーションを有効にすると、CloudTrail は という名前のマネージドデータベース aws:cloudtrail (データベースがまだ存在しない場合) と、 AWS Glue データカタログにマネージドフェデレーションテーブルを作成します。イベントデータストア ID はテーブル名に使用されます。CloudTrail は、フェデレーションロール ARN とイベントデータストアを に登録します。これはAWS Lake Formation、 AWS Glue データカタログ内のフェデレーションリソースのきめ細かなアクセスコントロールを許可するサービスです。

Lake クエリフェデレーションを有効にするには、新しい IAM ロールを作成するか、既存のロールを選択する必要があります。Lake Formation はこのロールを使用して、フェデレーションイベントデータストアのアクセス許可を管理します。CloudTrail コンソールを使用して新しいロールを作成すると、ロールには必要なアクセス許可が CloudTrail により自動的に作成されます。既存のロールを選択する場合は、ロールが最小限のアクセス許可を提供していることを確認してください。

CloudTrail コンソール AWS CLI、または DisableFederation API オペレーションを使用してフェデレーションを無効にすることができます。フェデレーションを無効にすると、CloudTrail は AWS Glue、、 AWS Lake Formation、および Amazon Athena との統合を無効にします。Lake クエリフェデレーションを無効にした後は、Athena でイベントデータをクエリできなくなります。フェデレーションを無効にしても CloudTrail Lake のデータは削除されず、CloudTrail Lake で引き続きクエリを実行できます。

CloudTrail Lake イベントデータストアのフェデレーションには CloudTrail の料金はかかりません。Amazon Athena でクエリを実行するにはコストがかかります。Athena の料金の詳細については、「Amazon Athena の料金」を参照してください。

考慮事項

イベントデータストアのフェデレーションを行う場合は、以下の要素を考慮してください。

  • CloudTrail Lake イベントデータストアのフェデレーションには CloudTrail の料金はかかりません。Amazon Athena でクエリを実行するにはコストがかかります。Athena の料金の詳細については、「Amazon Athena の料金」を参照してください。

  • Lake Formation は、フェデレーションリソースのアクセス許可を管理するために使用されます。フェデレーションロールを削除するか、Lake Formation または からリソースへのアクセス許可を取り消す場合 AWS Glue、Athena からクエリを実行することはできません。Lake Formation 操作の詳細については、を使用した CloudTrail Lake フェデレーションリソースの管理 AWS Lake Formation を参照してください。

  • Lake Formation に登録されたデータのクエリに Amazon Athena を使用するユーザーには、lakeformation:GetDataAccess アクションを許可する IAM アクセス許可ポリシーが必要です。 AWS 管理ポリシー: はこのアクションAmazonAthenaFullAccessを許可します。インラインポリシーを使用する場合は、このアクションを許可するように許可ポリシーを更新してください。詳細については、「Lake Formation と Athena ユーザー許可の管理」を参照してください。

  • Athena のフェデレーションテーブルにビューを作成するには、aws:cloudtrail 以外の送信先データベースが必要です。これは、aws:cloudtrail データベースが CloudTrail によって管理されているためです。

  • Amazon QuickSight でデータセットを作成するには、[カスタム SQL を使用] オプションを選択する必要があります。詳細については、「Amazon Athena データを使用したデータセットの作成」を参照してください。

  • フェデレーションが有効になっている場合、イベントデータストアを削除することはできません。フェデレーションイベントデータストアを削除するには、まず、フェデレーションを無効化し、終了保護が有効になっている場合はこれも無効にする必要があります。

  • 組織のイベントデータストアには、次の考慮事項が適用されます。

    • 組織のイベントデータストアでフェデレーションを有効にできるのは、委任された管理者アカウントの 1 つ、または管理アカウントだけです。他の委任された管理者アカウントも、Lake Formation データ共有機能を使用して情報をクエリおよび共有することはできます。

    • すべての委任された管理者アカウントも組織の管理アカウントもフェデレーションを無効にできます。

フェデレーションに必要なアクセス許可

イベントデータストアのフェデレーションを行う前に、フェデレーションロールとフェデレーションの有効化と無効化に必要なすべてのアクセス許可があることを確認してください。フェデレーションロールのアクセス許可を更新する必要があるのは、既存の IAM ロールを選択してフェデレーションを有効にする場合だけです。CloudTrail コンソールを使用して新しい IAM ロールを作成する場合、CloudTrail によってロールに必要なアクセス許可がすべて提供されます。

イベントデータストアのフェデレーションのための IAM アクセス許可

フェデレーションを有効にする際に、新しい IAM ロールを作成するか、既存の IAM ロールを使用するか選択できます。新しい IAM ロールを選択すると、CloudTrail は必要な許可を持つ IAM ロールを作成するため、お客様側でそれ以上のアクションは必要ありません。

既存のロールを選択する場合は、IAM ロールのポリシーがフェデレーションを有効にするために必要なアクセス許可を付与していることを確認してください。このセクションでは、必要な IAM ロールのアクセス許可と信頼ポリシーの例を示します。

次の例は、フェデレーションロールのアクセス許可ポリシーを示しています。最初のステートメントには、Resource のイベントデータストアの完全な ARN を指定します。

このポリシーの 2 番目のステートメントにより、Lake Formation は KMS キーで暗号化されたイベントデータストアのデータを復号できます。key-regionaccount-idkey-id は KMS キーの値に置き換えてください。イベントデータストアが暗号化に KMS キーを使用しない場合は、このステートメントを省略できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFederationEDSDataAccess", "Effect": "Allow", "Action": "cloudtrail:GetEventDataStoreData", "Resource": "arn:aws:cloudtrail:eds-region:account-id:eventdatastore/eds-id" }, { "Sid": "LakeFederationKMSDecryptAccess", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:key-region:account-id:key/key-id" } ] }

次の例は IAM 信頼ポリシーを示しています。これにより、 AWS Lake Formation は、フェデレーションイベントデータストアのアクセス許可を管理する IAM ロールを引き受けることができます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

フェデレーションの有効化に必要なアクセス許可

次のポリシーの例は、イベントデータストアでフェデレーションを有効にするために最低限必要なアクセス許可を提供します。このポリシーにより、CloudTrail はイベントデータストアでフェデレーションを有効にし、 AWS Glue データカタログにフェデレーションリソース AWS Glue を作成し、リソース登録を管理 AWS Lake Formation できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudTrailEnableFederation", "Effect": "Allow", "Action": "cloudtrail:EnableFederation", "Resource": "arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id" }, { "Sid": "FederationRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole", "iam:GetRole" ], "Resource": "arn:aws:iam::region:role/federation-role-name" }, { "Sid": "GlueResourceCreation", "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:CreateTable", "glue:PassConnection" ], "Resource": [ "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/aws:cloudtrail", "arn:aws:glue:region:account-id:table/aws:cloudtrail/eds-id", "arn:aws:glue:region:account-id:connection/aws:cloudtrail" ] }, { "Sid": "LakeFormationRegistration", "Effect": "Allow", "Action": [ "lakeformation:RegisterResource", "lakeformation:DeregisterResource" ], "Resource": "arn:aws:lakeformation:region:account-id:catalog:account-id" } ] }

フェデレーションの無効化に必要なアクセス許可

次のポリシーの例は、イベントデータストアでフェデレーションを無効にするために最低限必要なリソースを提供します。このポリシーにより、CloudTrail はイベントデータストアのフェデレーションを無効に AWS Glue し、 AWS Glue データカタログ内のマネージドフェデレーションテーブルを削除し、Lake Formation はフェデレーションリソースの登録を解除できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudTrailDisableFederation", "Effect": "Allow", "Action": "cloudtrail:DisableFederation", "Resource": "arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id" }, { "Sid": "GlueTableDeletion", "Effect": "Allow", "Action": "glue:DeleteTable", "Resource": [ "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/aws:cloudtrail", "arn:aws:glue:region:account-id:table/aws:cloudtrail/eds-id" ] }, { "Sid": "LakeFormationDeregistration", "Effect": "Allow", "Action": "lakeformation:DeregisterResource", "Resource": "arn:aws:lakeformation:region:account-id:catalog:account-id" } ] }