web-dev-qa-db-ja.com

AWS Glueはクローラーからデータベースを作成できません:権限が拒否されました

S3バケットでAWS Glueクローラーを使用して、Glueデータベースにデータを入力しようとしています。クローラーの作成ウィザードを実行し、データソース(avroファイルを含むS3バケット)を選択し、IAMロールを作成して実行すると、次のエラーが発生します。

Database does not exist or principal is not authorized to create tables. (Database name: zzz-db, Table name: avroavro_all) (Service: AWSGlue; Status Code: 400; Error Code: AccessDeniedException; Request ID: 78fc18e4-c383-11e9-a86f-736a16f57a42). For more information, see Setting up IAM Permissions in the Developer Guide (http://docs.aws.Amazon.com/glue/latest/dg/getting-started-access.html).

(テーブルのある既存のデータベースではなく)新しい空のデータベースにこのテーブルを作成しようとしました。名前にプレフィックスを付け、さまざまなスキーマを取得し、既存のロールを管理者アクセスで使用しようとしました。私は後者がうまくいくと思っていましたが、同じエラーが出続けるので、なぜかわかりません。

明確にするために、私が作成したサービスロールには、テーブルを作成するための十分な前提条件があると想定するいくつかのポリシーがあります。

enter image description here

ログはバニラです:


19:52:52
[10cb3191-9785-49dc-8935-fb02dcbd69a3] BENCHMARK : Running Start Crawl for Crawler avro
19:53:22
[10cb3191-9785-49dc-8935-fb02dcbd69a3] BENCHMARK : Classification complete, writing results to database zzz-db
19:53:22
[10cb3191-9785-49dc-8935-fb02dcbd69a3] INFO : Crawler configured with SchemaChangePolicy {"UpdateBehavior":"UPDATE_IN_DATABASE","DeleteBehavior":"DEPRECATE_IN_DATABASE"}.
19:53:34
[10cb3191-9785-49dc-8935-fb02dcbd69a3] ERROR : Insufficient Lake Formation permission(s) on s3://zzz-data/avro-all/ (Database name: zzz-db, Table name: avroavro_all) (Service: AWSGlue; Status Code: 400; Error Code: AccessDeniedException; Request ID: 31481e7e-c384-11e9-a6e1-e78dc8223fae). For more information, see Setting up IAM Permissions in the Developer Guide (http://docs.aws.Amazon.com/glu
19:54:44
[10cb3191-9785-49dc-8935-fb02dcbd69a3] BENCHMARK : Crawler has finished running and is in state READY
3
mhamrah

グルー用に作成したカスタムの役割を「データレイク管理者」の被付与者に追加する必要がありました。

enter image description here

(注:これを言うだけで、クローラーの拒否されたアクセスが解決されます。実行する特権が少ないものがあるかもしれません...)

1
Ariel