データカタログへのクロスアカウントアクセスを設定する - Amazon Athena

データカタログへのクロスアカウントアクセスを設定する

別のアカウントのデータカタログにアクセスするには、Athena のクロスアカウント AWS Glue 機能を使用するか、Lake Formation でクロスアカウントアクセスをセットアップします。

オプション A: Athena でデータカタログへのクロスアカウントアクセスを設定する

Athena のクロスアカウント AWS Glue カタログ機能を使用して、アカウントにカタログを登録できます。この機能は Athena エンジンバージョン 2 以降でのみ使用でき、アカウント間の同一リージョンでの使用に制限されています。詳細については、「別のアカウントからデータカタログを登録する」を参照してください。

共有するデータカタログのリソースポリシーが AWS Glue で設定されている場合、AWS Resource Access Manager へのアクセスを許可し、アカウント B へ許可を付与して、アカウント A のデータカタログを使用するように、更新する必要があります。

詳細については、「AWS Glue データカタログへのクロスアカウントアクセスを構成する」を参照してください。

オプション B: Lake Formation でクロスアカウントアクセスを設定する

AWS Lake Formation では、単一のアカウントを使用して中央データカタログを管理できます。この機能を使用して、データカタログメタデータと基盤となるデータにクロスアカウントアクセスを実装します。例えば、所有者アカウントは、テーブルに対する SELECT 許可を別の (受信者) アカウントに付与できます。

共有のデータベースまたはテーブルを Athena クエリエディタに表示するには、Lake Formation で共有のデータベースまたはテーブルへのリソースリンクを作成します。Lake Formation の受信者アカウントが所有者のテーブルをクエリすると、CloudTrail が受信者アカウントと所有者アカウントの両方のログにデータアクセスイベントを追加します。

共有ビューの場合は、次の点に注意してください。

  • クエリは、ソーステーブルまたはビューではなく、ターゲットリソースリンクで実行され、出力がターゲットアカウントと共有されます。

  • ビューだけを共有するだけでは不十分です。ビューの作成に関与するすべてのテーブルは、クロスアカウント共有の一部である必要があります。

  • 共有リソースで作成されたリソースリンクの名前は、所有者アカウントのリソースの名前と一致する必要があります。名前が一致しない場合、「Failed analyzing stored view 'awsdatacatalog.my-lf-resource-link.my-lf-view': line 3:3: Schema schema_name does not exist」のようなエラーメッセージが表示されます。

Lake Formation でのクロスアカウントアクセスの詳細については、「AWS Lake Formation デベロッパーガイド」の以下のリソースを参照してください。

クロスアカウントアクセス

Lake Formation でのリソースリンクの仕組み

CloudTrail のクロスアカウントロギング