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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

リソースリンクは、ローカルまたは共有のデータベースまたはテーブルへのリンクである Data Catalog オブジェクトです。データベースまたはテーブルへのリソースリンクを作成すると、そのデータベース名やテーブル名を使用する場所ならどこでもリソースリンク名を使用することができます。テーブルのリソースリンクは、glue:GetTables() によってユーザーが所有するテーブル、またはユーザーと共有されたテーブルとともに返され、Lake Formation コンソールの [Tables] (テーブル) ページにエントリとして表示されます。データベースへのリソースリンクも同様に機能します。

データベースまたはテーブルへのリソースリンクを作成すると、以下を実行できるようになります。

  • Data Catalog 内のデータベースまたはテーブルに異なる名前を割り当てる。これは、異なる AWS アカウントが同じ名前のデータベースまたはテーブルを共有する場合、またはアカウント内の複数のデータベースが同じ名前のテーブルを持つ場合に特に便利です。

  • 別の AWS リージョンのデータベースとテーブルを指すリソースリンクをそれらのリージョンに作成して、任意のリージョンから Data Catalog データベースとテーブルにアクセスします。Glue Data Catalog のソースデータやメタデータをコピーすることなく、Athena、Amazon、EMRSpark AWS Glue ETL ジョブを使用して、これらのリソースリンクを使用して任意のリージョンでクエリを実行できます。

  • Amazon Athena や Amazon Redshift Spectrum などの統合 AWS サービスを使用して、共有データベースやテーブルにアクセスするクエリを実行します。統合サービスには、アカウントをまたいでデータベースやテーブルに直接アクセスできないものがありますが、アカウントにある他のアカウントのデータベースやテーブルへのリソースリンクにアクセスすることは可能です。

注記

AWS Glue 抽出、変換、ロード (ETL) スクリプトで共有データベースまたはテーブルを参照するためのリソースリンクを作成する必要はありません。ただし、複数の AWS アカウントが同じ名前のデータベースまたはテーブルを共有する場合のあいまいさを避けるために、リソースリンクを作成して使用するか、ETLオペレーションを呼び出すときにカタログ ID を指定できます。

以下は、2 つのリソースリンクが表示されている Lake Formation コンソールの [Tables] (テーブル) ページの例です。リソースリンクの名前は、常にイタリック体で表示されます。各リソースリンクは、リンクされた共有リソースの名前と所有者と共に表示されます。この例では、 AWS アカウント 1111-2222-3333 のデータレイク管理者が、アカウント 1234-5678-9012 と inventoryincidentsテーブルを共有しました。共有後、そのアカウントのユーザーがそれらの共有テーブルへのリソースリンクを作成しました。

[Tables] (テーブル) ページに 2 つのリソースリンクが表示されています。リソースリンク名は [Name] (名前) 列、共有テーブル名は [Shared resource] (共有リソース) 列、テーブルを共有したアカウントは [Shared resource owner] (共有リソース所有者) 列に表示されています。

以下は、リソースリンクに関する注意点と制限です。

  • リソースリンクでは、共有テーブルの基盤となるデータをクエリするために、Athena および Redshift Spectrum などの統合サービスを有効にすることが必要になります。これらの統合サービスでのクエリは、リソースリンク名に対して作成されます。

  • 「このデータベース内の新しいテーブルのIAMアクセスコントロールのみを使用する」の設定が、含まれるデータベースに対して無効になっていると仮定すると、リソースリンクを作成したプリンシパルのみがそのテーブルを表示およびアクセスできます。アカウント内の他のプリンシパルがリソースリンクにアクセスできるようにするには、それに対する DESCRIBE 許可を付与します。他のユーザーがリソースリンクをドロップできるようにするには、それに対する DROP 許可を付与します。データレイク管理者は、アカウント内のすべてのリソースリンクにアクセスできます。別のプリンシパルが作成したリソースリンクをドロップするには、まずデータレイク管理者がリソースリンクに対する DROP 許可を管理者自身に付与する必要があります。詳細については、「Lake Formation 許可のリファレンス」を参照してください。

    重要

    リソースリンクに対する許可を付与しても、ターゲットの (リンクされた) データベースまたはテーブルに対する許可は付与されません。ターゲットに対する許可は、別途付与する必要があります。

  • リソースリンクを作成するには、Lake Formation CREATE_TABLEまたは アクセスCREATE_DATABASE許可と、 glue:CreateTable または glue:CreateDatabase AWS Identity and Access Management (IAM) アクセス許可が必要です。

  • リソースリンクは、ローカル (所有) Data Catalog リソースと、 AWS アカウントと共有されているリソースにリンクできます。

  • リソースリンクを作成するときに、ターゲット共有リソースが存在するかどうか、またはそのリソースに対するクロスアカウント許可があるかどうかを確認するためのチェックは実行されません。これは、リソースリンクと共有リソースを任意の順序で作成できるようにします。

  • リソースリンクを削除しても、リンクされた共有リソースはドロップされません。共有リソースをドロップしても、そのリソースへのリソースリンクは削除されません。

  • リソースリンクチェーンを作成することが可能ですが、ただし、 は最初のリソースリンクのみAPIsに従うため、その値はありません。