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

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

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

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

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

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

CloudTrail コンソール、、または DisableFederation API オペレーションを使用して AWS CLIフェデレーションを無効にすることができます。フェデレーションを無効にすると、 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 ロールを選択すると、 は必要なアクセス許可を持つ IAM ロール CloudTrail を作成し、ユーザー側でそれ以上のアクションは必要ありません。

既存のロールを選択する場合は、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 Data Catalog でフェデレーションリソースを作成し、リソース登録 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 Data Catalog 内のマネージドフェデレーションテーブルを削除し、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" } ] }