Configurare un crawler per utilizzare le credenziali di Lake Formation - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare un crawler per utilizzare le credenziali di Lake Formation

È·possibile configurare un crawler in modo che utilizzi le credenziali AWS Lake Formation per accedere a un data store Amazon S3 o a una tabella del catalogo dati con una posizione Amazon S3 sottostante all'interno dello stesso Account AWS o di un altro Account AWS. È possibile configurare una tabella del catalogo dati esistente come destinazione del crawler se entrambi si trovano nello stesso account. Attualmente, è consentita solo una singola destinazione del catalogo per una singola tabella quando si utilizza una tabella del catalogo dati come destinazione del crawler.

Nota

Quando si definisce una tabella del catalogo dati come destinazione del crawler, assicurarsi che la posizione sottostante della tabella sia una posizione Amazon S3. I crawler che utilizzano le credenziali Lake Formation supportano solo le destinazioni del catalogo con le posizioni Amazon S3 sottostanti.

Configurazione richiesta quando il crawler e la posizione registrata di Amazon S3 o la tabella del catalogo dati si trovano nello stesso account (crawling all'interno dell'account)

Per consentire al crawler di accedere a un datastore o a una tabella del catalogo dati utilizzando le credenziali di Lake Formation, è necessario registrare la posizione dei dati con Lake Formation. Inoltre, il ruolo IAM del crawler deve disporre delle autorizzazioni necessarie per leggere i dati dalla destinazione in cui è registrato il bucket Amazon S3.

Puoi completare i passaggi di configurazione seguenti utilizzando la Console di gestione AWS o AWS Command Line Interface (AWS CLI).

Console di gestione AWS
  1. Prima di configurare un crawler per accedere alla sua origine, registra la posizione dei dati del datastore o del catalogo dati con Lake Formation. Nella console di Lake Formation (https://console.aws.amazon.com/lakeformation/), registra una posizione Amazon S3 come posizione principale del data lake nell'Account AWS in cui è definito il crawler. Per ulteriori informazioni, consulta la pagina Registrazione di una posizione Amazon S3.

  2. Concedi le autorizzazioni relative alla posizione dei dati al ruolo IAM utilizzato per l'esecuzione del crawler in modo che il crawler possa leggere i dati dalla destinazione in Lake Formation. Per ulteriori informazioni, consulta la pagina Concessione delle autorizzazioni per la posizione dei dati (stesso account).

  3. Concessione al ruolo crawler delle autorizzazioni di accesso (Create) al database, che è specificato come database di output. Per ulteriori informazioni, consulta la pagina Concessione delle autorizzazioni al database tramite la console di Lake Formation e il metodo delle risorse denominate.

  4. Nella console IAM (https://console.aws.amazon.com/iam/), crea un ruolo IAM per il crawler. Aggiungi la policy lakeformation:GetDataAccess al ruolo.

  5. Nella console AWS Glue (https://console.aws.amazon.com/glue/), durante la configurazione del crawler, seleziona l'opzione Use Lake Formation credentials for crawling Amazon S3 data source (Usa le credenziali di Lake Formation per eseguire la ricerca per indicizzazione dell'origine dei dati Amazon S3).

    Nota

    Il campo accountId è facoltativo per il crawling all'interno dell'account.

AWS CLI
aws glue --profile demo create-crawler --debug --cli-input-json '{ "Name": "prod-test-crawler", "Role": "arn:aws:iam::111122223333:role/service-role/AWSGlueServiceRole-prod-test-run-role", "DatabaseName": "prod-run-db", "Description": "", "Targets": { "S3Targets":[ { "Path": "s3://amzn-s3-demo-bucket" } ] }, "SchemaChangePolicy": { "UpdateBehavior": "LOG", "DeleteBehavior": "LOG" }, "RecrawlPolicy": { "RecrawlBehavior": "CRAWL_EVERYTHING" }, "LineageConfiguration": { "CrawlerLineageSettings": "DISABLE" }, "LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111122223333" }, "Configuration": { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }, "Tables": {"AddOrUpdateBehavior": "MergeNewColumns" } }, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }, "CrawlerSecurityConfiguration": "", "Tags": { "KeyName": "" } }'