

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

# 前提条件
<a name="cross-account-prereqs"></a>

 AWS アカウントが Data Catalog リソース (カタログ、データベース、テーブル) を別のアカウントまたは別のアカウントのプリンシパルと共有する前に、およびアカウントと共有されているリソースにアクセスする前に、次の前提条件を満たす必要があります。

**クロスアカウントデータ共有の一般的な要件**
+ ハイブリッドアクセスモードでデータカタログのデータベースとテーブルを共有し、フェデレーティッドカタログでオブジェクトを共有するには、**[クロスアカウントバージョン設定]** を **[バージョン 4]** に更新する必要があります。
+ Data Catalog リソースに対するクロスアカウント許可を付与する前に、そのリソースの `IAMAllowedPrincipals` グループからすべての Lake Formation 許可を取り消す必要があります。呼び出し元のプリンシパルがリソースにアクセスするためのクロスアカウント許可を持っていて、リソースに `IAMAllowedPrincipals` 許可がある場合、Lake Formation は `AccessDeniedException` をスローします。

  この要件は、基盤となるデータロケーションを Lake Formation モードで登録する場合にのみ該当します。データロケーションをハイブリッドモードで登録すると、`IAMAllowedPrincipals` グループ許可が共有データベースまたはテーブルに存在することになる可能性があります。
+  共有する予定のテーブルが含まれるデータベースについては、新しいテーブルに `IAMAllowedPrincipals` への `Super` のデフォルト付与がないようにする必要があります。Lake Formation コンソールで、データベースを編集してオフにします。**このデータベースの新しいテーブルには IAM アクセスコントロールのみを使用する**か、次の AWS CLI コマンドを入力して、 をデータベースの名前`database`に置き換えます。基になるデータロケーションがハイブリッドアクセスモードで登録されている場合は、このデフォルト設定を変更する必要はありません。ハイブリッドアクセスモードでは、Lake Formation ではAmazon S3と IAM アクセス許可ポリシーを同じリソース AWS Glue に選択的に適用できます。

  ```
  aws glue update-database --name {{database}} --database-input '{"Name":"{{database}}","CreateTableDefaultPermissions":[]}'
  ```
+ クロスアカウントアクセス許可を付与するには、付与者に AWS Glueおよび AWS RAM サービスに対する必要な AWS Identity and Access Management (IAM) アクセス許可が必要です。 AWS 管理ポリシーは、必要なアクセス許可`AWSLakeFormationCrossAccountManager`を付与します。

  を使用してリソース共有を受信するアカウントのデータレイク管理者には、次の追加ポリシー AWS RAM が必要です。これにより、管理者は AWS RAM リソース共有の招待を受け入れることができます。また、管理者が組織とのリソース共有を有効にすることも可能にします。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ram:AcceptResourceShareInvitation",
                  "ram:RejectResourceShareInvitation",
                  "ec2:DescribeAvailabilityZones",
                  "ram:EnableSharingWithAwsOrganization"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
+ Data Catalog リソースを AWS Organizations または組織単位と共有する場合は、 で組織との共有を有効にする必要があります AWS RAM。

  組織との共有を有効にする方法については、*AWS RAM 「 ユーザーガイド*」の[AWS 「組織との共有を有効にする](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)」を参照してください。

  組織との共有を有効にするには、`ram:EnableSharingWithAwsOrganization` 許可が必要です。
+ 別のアカウントの IAM プリンシパルとリソースを直接共有するには、**[Cross account version settings]** (クロスアカウントバージョン設定) を **[Version 3]** (バージョン 3) に更新する必要があります。この設定は、**[Data catalog settings]** (データカタログ設定) ページにあります。**[Version 1]** (バージョン 1) を使用している場合は、設定を更新する手順「[クロスアカウントデータ共有のバージョン設定の更新](optimize-ram.md)」を参照してください。
+  AWS Glue サービスマネージドキーで暗号化された Data Catalog リソースを別のアカウントと共有することはできません。共有できるのは、お客様の暗号化キーで暗号化された Data Catalog リソースのみです。リソース共有を受け取るアカウントには、オブジェクトを復号するための Data Catalog 暗号化キーに対する許可が必要です。

**LF-TBAC 要件を使用したクロスアカウントデータ共有**
+  Data Catalog リソースを AWS Organizations および組織単位 (OUs) と共有するには、**クロスアカウントバージョン設定**を**バージョン 3** 以上に更新する必要があります。
+ Data Catalog リソースをバージョン 3 の**クロスアカウントバージョン設定**と共有するには、付与者はアカウントの AWS 管理ポリシー `AWSLakeFormationCrossAccountManager` で定義されている IAM アクセス許可を持っている必要があります。
+ **[クロスアカウントのバージョン設定]** のバージョン 1 またはバージョン 2 を使用している場合、LF-TBAC を有効にする Data Catalog リソースポリシー (`glue:PutResourcePolicy`) が必要です。詳細については、「[AWS Glue と Lake Formation の両方を使用したクロスアカウント許可の管理](hybrid-cross-account.md)」を参照してください。
+ 現在 AWS Glue Data Catalog リソースポリシーを使用してリソースを共有しており、バージョン 3 以降のクロスアカウント**バージョン設定を使用してクロスアカウント**アクセス許可を付与する場合は、[AWS Glue と Lake Formation の両方を使用したクロスアカウント許可の管理](hybrid-cross-account.md)「」セクションに示すように、 `glue:PutResourcePolicy` API オペレーションを使用して Data Catalog 設定に `glue:ShareResource` アクセス許可を追加する必要があります。AWS Glue Data Catalog リソースポリシー (バージョン 1 とバージョン 2 では `glue:PutResourcePolicy` の許可を使用) を使用してクロスアカウントアクセス付与を行わなかった場合、このポリシーは必要ありません。

  ```
  {
        "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"
        ]
      }
  ```
+ アカウントが AWS Glue データカタログリソースポリシーを使用してクロスアカウント共有を行っており、現在 AWS RAM を使用してリソースを共有するために名前付きリソースメソッドまたは LF-TBAC **[クロスアカウント設定]** バージョン 3 を使用してリソースを共有している場合は、`glue:PutResourcePolicy` API オペレーションを呼び出すときに引数 `EnableHybrid` を `'true'` に設定する必要があります。詳細については、「[AWS Glue と Lake Formation の両方を使用したクロスアカウント許可の管理](hybrid-cross-account.md)」を参照してください。

**共有リソースにアクセスする各アカウントで必要になるセットアップ**
+ リソースを共有する場合 AWS アカウント、共有リソースを表示するには、コンシューマーアカウントの少なくとも 1 人のユーザーがデータレイク管理者である必要があります。データレイク管理者の作成方法については、「[データレイク管理者を作成する](initial-lf-config.md#create-data-lake-admin)」を参照してください。

  データレイク管理者は、共有リソースに対する Lake Formation 許可をアカウント内の他のプリンシパルに付与できます。他のプリンシパルは、データレイク管理者から共有リソースに対する許可を付与されるまで、そのリソースにアクセスできません。
+ Athena や Redshift Spectrum などの統合されたサービスでは、クエリに共有リソースを含めることができるように、リソースリンクが必要になります。プリンシパルは、その Data Catalog に、別の AWS アカウントアカウントからの共有リソースへのリソースリンクを作成する必要があります。リソースリンクの詳細については、「[Lake Formation でのリソースリンクの仕組み](resource-links-about.md)」を参照してください。
+ リソースを IAM プリンシパルと直接共有する場合、Athena を使用してテーブルをクエリする場合、プリンシパルはそのリソースリンクを作成する必要があります。リソースリンクを作成するには、プリンシパルは Lake Formation の `CREATE_TABLE` または `CREATE_DATABASE` アクセス許可と、`glue:CreateTable` または `glue:CreateDatabase` IAM アクセス許可が必要です。

  プロデューサーアカウントが同じデータベース内の別のテーブルを同じプリンシパルまたは別のプリンシパルと共有している場合、そのプリンシパルはすぐにテーブルをクエリできます。

**注記**  
データレイク管理者と、データレイク管理者から許可が付与されたプリンシパルには、共有リソースがローカル (所有) リソースであるかのように Data Catalog に表示されます。抽出、変換、ロード (ETL) ジョブは、共有リソースの基盤となるデータにアクセスできます。  
共有リソースについては、Lake Formation コンソールの **[Tables]** (テーブル) および **[Databases]** (データベース) ページに所有者のアカウント ID が表示されます。  
共有リソースの基盤となるデータに対するアクセスが行われると、共有リソース受領者のアカウントと、リソース所有者のアカウントの両方で CloudTrail ログイベントが生成されます。CloudTrail イベントには、データにアクセスしたプリンシパルの ARN を含めることができますが、これは受領者アカウントがログにプリンシパル ARN を含めるようにオプトインする場合のみになります。詳細については、「[CloudTrail のクロスアカウントロギング](cross-account-logging.md)」を参照してください。