

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

# アカウントと共有されたデータベースまたはテーブルに対する許可の付与
<a name="regranting-shared-resources"></a>

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

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

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

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

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

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

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

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

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

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

**共有テーブルに対するアクセス許可を付与するには (名前付きリソースメソッド 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` プロパティには、所有側のアカウントを指定する必要があることに注意してください。