

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

# AWS Glue と Lake Formation の両方を使用したクロスアカウント許可の管理
<a name="hybrid-cross-account"></a>

AWS Glue または AWS Lake Formationを使用することで、Data Catalog リソースと基盤となるデータに対するクロスアカウントアクセス権を付与することが可能です。

AWS Glue では、データカタログリソースポリシーを作成または更新することでクロスアカウント許可を付与します。Lake Formation では、Lake Formation の `GRANT/REVOKE` 許可モデルと、`Grant Permissions` API 操作を使用することによって、クロスアカウント許可を付与します。

**ヒント**  
データレイクをセキュア化するには、Lake Formation 許可のみに頼ることをお勧めします。

Lake Formation のクロスアカウント付与を表示するには、Lake Formation コンソールまたは AWS Resource Access Manager (AWS RAM) コンソールを使用します。ただし、これらのコンソールページには、AWS Glue Data Catalog リソースポリシーによって付与されたクロスアカウント許可が表示されません。同様に、AWS Glue コンソールの **[Settings]** (設定) ページを使用して Data Catalog リソースポリシー内のクロスアカウント許可を表示することはできますが、そのページに Lake Formation を使用して付与されたクロスアカウント許可は表示されません。

クロスアカウント許可を表示および管理するときに付与を見落とさないようにするため、Lake Formation と AWS Glue では、以下のアクションを実行して、Lake Formation と AWS Glue の両方によるクロスアカウント付与を認識しており、それらを許可していることを示す必要があります。

**AWS Glue Data Catalog リソースポリシーを使用してクロスアカウント許可を付与する場合**  
アカウント (付与者アカウントまたはプロデューサーアカウント) が、 AWS RAM を使用してリソースを共有するクロスアカウント付与を行っていない場合は、データカタログリソースポリシーを通常どおり AWS Glue に保存できます。ただし、 AWS RAM リソース共有を含む許可がすでに作成されている場合は、リソースポリシーの保存が成功するように、次のいずれかを実行する必要があります。
+ AWS Glue コンソールの [**Settings**] (設定) ページでリソースポリシーを保存するときは、ポリシー内の許可が Lake Formation コンソールを使用して付与された許可に追加されることを示す警告が、コンソールに表示されます。**[Proceed]** (続行) を選択してポリシーを保存する必要があります。
+ `glue:PutResourcePolicy` API オペレーションを使用してリソースポリシーを保存するときは、`EnableHybrid` フィールドを「`TRUE`」(型 = 文字列) に設定する必要があります。

  既存のリソースポリシーを更新するには、`glue:GetResourcePolicy` API オペレーションを使用してまず現在のポリシーを取得し、必要に応じて変更してから `glue:PutResourcePolicy` を呼び出します。
**注記**  
クロスアカウントアクセス用の AWS Glue リソースポリシーを作成するときは、特定のユースケースに必要な最小限のアクセス許可のみを付与します。

  詳細については、「*AWS Glue デベロッパーガイド*」の「[PutResourcePolicy アクション (Python: put\$1resource\$1policy)](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-security.html#aws-glue-api-jobs-security-PutResourcePolicy)」を参照してください。

**Lake Formation の名前付きリソース方式を使用してクロスアカウント許可を付与する場合**  
アカウント (プロデューサーアカウント) にデータカタログリソースポリシーがない場合、Lake Formation クロスアカウント付与は通常どおりに実行されます。ただし、Data Catalog リソースポリシーが存在する場合は、以下のステートメントをポリシーに追加して、クロスアカウント付与が名前付きリソース方式で行われた場合でもそれらが成功することを許可する必要があります。*<region>* を有効なリージョン名に置き換え、*<account-id>* を AWS アカウント ID (プロデューサーアカウント ID) に置き換えます。

```
    {
      "Effect": "Allow",
      "Action": [
        "glue:ShareResource"
      ],
      "Principal": {"Service": [
        "ram.amazonaws.com"
      ]},
      "Resource": [
        "arn:aws:glue:<region>:<account-id>:table/*/*",
        "arn:aws:glue:<region>:<account-id>:database/*",
        "arn:aws:glue:<region>:<account-id>:catalog"
      ]
    }
```

この追加のステートメントがないと、Lake Formation 許可は成功しますが、ブロックされ AWS RAM、受信者アカウントは付与されたリソースにアクセスできません。

**重要**  
クロスアカウント付与を実行するために Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方式も使用している場合、少なくとも「[前提条件](cross-account-prereqs.md)」で指定されている許可がある Data Catalog リソースポリシーが必要です。

**以下も参照してください。**  
「[メタデータのアクセスコントロール](access-control-metadata.md)」(名前付きリソース方式と Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方式の説明)
[共有 Data Catalog テーブルとデータベースの表示](viewing-available-shared-resources.md)
「*AWS Glue デベロッパーガイド*」の「[AWS Glue コンソールでのデータカタログ設定の使用](https://docs.aws.amazon.com/glue/latest/dg/console-data-catalog-settings.html)」
「*AWS Glue デベロッパーガイド*」の「[クロスアカウントアクセス許可の付与](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html)」(データカタログリソースポリシーのサンプル)