Athena が Lake Formation に登録されたデータにアクセスする方法
このセクションで説明するアクセスワークフローが適用されるのは、Lake Formation に登録された Amazon S3 の場所とメタデータオブジェクトに対して Athena クエリを実行している場合のみです。詳細については、「AWS Lake Formation デベロッパーガイド」の「データレイクの登録」を参照してください。Lake Formation 管理者は、データの登録に加えて、データカタログ内のメタデータ、および Amazon S3 のデータの場所へのアクセス権を付与または取り消す Lake Formation 許可を適用します。詳細については、「AWS Lake Formation デベロッパーガイド」の「メタデータとデータに対するセキュリティとアクセスコントロール」を参照してください。
Lake Formation は、Athena プリンシパル (ユーザー、グループ、またはロール) が Lake Formation を使用して登録されたデータに対するクエリを実行するたびに、データベース、テーブル、および Amazon S3 の場所に対する、そのクエリに見合った適切な Lake Formation 許可がプリンシパルにあることを検証します。プリンシパルにアクセス権がある場合、Lake Formation は一時的な認証情報を Athena に供給し、クエリが実行されます。
以下の図は、上記のフローを説明するものです。
以下の図は、Simple Storage Service (Amazon S3) の場所が Lake Formation に登録されているときのテーブルに対する仮説上の SELECT
クエリについて、Athena での認証情報の供給がクエリごとにどのように機能するかを示しています。
-
プリンシパルが Athena で
SELECT
クエリを実行します。 -
Athena がクエリを分析し、Lake Formation の許可をチェックして、テーブルとテーブルの列に対するアクセス権がプリンシパルに付与されているかどうかを確認します。
-
プリンシパルにアクセス権がある場合、Athena が Lake Formation からの認証情報をリクエストします。プリンシパルにアクセス権がない場合は、Athena がアクセス拒否エラーを発行します。
-
Lake Formation が、Amazon S3 からデータを読み込むときに使用する認証情報と、許可される列のリストを Athena に発行します。
-
Athena が Lake Formation の一時的な認証情報を使用して、Amazon S3 からデータをクエリします。クエリが完了すると、Athena が認証情報を破棄します。