Amazon Athena での AWS Lake Formation の使用 - AWS Lake Formation

Amazon Athena での AWS Lake Formation の使用

Amazon Athena は、Amazon S3 に保存された構造化データ、半構造化データ、および非構造化データの分析に役立つサーバーレスのクエリサービスです。Athena SQL を使用して、CSV、JSON、Parquet、Avro データ形式のデータをクエリできます。Athena SQL は、Apache HiveApache HudiApache Iceberg などのテーブル形式もサポートしています。Athena は、Amazon S3 のデータセットのメタデータストアを保存するために、AWS Glue Data Catalog と統合します。Athena は Lake Formation を使用して、これらのデータセットのアクセスコントロールポリシーを定義および管理できます。

ここでは、Athena で Lake Formation を使用できるいくつかの一般的なユースケースを示します。

  • Athena から Data Catalog リソース (データベースとテーブル) にアクセスするための Lake Formation のアクセス許可を使用します。名前付きリソース方式または LF タグのいずれかを使用して、データベースとテーブルに対するアクセス許可を定義できます。詳細については、以下を参照してください。

    注記

    Lake Formation アクセス許可は、Athena SQL を使用して Amazon S3 のソースデータとデータカタログ内のメタデータをクエリする場合にのみ適用されます。

    Athena Spark では、Lake Formation アクセス許可によるデータカタログテーブルのクエリはサポートされません。Lake Formation のアクセス許可は、データベースとテーブルに対する読み取りオペレーションおよび書き込みオペレーションの両方をサポートします。

    注記

    LF タグを使用して Data Catalog リソースに対するアクセス許可を管理する場合、データフィルターを適用することはできません。

  • Lake Formation でのデータフィルター を使用し、列、行、およびセルレベルでアクセス許可を付与して Amazon S3 データレイクのテーブルを保護することで、クエリ結果を制御できます。Amazon Athena ユーザーガイドのパーティション射影の制限に関する項目を参照してください。

  • フェデレーションクエリを実行する際に、SAML ベースの Athena ユーザーが利用できるデータに細粒度のアクセスコントロールを適用します。

    Athena JDBC および ODBC ドライバーは、SAML ベースの ID プロバイダー (IdP) を使用したデータソースへのフェデレーションアクセスの設定をサポートします。Lake Formation と統合された Amazon QuickSight を既存の IAM ロールまたは SAML ユーザーもしくはグループと組み合わせて使用すると、Athena のクエリ結果を視覚化できます。

    注記

    SAML ユーザーおよびグループに対する Lake Formation のアクセス許可は、JDBC または ODBC ドライバーを使用して Athena にクエリを送信する場合のみ適用されます。

    詳細については、「Athena へのフェデレーションアクセスのための Lake Formation と Athena JDBC および ODBC ドライバーの使用」を参照してください。

    注記

    現在、以下のリージョンでは Lake Formation での SAML アイデンティティへのアクセスの認可はサポートされていません。

    • 中東 (バーレーン) – me-south-1

    • アジアパシフィック (香港) – ap–east–1

    • アフリカ (ケープタウン) – af-south-1

    • 中国 (寧夏) – cn-northwest-1

    • アジアパシフィック (大阪) – ap-northeast-3

  • 別のアカウントのテーブルをクエリする場合は、Lake Formation でのクロスアカウントデータ共有 を使用します。

注記

Views に対して Lake Formation アクセス許可を使用する際の制限の詳細については、「考慮事項と制限事項」を参照してください。

トランザクションテーブル形式のサポート

Lake Formation アクセス許可を適用すると、Amazon S3 ベースのデータレイク内のトランザクションデータを保護できます。以下の表は、Athena と Lake Formation のアクセス許可でサポートされているトランザクションテーブル形式を示しています。Lake Formation は、Athena ユーザーがクエリを実行したときにこれらのアクセス許可を適用します。

テーブル形式 説明と許可されるオペレーション Athena でサポートされている Lake Formation のアクセス許可

Apache Hudi

増分データ処理とデータパイプラインの開発を簡素化するために使用される形式。

Athena は、Copy on Write (CoW)Merge On Read (MoR) の両方の Hudi テーブルタイプについて、Amazon S3 データセットの Apache Hudi テーブル形式を使用した作成および読み取りオペレーションをサポートしていますが、Hudi テーブルへの書き込みオペレーションはサポートしていません。

Athena を使用して Hudi データセットへのクエリを実行します

Lake Formation でのデータフィルタリングとセルレベルのセキュリティ」に従って、テーブル、列、行、セルレベルのアクセス許可を使用して Hudi テーブルを保護します。

Apache Iceberg

大量のファイルのコレクションをテーブルとして管理し、レコードレベルの挿入、更新、削除、タイムトラベルクエリなどの最新の分析データレイクオペレーションをサポートするオープンテーブル形式。

Athena による Iceberg テーブルのサポートの詳細については、「Iceberg テーブルの使用」を参照してください。

テーブル、列、行、セルレベルのアクセス許可がサポートされています。現在、Lake Formation は、オープンテーブルフォーマットのテーブルに対する VACUUMMERGEUPDATEOPTIMIZE などの書き込み操作の権限管理をサポートしていません。

Linux Foundation Delta Lake

Delta Lake は、一般的に Amazon S3 または File system distribuito Hadoop (HDFS) 上に構築される最新のデータレイクアーキテクチャの実装を支援するオープンソースプロジェクトです。

Athena は、AWS Glue Data Catalogで Delta Lake テーブルのシンボリックリンクベースのマニフェストテーブル定義を使用して作成した Delta Lake テーブルをサポートしています。

詳細については、「AWS Glue クローラーを使用してデータレイクテーブルをクロールする」を参照してください。

Athena (エンジンバージョン 3) は、ネイティブの Delta Lake テーブルの読み取りをサポートしています。

詳細については、「AWS Glue クローラーによるネイティブデータレイクテーブルサポートの紹介」を参照してください。

シンボリックリンクテーブルとネイティブ Delta Lake テーブルでは、テーブル、列、行、およびセルレベルのアクセス許可がサポートされています。

追加リソース