Amazon Athena での AWS Lake Formation の使用
Amazon Athena は、Amazon S3 に保存された構造化データ、半構造化データ、および非構造化データの分析に役立つサーバーレスのクエリサービスです。Athena SQL を使用して、CSV、JSON、Parquet、Avro データ形式のデータをクエリできます。Athena SQL は、Apache Hive
ここでは、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 テーブルへの書き込みオペレーションはサポートしていません。 |
「Lake Formation でのデータフィルタリングとセルレベルのセキュリティ」に従って、テーブル、列、行、セルレベルのアクセス許可を使用して Hudi テーブルを保護します。 |
Apache Iceberg |
大量のファイルのコレクションをテーブルとして管理し、レコードレベルの挿入、更新、削除、タイムトラベルクエリなどの最新の分析データレイクオペレーションをサポートするオープンテーブル形式。 Athena による Iceberg テーブルのサポートの詳細については、「Iceberg テーブルの使用」を参照してください。 |
テーブル、列、行、セルレベルのアクセス許可がサポートされています。現在、Lake Formation は、オープンテーブルフォーマットのテーブルに対する |
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 テーブルでは、テーブル、列、行、およびセルレベルのアクセス許可がサポートされています。 |