Lake Formation を使用したテーブルまたはデータベースへのアクセスの管理
テーブルバケットが AWS 分析サービスと統合されると、Lake Formation はテーブルへのアクセスを管理し、各 IAM プリンシパル (ユーザーまたはロール) にアクションを実行する権限を付与する必要があります。Lake Formation は、データカタログリソースのきめ細かなアクセスコントロールを可能にする独自のアクセス許可モデル (Lake Formation 許可) を使用します。
詳細については、「AWS Lake Formation デベロッパーガイド」の「Overview of Lake Formation permissions」を参照してください。
AWS Lake Formation には、2 つの主な許可タイプがあります。
-
メタデータに対するアクセス許可は、データカタログ内でメタデータデータベースとテーブルを作成、読み取り、更新、削除できるかどうかを制御します。
-
基になるデータに対するアクセス許可は、データカタログリソースの参照先となる Amazon S3 の場所にデータを読み書きできるかどうかを制御します。
Lake Formation では、独自のアクセス許可モデルと IAM アクセス許可モデルを組み合わせて使用して、データカタログリソースと基になるデータへのアクセスを制御します。
-
データカタログリソースまたは基になるデータへのアクセスリクエストが成功するには、そのリクエストが IAM と Lake Formation の両方によるアクセス許可のチェックに合格する必要があります。
-
IAM アクセス許可は Lake Formation へのアクセス、AWS Glue の API とリソースへのアクセスを制御し、Lake Formation 許可はデータカタログリソース、Amazon S3 ロケーション、基になるデータへのアクセスを制御します。
Lake Formation 許可は付与されたリージョン内でのみ適用されます。プリンシパルが Lake Formation 許可を付与されるには、データレイク管理者または必要なアクセス許可を持つ別のプリンシパルによって認可される必要があります。
注記
テーブルバケット統合を実行したユーザーである場合は、テーブルに対する Lake Formation 許可が既に付与されています。テーブルにアクセスする唯一のプリンシパルである場合は、このステップをスキップできます。テーブルに対する Lake Formation 許可を他の IAM プリンシパルに付与するだけで済みます。これにより、クエリを実行するときに他のプリンシパルがテーブルにアクセスできるようになります。詳細については、「テーブルまたはデータベースに対する Lake Formation アクセス許可の付与」を参照してください。
テーブルまたはデータベースに対する Lake Formation アクセス許可の付与
Lake Formation コンソールまたは AWS CLI を通じて、テーブルバケット内のテーブルまたはデータベースに対する Lake Formation 許可をプリンシパルに付与できます。
注記
データカタログリソースに対する Lake Formation のアクセス許可を外部アカウントに付与するか、または別のアカウントの IAM プリンシパルに直接付与する場合、Lake Formation は AWS Resource Access Manager (AWS RAM) サービスを使用してリソースを共有します。付与対象アカウントが付与する側のアカウントと同じ組織内にある場合、付与対象アカウントはその共有リソースをただちに使用できるようになります。付与対象アカウントが同じ組織内にない場合は、AWS RAM が付与対象アカウントに対して、リソース付与を受け入れる、または拒否するための招待を送信します。その後、共有リソースを利用可能にするために、付与対象アカウントのデータレイク管理者が AWS RAM コンソールまたは AWS CLI を使用して招待を承諾する必要があります。クロスアカウントデータ共有の詳細については、「AWS Lake Formation デベロッパーガイド」の「Lake Formation でのクロスアカウントデータ共有」を参照してください。