アカウントと共有されたデータベースまたはテーブルに対する許可の付与 - AWS Lake Formation

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

アカウントと共有されたデータベースまたはテーブルに対する許可の付与

別の AWS アカウントに属する Data Catalog リソースがアカウント AWS と共有されると、データレイク管理者として、共有リソースに対するアクセス許可をアカウントの他のプリンシパルに付与できます。ただし、リソースに対する許可を他の AWS アカウントまたは組織に付与することはできません。

AWS Lake Formation コンソール、API、または AWS Command Line Interface (AWS CLI) を使用してアクセス許可を付与できます。

共有データベースに対する許可を付与する (名前付きリソース方式、コンソール)
  • 名前付きリソース方式を使用したデータベースのアクセス権限の付与」の手順を実行します。[LF-Tags or catalog resources] (LF タグまたはカタログリソース) の [Database] (データベース) リストでは、外部アカウントのデータベースを選択して、データベースのリソースリンクは選択しないようにしてください。

    データベースのリストにデータベースが表示されない場合は、そのデータベースの AWS Resource Access Manager (AWS RAM) リソース共有招待を承諾していることを確認してください。詳細については、「からのリソース共有の招待の承諾 AWS RAM」を参照してください。

    また、CREATE_TABLE および ALTER 許可については、「データロケーション許可の付与 (同じアカウント)」の手順を実行し、[Registered account location] (登録されたアカウントのロケーション) に所有側のアカウント ID を入力するようにしてください。

共有テーブルに対する許可を付与する (名前付きリソース方式、コンソール)
  • 名前付きリソース方式を使用したテーブル許可の付与」の手順を実行します。[LF-Tags or catalog resources] (LF タグまたはカタログリソース) の [Database] (データベース) リストでは、外部アカウントのデータベースを選択して、データベースのリソースリンクは選択しないようにしてください。

    テーブルのリストにテーブルが表示されない場合は、そのテーブルの AWS RAM リソース共有招待を承諾していることを確認してください。詳細については、「からのリソース共有の招待の承諾 AWS RAM」を参照してください。

    また、ALTER 許可については、「データロケーション許可の付与 (同じアカウント)」の手順を実行し、[Registered account location] (登録されたアカウントのロケーション) に所有側のアカウント ID を入力するようにしてください。

共有リソースに対するアクセス許可を付与するには (LF-TBAC メソッド、コンソール)
  • データカタログ許可の付与 」の手順を実行します。[LF タグまたはカタログリソース] セクションで、外部アカウントがアカウントに付与したものと同一の LF タグ式、またはその式のサブセットを付与します。

    例えば、外部アカウントが LF タグ式 module=customers AND environment=production を付与オプションでアカウントに付与した場合は、データレイク管理者として、同じ式や、module=customers または environment=production をアカウント内のプリンシパルに付与できます。付与できるのは、リソースに対して LF タグ式で付与された Lake Formation 許可 (例えば SELECTALTER など) と同じ許可、またはそのサブセットのみです。

共有テーブルに対するアクセス許可を付与するには (名前付きリソースメソッド AWS CLI)
  • 以下のようなコマンドを入力します。この例では、以下のようになっています。

    • AWS アカウント ID は 1111-2222-3333 です。

    • テーブルを所有し、それをアカウントに付与したアカウントは 1234-5678-9012 です。

    • 共有テーブル pageviews に対する SELECT 許可がユーザー datalake_user1 に付与されています。そのユーザーはアカウントのプリンシパルです。

    • pageviews テーブルは、アカウント 1234-5678-9012 が所有する analytics データベースにあります。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"CatalogId":"123456789012", "DatabaseName":"analytics", "Name":"pageviews"}}'

    resource 引数の CatalogId プロパティには、所有側のアカウントを指定する必要があることに注意してください。