Creazione di un data lake da un' AWS CloudTrail origine - AWS Lake Formation

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à.

Creazione di un data lake da un' AWS CloudTrail origine

Questo tutorial ti guida attraverso le azioni da intraprendere sulla console Lake Formation per creare e caricare il tuo primo data lake da una AWS CloudTrail fonte.

Passaggi di alto livello per la creazione di un data lake
  1. Registra un percorso Amazon Simple Storage Service (Amazon S3) come data lake.

  2. Concedi a Lake Formation le autorizzazioni per scrivere nel Data Catalog e nelle posizioni Amazon S3 nel data lake.

  3. Crea un database per organizzare le tabelle di metadati nel Data Catalog.

  4. Usa un blueprint per creare un flusso di lavoro. Esegui il flusso di lavoro per importare dati da una fonte di dati.

  5. Configura le tue autorizzazioni Lake Formation per consentire ad altri di gestire i dati nel Data Catalog e nel data lake.

  6. Configura Amazon Athena per interrogare i dati che hai importato nel tuo data lake Amazon S3.

  7. Per alcuni tipi di data store, configura Amazon Redshift Spectrum per interrogare i dati che hai importato nel tuo data lake Amazon S3.

Destinatari principali

La tabella seguente elenca i ruoli utilizzati in questo tutorial per creare un data lake.

Destinatari principali
Ruolo Descrizione
IAMAmministratore Ha la politica AWS gestita:AdministratorAccess. Può creare IAM ruoli e bucket Amazon S3.
Amministratore del data lake Utente che può accedere al catalogo dati, creare database e concedere le autorizzazioni di Lake Formation ad altri utenti. Dispone di meno IAM autorizzazioni rispetto all'IAMamministratore, ma sufficienti per amministrare il data lake.
Analista dei dati Utente che può eseguire query sul data lake. Dispone solo delle autorizzazioni sufficienti per eseguire le query.
Ruolo del workflow Ruolo con le IAM politiche richieste per eseguire un flusso di lavoro. Per ulteriori informazioni, consulta (Facoltativo) Crea un ruolo IAM per i flussi di lavoro.

Prerequisiti

Prima di iniziare:

  • Assicurati di aver completato le attività inConfigurare AWS Lake Formation.

  • Conosci la posizione dei tuoi CloudTrail registri.

  • Athena richiede all'analista di dati di creare un bucket Amazon S3 per archiviare i risultati delle query prima di utilizzare Athena.

Si presume la familiarità con (). AWS Identity and Access Management IAM Per informazioni suIAM, consulta la Guida per l'IAMutente.

Fase 1: Creare un utente analista di dati

Questo utente dispone del set minimo di autorizzazioni per interrogare il data lake.

  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam. Accedi come utente amministratore che hai creato Crea un utente con accesso amministrativo o come utente con la policy AdministratorAccess AWS gestita.

  2. Crea un utente denominato datalake_user con le seguenti impostazioni:

    • Abilita AWS Management Console l'accesso.

    • Imposta una password e non richiedi la reimpostazione della password.

    • Allega la politica AmazonAthenaFullAccess AWS gestita.

    • Allega la seguente politica in linea. Assegnare un nome alla policy DatalakeUserBasic.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }

Passaggio 2: Aggiungere le autorizzazioni per leggere i AWS CloudTrail registri al ruolo del flusso di lavoro

  1. Allega la seguente politica in linea al ruolo. LakeFormationWorkflowRole La policy concede il permesso di leggere i tuoi AWS CloudTrail log. Assegnare un nome alla policy DatalakeGetCloudTrail.

    Per creare il ruolo LakeFormationWorkflowRole, consulta (Facoltativo) Crea un ruolo IAM per i flussi di lavoro.

    Importante

    Replace (Sostituisci) <your-s3-cloudtrail-bucket> con la posizione dei tuoi CloudTrail dati su Amazon S3.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }
  2. Verifica che al ruolo siano associate tre policy.

Fase 3: creare un bucket Amazon S3 per il data lake

Crea il bucket Amazon S3 che sarà la posizione principale del tuo data lake.

  1. Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/e accedi come utente amministratore con cui hai creato. Crea un utente con accesso amministrativo

  2. Scegli Crea bucket e segui la procedura guidata per creare un bucket denominato, dove <yourName>-datalake-cloudtrail <yourName> è la tua prima iniziale e il tuo cognome. Ad esempio: jdoe-datalake-cloudtrail.

    Per istruzioni dettagliate sulla creazione di un bucket Amazon S3, consulta Creazione di un bucket.

Fase 4: Registrare un percorso Amazon S3

Registra un percorso Amazon S3 come posizione principale del tuo data lake.

  1. Apri la console Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/. Accedi come amministratore del data lake.

  2. Nel riquadro di navigazione, in Registra e inserisci, scegli Data lake locations.

  3. Scegli Registra posizione e poi Sfoglia.

  4. Seleziona il <yourName>-datalake-cloudtrail bucket che hai creato in precedenza, accetta il IAM ruolo predefinitoAWSServiceRoleForLakeFormationDataAccess, quindi scegli Registra posizione.

    Per ulteriori informazioni sulla registrazione delle sedi, consulta. Aggiungere una posizione Amazon S3 al tuo data lake

Passaggio 5: concedere le autorizzazioni per la localizzazione dei dati

I responsabili devono disporre delle autorizzazioni di localizzazione dei dati su una posizione di data lake per creare tabelle o database di Data Catalog che puntano a tale posizione. È necessario concedere le autorizzazioni per la localizzazione dei dati al IAM ruolo per i flussi di lavoro in modo che il flusso di lavoro possa scrivere nella destinazione di inserimento dei dati.

  1. Nel riquadro di navigazione, in Autorizzazioni, scegli Posizioni dei dati.

  2. Scegli Concedi e, nella finestra di dialogo Concedi autorizzazioni, effettua le seguenti selezioni:

    1. Per IAMutenti e ruoli, scegliete. LakeFormationWorkflowRole

    2. Per le posizioni di archiviazione, scegli il tuo <yourName>-datalake-cloudtrail bucket.

  3. Scegli Concessione.

Per ulteriori informazioni sulle autorizzazioni per la localizzazione dei dati, consulta. Underlying data access control

Fase 6: Creare un database nel Data Catalog

Le tabelle di metadati nel Lake Formation Data Catalog sono archiviate all'interno di un database.

  1. Nel riquadro di navigazione, in Catalogo dati, scegli Database.

  2. Scegli Crea database e in Dettagli del database, inserisci il nomelakeformation_cloudtrail.

  3. Lascia vuoti gli altri campi e scegli Crea database.

Passaggio 7: concedere le autorizzazioni per i dati

È necessario concedere le autorizzazioni per creare tabelle di metadati nel Catalogo dati. Poiché il flusso di lavoro verrà eseguito con il ruoloLakeFormationWorkflowRole, è necessario concedere queste autorizzazioni al ruolo.

  1. Nella console Lake Formation, nel riquadro di navigazione, in Catalogo dati, scegli Databases.

  2. Scegli il lakeformation_cloudtrail database, quindi, dall'elenco a discesa Azioni, scegli Concedi sotto la voce Autorizzazioni.

  3. Nella finestra di dialogo Concedi le autorizzazioni per i dati, effettua le seguenti selezioni:

    1. In Principali, per IAMutenti e ruoli, scegli. LakeFormationWorkflowRole

    2. In LF-tags o Catalog resources, scegli Named data catalog resources.

    3. Per i database, dovresti vedere che il lakeformation_cloudtrail database è già stato aggiunto.

    4. In Autorizzazioni del database, seleziona Crea tabella, Alter e Drop e deseleziona Super se è selezionato.

    La finestra di dialogo Concedi le autorizzazioni per i dati ora dovrebbe avere l'aspetto di questa schermata.

    La finestra di dialogo Concedi le autorizzazioni ai dati mostra le selezioni descritte nel testo. La finestra di dialogo è divisa in 3 sezioni, disposte verticalmente: Principal, LF-tags o risorse del catalogo e autorizzazioni del database.
  4. Scegli Concessione.

Per ulteriori informazioni sulla concessione delle autorizzazioni di Lake Formation, vedere. Gestione delle autorizzazioni di Lake Formation

Fase 8: Utilizzare un blueprint per creare un flusso di lavoro

Per leggere CloudTrail i log, comprenderne la struttura, creare le tabelle appropriate nel Data Catalog, dobbiamo impostare un flusso di lavoro composto da AWS Glue crawler, job, trigger e workflow. I progetti di Lake Formation semplificano questo processo.

Il flusso di lavoro genera i job, i crawler e i trigger che rilevano e inseriscono i dati nel tuo data lake. Crei un flusso di lavoro basato su uno dei blueprint predefiniti di Lake Formation.

  1. Nella console di Lake Formation, nel pannello di navigazione, scegli Blueprints, quindi scegli Usa blueprint.

  2. Nella pagina Usa un blueprint, in Tipo di blueprint, scegli. AWS CloudTrail

  3. In Importa fonte, scegli una CloudTrail fonte e una data di inizio.

  4. In Import target, specifica questi parametri:

    Database di destinazione lakeformation_cloudtrail
    Posizione di archiviazione di destinazione s3://<yourName>-datalake-cloudtrail
    Formato dei dati Parquet
  5. Per la frequenza di importazione, scegli Esegui su richiesta.

  6. In Opzioni di importazione, specificate questi parametri:

    Nome del flusso di lavoro lakeformationcloudtrailtest
    IAMruolo LakeFormationWorkflowRole
    prefisso della tabella cloudtrailtest
    Nota

    Deve essere in lettere minuscole.

  7. Scegli Crea e attendi che la console segnali che il flusso di lavoro è stato creato correttamente.

    Suggerimento

    Hai ricevuto il seguente messaggio di errore?

    User: arn:aws:iam::<account-id>:user/<datalake_administrator_user> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole...

    In tal caso, verifica di averlo sostituito <account-id> nella politica in linea per l'utente amministratore del data lake con un numero di AWS account valido.

Passaggio 9: Esegui il flusso di lavoro

Poiché hai specificato che il flusso di lavoro è run-on-demand, devi avviarlo manualmente.

  • Nella pagina Blueprint, seleziona il flusso di lavoro lakeformationcloudtrailtest e nel menu Azioni scegli Avvia.

    Durante l'esecuzione del flusso di lavoro, è possibile visualizzarne l'avanzamento nella colonna Stato dell'ultima esecuzione. Scegli il pulsante di aggiornamento di tanto in tanto.

    Lo stato va da RUNNING, a In scoperta, a Importazione, a. COMPLETED

    Al termine del flusso di lavoro:

    • Il Data Catalog avrà nuove tabelle di metadati.

    • CloudTrail I log verranno inseriti nel data lake.

    Se il flusso di lavoro fallisce, procedi come segue:

    1. Seleziona il flusso di lavoro e nel menu Azioni scegli Visualizza grafico.

      Il flusso di lavoro viene aperto nella AWS Glue console.

    2. Verifica che il flusso di lavoro sia selezionato e scegli la scheda History (Cronologia).

    3. In Cronologia, seleziona l'esecuzione più recente e scegli Visualizza i dettagli dell'esecuzione.

    4. Seleziona un processo o un crawler non riuscito nel grafico dinamico (di runtime) ed esamina il messaggio di errore. I nodi con errori sono rossi o gialli.

Fase 10: Concessione SELECT ai tavoli

È necessario concedere l'SELECTautorizzazione per le nuove tabelle del Catalogo dati in modo che l'analista dei dati possa interrogare i dati a cui fanno riferimento le tabelle.

Nota

Un flusso di lavoro concede automaticamente l'SELECTautorizzazione per le tabelle che crea all'utente che lo ha eseguito. Poiché l'amministratore del data lake ha eseguito questo flusso di lavoro, è necessario concederlo SELECT all'analista dei dati.

  1. Nella console Lake Formation, nel riquadro di navigazione, in Catalogo dati, scegli Databases.

  2. Scegli il lakeformation_cloudtrail database, quindi, dall'elenco a discesa Azioni, scegli Concedi sotto la voce Autorizzazioni.

  3. Nella finestra di dialogo Concedi le autorizzazioni per i dati, effettua le seguenti selezioni:

    1. In Principali, per IAMutenti e ruoli, scegli. datalake_user

    2. In LF-tags o Catalog resources, scegli Named data catalog resources.

    3. Per Databases, il lakeformation_cloudtrail database dovrebbe essere già selezionato.

    4. Per Tabelle, sceglietecloudtrailtest-cloudtrail.

    5. In Autorizzazioni per tabelle e colonne, scegli Seleziona.

  4. Scegli Concessione.

Il passaggio successivo viene eseguito come analista dei dati.

Passaggio 11: interrogare il data lake utilizzando Amazon Athena

Usa la Amazon Athena console per interrogare i CloudTrail dati nel tuo data lake.

  1. Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/e accedi come analista di dati, utente. datalake_user

  2. Se necessario, scegli Inizia per passare all'editor di query Athena.

  3. Per Origine dati scegliere AwsDataCatalog.

  4. Per Database, scegliere lakeformation_cloudtrail.

    L'elenco delle tabelle viene compilato.

  5. Nel menu a discesa (3 punti disposti orizzontalmente) accanto alla tabellacloudtrailtest-cloudtrail, scegliete Anteprima tabella, quindi scegliete Esegui.

    La query viene eseguita e visualizza 10 righe di dati.

    Se non hai mai usato Athena prima, devi prima configurare una posizione Amazon S3 nella console Athena per archiviare i risultati delle query. datalake_userÈ necessario disporre delle autorizzazioni necessarie per accedere al bucket Amazon S3 scelto.

Nota

Ora che hai completato il tutorial, concedi le autorizzazioni per i dati e le autorizzazioni per la localizzazione dei dati ai responsabili della tua organizzazione.