

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

# サードパーティークエリエンジンの登録
<a name="register-query-engine"></a>

サードパーティクエリエンジンがアプリケーション統合 API 操作を使用するには、クエリエンジンがユーザーに代わって API 操作を呼び出すアクセス許可を明示的に有効にする必要があります。これを行うには、以下のステップに従います。

1. Lake Formation コンソール、、 AWS CLI または API/SDK を使用して AWS アプリケーション統合 API オペレーションを呼び出すアクセス許可が必要な AWS アカウントと IAM セッションタグを指定する必要があります。

1. サードパーティーのクエリエンジンがアカウントで実行ロールを引き受ける場合、クエリエンジンは、Lake Formation に登録されている、サードパーティーエンジンを表すセッションタグをアタッチする必要があります。Lake Formation は、このタグを使用して、承認されたエンジンからのリクエストであるかどうかを検証します。セッションタグの詳細については、「IAM ユーザーガイド」の[セッションタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)に関するセクションを参照してください。

1. サードパーティクエリエンジンの実行ロールを設定する場合は、IAM ポリシーに少なくとも以下の一連の許可が必要です。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {"Effect": "Allow",
       "Action": [
         "lakeformation:GetDataAccess",      
         "glue:GetTable",
         "glue:GetTables",
         "glue:GetDatabase",
         "glue:GetDatabases",
         "glue:CreateDatabase",
         "glue:GetUserDefinedFunction",
         "glue:GetUserDefinedFunctions",
         "glue:GetPartition",
         "glue:GetPartitions"
       ],
       "Resource": "*"
     }
   }
   ```

------

1. クエリエンジンの実行ロールにロール信頼ポリシーを設定して、このロールにどのセッションタグのキーバリューペアをアタッチできるかを細かくアクセス制御します。次の例で、このロールはセッションタグのキーとして `"LakeFormationAuthorizedCaller"`、セッションタグのバリューとして `"engine1"` をアタッチすることのみが許可され、他のセッションタグのキーバリューペアは許可されません。

   ```
   {
       "Sid": "AllowPassSessionTags",
       "Effect": "Allow",
       "Principal": {
           "AWS": "arn:aws:iam::111122223333:role/query-execution-role"
       },
       "Action": "sts:TagSession",
       "Condition": {
       "StringLike": {
           "aws:RequestTag/LakeFormationAuthorizedCaller": "engine1"        }
       }
   }
   ```

`LakeFormationAuthorizedCaller` が、STS:AssumeRole API 操作を呼び出してクエリエンジンが使用する認証情報を取得する場合ば、セッションタグを [AssumeRole リクエスト](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role)に含める必要があります。返された一時的な認証情報を使用して、Lake Formation アプリケーション統合 API リクエストを実行することができます。

Lake Formation アプリケーション統合 API 操作では、呼び出し元プリンシパルが IAM ロールである必要があります。この IAM ロールには、Lake Formation に登録されている定義済みの値を持つセッションタグを含める必要があります。このタグにより、Lake Formation は、アプリケーション統合 API 操作の呼び出しに使用されたロールが、この呼び出しを行う許可を得ていることを確認できます。