以下の情報を使用して、Lake Formation の認証情報を使用してクローラーを設定する際のさまざまな問題を診断し、修正します。
エラー: 「The S3 location: s3://examplepath is not registered」(S3 ロケーション: s3://examplepath は登録されていません)
Lake Formation の認証情報を使用してクローラーを実行する場合は、最初に Lake Formation のアクセス許可を設定する必要があります。このエラーを解決するには、ターゲットの Amazon S3 ロケーションを Lake Formation で登録してください。詳細については、「Amazon S3 ロケーションの登録」を参照してください。
エラー: 「User/Role is not authorized to perform: lakeformation:GetDataAccess on resource」(ユーザー/ロールは、リソースに対する lakeformation:GetDataAccess の実行が許可されていません)
IAM コンソールまたは AWS CLI を使用して、クローラーロールに lakeformation:GetDataAccess
へのアクセス許可を追加してください。この許可があると、Lake Formation がデータにアクセスするための一時的な認証情報のリクエストを承諾します。以下のポリシーを参照してください。
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": [
"lakeformation:GetDataAccess"
],
"Resource": "*"
}
}
エラー: 「Insufficient Lake Formation permission(s) on (Database name: exampleDatabase, Table Name: exampleTable)」(データベース名: exampleDatabase、テーブル名: exampleTable に対する Lake Formation へのアクセス許可が不十分です)
Lake Formation コンソール (https://console.aws.amazon.com/lakeformation/ Create
、Describe
、Alter
) を付与します。テーブルに対するアクセス許可を付与することもできます。詳細については、「名前付きリソース方式を使用した Data Catalog 許可の付与」を参照してください。
エラー: 「Insufficient Lake Formation permission(s) on s3://examplepaths」(s3://examplepath に対する Lake Formation へのアクセス許可が不十分です)
-
クロスアカウントでのクローリング
-
Amazon S3 バケットが登録されているアカウント (アカウント B) を使用して、Lake Formation コンソール (https://console.aws.amazon.com/lakeformation/
) にログインします。クローラーを実行するアカウント (アカウント A) に、データロケーションへのアクセス許可を付与します。これにより、クローラーはターゲットの Amazon S3 ロケーションからデータを読み取ることができます。 -
クローラーが作成されたアカウント (アカウント A) で、クローラーの実行に使用される IAM ロールに、ターゲットの Amazon S3 ロケーションのデータロケーションへのアクセス許可を付与し、クローラーが Lake Formation の送信先からデータを読み取れるようにします。詳細については、「データロケーション許可の付与 (外部アカウント)」を参照してください。
-
-
アカウント内 (クローラーと登録されている Amazon S3 ロケーションが同じアカウントにある) クローリング - Amazon S3 ロケーションで実行されるクローラーに使用される IAM ロールにデータロケーションへのアクセス許可を付与し、クローラーが Lake Formation のターゲットからデータを読み取れるようにします。詳細については、「データロケーション許可の付与 (同じアカウント)」を参照してください。
Lake Formation の認証情報を使用したクローラーの設定に関するよくある質問
-
AWS コンソールを使用して、Lake Formation の認証情報を使用して実行できるようにクローラーを設定するにはどうすればよいですか。
AWS Glue コンソール (https://console.aws.amazon.com/glue/
) で、クローラーを設定する際に、オプション [Use Lake Formation credentials for crawling Amazon S3 data source] (Amazon S3 データソースのクローリングに Lake Formation の認証情報を使用する) を選択してください。クロスアカウントクローリングの場合は、ターゲットの Amazon S3 ロケーションが Lake Formation で登録されている AWS アカウント ID を指定します。アカウント内クローリングでは、accountId フィールドはオプションです。 -
AWS CLI を使用して、Lake Formation の認証情報を使用できるようにクローラーを設定するにはどうすればよいですか。
CreateCrawler
API コール中にLakeFormationConfiguration
を追加します。"LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111111111111" (AWS account ID where the target Amazon S3 location is registered with Lake Formation) }
-
Lake Formation の認証情報を使用するクローラーでサポートされているターゲットは何ですか。
Lake Formation の認証情報を使用するクローラーは、Amazon S3 (アカウント内およびクロスアカウントのクローリング) と、アカウント内のデータカタログターゲット (基盤となるロケーションが Amazon S3 である)、および Apache Iceberg ターゲットでのみサポートされています。
-
Lake Formation の認証情報を使用して、複数の Amazon S3 バケットを単一のクローラーの一部としてクローリングできますか。
いいえ。Lake Formation の認証情報供給を使用するターゲットをクローリングするには、基盤となる Amazon S3 ロケーションが同じバケットに属している必要があります。例えば、複数のお客様が同じバケット (bucket1) に属している場合は、複数のターゲットロケーション
(s3://bucket1/folder1, s3://bucket1/folder2)
を使用できます。別のバケット (s3://bucket1/folder1、s3://bucket2/folder2) の指定はサポートされていません。