Protezione dei data lake con il controllo degli accessi a livello di riga - 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à.

Protezione dei data lake con il controllo degli accessi a livello di riga

AWS Lake Formation le autorizzazioni a livello di riga consentono di fornire l'accesso a righe specifiche di una tabella in base alla conformità dei dati e alle politiche di governance. Se disponi di tabelle di grandi dimensioni che contengono miliardi di record, hai bisogno di un modo per consentire a diversi utenti e team di accedere solo ai dati che sono autorizzati a vedere. Il controllo degli accessi a livello di riga è un modo semplice e performante per proteggere i dati, offrendo al contempo agli utenti l'accesso ai dati di cui hanno bisogno per svolgere il proprio lavoro. Lake Formation fornisce audit centralizzati e report di conformità identificando quali responsabili hanno avuto accesso a quali dati, quando e attraverso quali servizi.

In questo tutorial, imparerai come funzionano i controlli di accesso a livello di riga in Lake Formation e come configurarli.

Questo tutorial include un AWS CloudFormation modello per configurare rapidamente le risorse richieste. Puoi rivederlo e personalizzarlo in base alle tue esigenze.

Destinatari principali

Questo tutorial è destinato a amministratori di dati, ingegneri dei dati e analisti di dati. La tabella seguente elenca i ruoli e le responsabilità di un proprietario e di un consumatore di dati.

Ruolo Descrizione
IAMAmministratore Un utente che può creare utenti e ruoli e bucket Amazon Simple Storage Service (Amazon S3). Dispone della politica AdministratorAccess AWS gestita.
Amministratore del data lake Un utente responsabile della configurazione del data lake, della creazione di filtri di dati e della concessione delle autorizzazioni agli analisti di dati.
Analista dei dati Un utente che può eseguire query sul data lake. Gli analisti di dati residenti in diversi paesi (per il nostro caso d'uso, Stati Uniti e Giappone) possono analizzare solo le recensioni dei prodotti per i clienti residenti nel proprio paese e, per motivi di conformità, non dovrebbero essere in grado di vedere i dati dei clienti che si trovano in altri paesi.

Prerequisiti

Prima di iniziare questo tutorial, è necessario disporre di un file Account AWS da utilizzare per accedere come utente amministrativo con le autorizzazioni corrette. Per ulteriori informazioni, consulta Completa le attività AWS di configurazione iniziali.

Il tutorial presuppone che tu abbia dimestichezza con. IAM Per informazioni suIAM, consulta la Guida per l'IAMutente.

Modifica le impostazioni di Lake Formation
Importante

Prima di avviare il AWS CloudFormation modello, disabilita l'opzione Usa solo il controllo di IAM accesso per nuovi database/tabelle in Lake Formation seguendo i passaggi seguenti:

  1. Accedi alla console di Lake Formation https://console.aws.amazon.com/lakeformation/nella regione Stati Uniti orientali (Virginia settentrionale) o nella regione Stati Uniti occidentali (Oregon).

  2. In Data Catalog, scegli Impostazioni.

  3. Deseleziona Usa solo il controllo di IAM accesso per i nuovi database e Usa solo il controllo di IAM accesso per le nuove tabelle nei nuovi database.

  4. Seleziona Salva.

Fase 1: Fornisci le tue risorse

Questo tutorial include un AWS CloudFormation modello per una configurazione rapida. Puoi rivederlo e personalizzarlo in base alle tue esigenze. Il AWS CloudFormation modello genera le seguenti risorse:

  • Utenti e politiche per:

    • DataLakeAdmin

    • DataAnalystUSA

    • DataAnalystJP

  • Impostazioni e autorizzazioni del data lake Lake Formation

  • Una funzione Lambda (per risorse AWS CloudFormation personalizzate supportate da Lambda) utilizzata per copiare file di dati di esempio dal bucket Amazon S3 pubblico al bucket Amazon S3

  • Un bucket Amazon S3 che funge da data lake

  • Un AWS Glue Data Catalog database, una tabella e una partizione

Crea le tue risorse

Segui questi passaggi per creare le tue risorse utilizzando il AWS CloudFormation modello.

  1. Accedi alla AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation nella regione Stati Uniti orientali (Virginia settentrionale).

  2. Scegli Launch Stack.

  3. Scegli Avanti nella schermata Crea stack.

  4. Inserisci un nome per lo stack.

  5. Per DatalakeAdminUserNamee DatalakeAdminUserPassword, inserisci il nome IAM utente e la password per l'utente amministratore di Data Lake.

  6. Per DataAnalystUsUserNamee DataAnalystUsUserPassword, inserisci il nome utente e la password per il nome utente e la password che desideri per l'utente analista di dati responsabile del mercato statunitense.

  7. Per DataAnalystJpUserNamee DataAnalystJpUserPassword, inserisci il nome utente e la password per il nome utente e la password che desideri assegnare all'analista di dati responsabile del mercato giapponese.

  8. Per DataLakeBucketName, inserisci il nome del tuo bucket di dati.

  9. Per DatabaseName, e TableNamelascia come impostazione predefinita.

  10. Seleziona Next (Successivo).

  11. Nella pagina successiva, scegli Avanti.

  12. Controlla i dettagli nella pagina finale e seleziona Riconosco che AWS CloudFormation potrebbe creare IAM risorse.

  13. Scegli Create (Crea) .

    Il completamento della creazione dello stack può richiedere un minuto.

Fase 2: Interrogazione senza filtri di dati

Dopo aver configurato l'ambiente, puoi interrogare la tabella delle recensioni dei prodotti. Per prima cosa interrogate la tabella senza controlli di accesso a livello di riga per assicurarvi di poter vedere i dati. Se esegui query in Amazon Athena per la prima volta, devi configurare la posizione dei risultati della query.

Interroga la tabella senza controllo degli accessi a livello di riga
  1. Accedi alla Athena console https://console.aws.amazon.com/athena/come DatalakeAdmin utente ed esegui la seguente query:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    La schermata seguente mostra il risultato della query. Questa tabella ha una sola partizioneproduct_category=Video, quindi ogni record è un commento di recensione per un prodotto video.

    Query results showing 10 rows of Amazon product reviews for VHS tapes with various ratings.
  2. Quindi, esegui una query di aggregazione per recuperare il numero totale di record per. marketplace

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    La schermata seguente mostra il risultato della query. La marketplace colonna ha cinque valori diversi. Nei passaggi successivi, imposterai i filtri basati su righe utilizzando la marketplace colonna.

    Query results showing marketplace data with total counts for FR, UK, JP, DE, and US.

Passaggio 3: configura i filtri di dati e concedi le autorizzazioni

Questo tutorial utilizza due analisti di dati: uno responsabile del mercato statunitense e l'altro del mercato giapponese. Ogni analista utilizza Athena per analizzare le recensioni dei clienti solo per il proprio marketplace specifico. Crea due diversi filtri di dati, uno per l'analista responsabile del mercato statunitense e un altro per quello responsabile del mercato giapponese. Quindi, concedi agli analisti le rispettive autorizzazioni.

Crea filtri per i dati e concedi le autorizzazioni
  1. Crea un filtro per limitare l'accesso ai US marketplace dati.

    1. Accedi alla console di Lake Formation https://console.aws.amazon.com/lakeformation/nella regione Stati Uniti orientali (Virginia settentrionale) come DatalakeAdmin utente.

    2. Scegli Filtri dati.

    3. Scegli Crea nuovo filtro.

    4. Per il nome del filtro dati, inserisciamazon_reviews_US.

    5. Per Database Target, scegli il databaselakeformation_tutorial_row_security.

    6. Per la tabella Target, scegli la tabellaamazon_reviews.

    7. Per l'accesso a livello di colonna, lascia come impostazione predefinita.

    8. Per Espressione del filtro Row, immettere. marketplace='US'

    9. Scegli Create Filter (Crea filtro).

  2. Create un filtro per limitare l'accesso ai marketplace dati giapponesi.

    1. Nella pagina Filtri dati, scegli Crea nuovo filtro.

    2. Per il nome del filtro dati, inserisciamazon_reviews_JP.

    3. Per Database Target, scegli il databaselakeformation_tutorial_row_security.

    4. Per la tabella Target, sceglitable amazon_reviews.

    5. Per l'accesso a livello di colonna, lascia come impostazione predefinita.

    6. Per Espressione del filtro Row, immettere. marketplace='JP'

    7. Scegli Create Filter (Crea filtro).

  3. Successivamente, concedi le autorizzazioni agli analisti di dati utilizzando questi filtri di dati. Segui questi passaggi per concedere le autorizzazioni all'analista di dati statunitense (): DataAnalystUS

    1. In Autorizzazioni, scegli Autorizzazioni Data lake.

    2. In Autorizzazione dati, scegli Concedi.

    3. Per Responsabili, scegli IAMutenti e ruoli e seleziona il ruoloDataAnalystUS.

    4. Per i tag LF o le risorse del catalogo, scegli Risorse del catalogo dati denominate.

    5. Per Database, scegliere lakeformation_tutorial_row_security.

    6. Per Tabelle (facoltativo), scegliete. amazon_reviews

    7. Per i filtri di dati, facoltativo, seleziona. amazon_reviews_US

    8. Per le autorizzazioni del filtro dati, seleziona Seleziona.

    9. Scegli Concessione.

  4. Segui questi passaggi per concedere le autorizzazioni all'analista di dati giapponese (): DataAnalystJP

    1. In Autorizzazioni, scegli Autorizzazioni Data Lake.

    2. In Autorizzazione dati, scegli Concedi.

    3. Per Responsabili, scegli IAMutenti e ruoli e seleziona il ruoloDataAnalystJP.

    4. Per i tag LF o le risorse del catalogo, scegli Risorse del catalogo dati denominate.

    5. Per Database, scegliere lakeformation_tutorial_row_security.

    6. Per Tabelle (facoltativo), scegliete. amazon_reviews

    7. Per i filtri di dati, facoltativo, seleziona. amazon_reviews_JP

    8. Per le autorizzazioni del filtro dati, seleziona Seleziona.

    9. Scegli Concessione.

Passaggio 4: Interrogazione con filtri di dati

Con i filtri dei dati allegati alla tabella delle recensioni dei prodotti, esegui alcune query e scopri come vengono applicate le autorizzazioni da Lake Formation.

  1. Accedi alla console Athena https://console.aws.amazon.com/athena/come utente. DataAnalystUS

  2. Esegui la seguente query per recuperare alcuni record, che vengono filtrati in base alle autorizzazioni a livello di riga che abbiamo definito:

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    La schermata seguente mostra il risultato della query.

    Query results showing 10 rows of Amazon product reviews data, including marketplace, ratings, and product titles.
  3. Allo stesso modo, esegui una query per contare il numero totale di record per marketplace.

    SELECT marketplace , count ( * ) as total_count FROM lakeformation_tutorial_row_security .amazon_reviews GROUP BY marketplace

    Il risultato della query mostra solo marketplace US i risultati. Questo perché all'utente è consentito visualizzare solo le righe in cui il valore della marketplace colonna è uguale aUS.

  4. Passa all'DataAnalystJPutente ed esegui la stessa query.

    SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10

    Il risultato della query mostra che solo i record appartengono a JPmarketplace.

  5. Esegui la query per contare il numero totale di record permarketplace.

    SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace

    Il risultato della query mostra solo la riga appartenente a JPmarketplace.

Fase 5: Pulire le AWS risorse

Pulizia delle risorse

Per evitare addebiti indesiderati Account AWS, puoi eliminare le AWS risorse che hai utilizzato per questo tutorial.