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.
Argomenti
Destinatari principali
Questo tutorial è destinato ai data steward, ai data engineer e agli 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:
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). In Data Catalog, scegli Impostazioni.
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.
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.
Accedi alla AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation
nella regione Stati Uniti orientali (Virginia settentrionale). Scegli Avanti nella schermata Crea stack.
Inserisci un nome per lo stack.
Per DatalakeAdminUserNamee DatalakeAdminUserPassword, inserisci il nome IAM utente e la password per l'utente amministratore di Data Lake.
Per DataAnalystUsUserNamee DataAnalystUsUserPassword, inserisci il nome utente e la password per il nome utente e la password che desideri assegnare all'utente analista di dati responsabile del mercato statunitense.
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.
Per DataLakeBucketName, inserisci il nome del tuo bucket di dati.
Per DatabaseName, e TableNamelascia come impostazione predefinita.
Seleziona Next (Successivo).
Nella pagina successiva, scegli Avanti.
Controlla i dettagli nella pagina finale e seleziona Riconosco che AWS CloudFormation potrebbe creare IAM risorse.
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
-
Accedi a Athena console at 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 partizione
product_category=Video
, quindi ogni record è un commento di recensione per un prodotto video. -
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 lamarketplace
colonna.
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
Crea un filtro per limitare l'accesso ai
US
marketplace
dati.Accedi alla console di Lake Formation https://console.aws.amazon.com/lakeformation/
nella regione Stati Uniti orientali (Virginia settentrionale) come DatalakeAdmin
utente.Scegli Filtri dati.
Scegli Crea nuovo filtro.
Per il nome del filtro dati, inserisci
amazon_reviews_US
.Per Database Target, scegli il database
lakeformation_tutorial_row_security
.Per la tabella Target, scegli la tabella
amazon_reviews
.Per l'accesso a livello di colonna, lascia come impostazione predefinita.
Per Espressione del filtro Row, immettere.
marketplace='US'
Scegli Create Filter (Crea filtro).
-
Create un filtro per limitare l'accesso ai
marketplace
dati giapponesi.Nella pagina Filtri dati, scegli Crea nuovo filtro.
Per il nome del filtro dati, inserisci
amazon_reviews_JP
.Per Database Target, scegli il database
lakeformation_tutorial_row_security
.Per la tabella Target, scegli
table amazon_reviews
.Per l'accesso a livello di colonna, lascia come impostazione predefinita.
Per Espressione del filtro Row, immettere.
marketplace='JP'
Scegli Create Filter (Crea filtro).
Quindi, 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
In Autorizzazioni, scegli Autorizzazioni Data lake.
In Autorizzazione dati, scegli Concedi.
-
Per Responsabili, scegli IAMutenti e ruoli e seleziona il ruolo
DataAnalystUS
. Per i tag LF o le risorse del catalogo, scegli Risorse del catalogo dati denominate.
-
Per Database, scegliere
lakeformation_tutorial_row_security
. Per Tabelle (facoltativo), scegliete.
amazon_reviews
Per i filtri di dati, facoltativo, seleziona.
amazon_reviews_US
-
Per le autorizzazioni del filtro dati, seleziona Seleziona.
Scegli Concessione.
Segui questi passaggi per concedere le autorizzazioni all'analista di dati giapponese ():
DataAnalystJP
In Autorizzazioni, scegli Autorizzazioni Data Lake.
In Autorizzazione dati, scegli Concedi.
-
Per Responsabili, scegli IAMutenti e ruoli e seleziona il ruolo
DataAnalystJP
. Per i tag LF o le risorse del catalogo, scegli Risorse del catalogo dati denominate.
-
Per Database, scegliere
lakeformation_tutorial_row_security
. Per Tabelle (facoltativo), scegliete.
amazon_reviews
Per i filtri di dati, facoltativo, seleziona.
amazon_reviews_JP
-
Per le autorizzazioni del filtro dati, seleziona Seleziona.
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.
-
Accedi alla console Athena https://console.aws.amazon.com/athena/
come utente. DataAnalystUS
-
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.
-
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 dellamarketplace
colonna è uguale aUS
. -
Passa all'
DataAnalystJP
utente 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
JP
marketplace
. -
Esegui la 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 la riga appartenente a
JP
marketplace
.
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.