

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

# Gestione di un data lake utilizzando il controllo degli accessi basato su tag Lake Formation
<a name="managing-dl-tutorial"></a>

Migliaia di clienti stanno costruendo data lake su scala petabyte. AWS Molti di questi clienti lo utilizzano AWS Lake Formation per creare e condividere facilmente i propri data lake all'interno dell'organizzazione. Con l'aumento del numero di tabelle e utenti, i data steward e gli amministratori sono alla ricerca di modi per gestire le autorizzazioni sui data lake in modo semplice e su larga scala. Il controllo degli accessi basato su Lake Formation Tag (LF-TBAC) risolve questo problema consentendo ai data steward di creare *tag LF* (in base alla classificazione e all'ontologia dei dati) che possono quindi essere collegati alle risorse.

LF-TBAC è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. In Lake Formation, questi attributi sono chiamati LF-tag. Puoi allegare i tag LF alle risorse del Data Catalog e ai principali di Lake Formation. Gli amministratori del Data Lake possono assegnare e revocare le autorizzazioni sulle risorse di Lake Formation utilizzando i tag LF. Per ulteriori informazioni su see,. [Controllo degli accessi basato su tag Lake Formation](tag-based-access-control.md) 

 Questo tutorial dimostra come creare una politica di controllo degli accessi basata su tag Lake Formation utilizzando un set di dati AWS pubblico. Inoltre, mostra come interrogare tabelle, database e colonne a cui sono associate politiche di accesso basate su tag Lake Formation. 

È possibile utilizzare LF-TBAC per i seguenti casi d'uso:
+ Hai un gran numero di tabelle e principali a cui l'amministratore del data lake deve concedere l'accesso
+ Vuoi classificare i tuoi dati in base a un'ontologia e concedere le autorizzazioni in base alla classificazione
+ L'amministratore del data lake desidera assegnare le autorizzazioni in modo dinamico, in modo vagamente accoppiato

Di seguito sono riportati i passaggi di alto livello per la configurazione delle autorizzazioni utilizzando LF-TBAC:

1. Il data steward definisce l'ontologia dei tag con due tag LF: e. `Confidential` `Sensitive` Data with `Confidential=True` ha controlli di accesso più rigorosi. I dati `Sensitive=True` richiedono un'analisi specifica da parte dell'analista.

1. Il data steward assegna diversi livelli di autorizzazione al data engineer per creare tabelle con tag LF diversi.

1. L'ingegnere dei dati crea due database: e. `tag_database` `col_tag_database` Tutte le tabelle `tag_database` sono configurate con`Confidential=True`. Tutte le tabelle di `col_tag_database` sono configurate con`Confidential=False`. Alcune colonne della tabella `col_tag_database` sono contrassegnate con tag `Sensitive=True` per esigenze di analisi specifiche.

1. L'ingegnere dei dati concede il permesso di lettura all'analista per le tabelle con condizioni di espressione specifiche `Confidential=True` e`Confidential=False`,. `Sensitive=True` 

1. Con questa configurazione, l'analista di dati può concentrarsi sull'esecuzione dell'analisi con i dati giusti.

**Topics**
+ [Destinatari principali](#tut-manage-dl-roles)
+ [Prerequisiti](#tut-manage-dl-prereqs)
+ [Fase 1: Fornisci le tue risorse](#tut-manage-dl-provision-resources)
+ [Fase 2: Registrare la posizione dei dati, creare un'ontologia LF-tag e concedere le autorizzazioni](#tut-manage-dl-register-datalocation-lftag)
+ [Fase 3: Creare database Lake Formation](#tut-manage-dl-tbac-create-databases)
+ [Passaggio 4: concedere le autorizzazioni per la tabella](#tut-manage-dl-grant-table-permissions)
+ [Passaggio 5: esegui una query in Amazon Athena per verificare le autorizzazioni](#tut-manage-dl-tbac-run-query)
+ [Fase 6: Pulizia delle risorse AWS](#tut-manage-dl-tbac-clean-up-db)

## Destinatari principali
<a name="tut-manage-dl-roles"></a>



Questo tutorial è destinato a amministratori di dati, ingegneri di dati e analisti di dati. Per quanto riguarda la gestione AWS Glue Data Catalog e l'amministrazione delle autorizzazioni in Lake Formation, gli amministratori dei dati all'interno degli account di produzione hanno la proprietà funzionale in base alle funzioni che supportano e possono concedere l'accesso a vari consumatori, organizzazioni esterne e account.

La tabella seguente elenca i ruoli utilizzati in questo tutorial:


| Ruolo | Description | 
| --- | --- | 
| Data steward (amministratore) | L'lf-data-stewardutente dispone dei seguenti accessi: [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/managing-dl-tutorial.html)  | 
| Ingegnere dei dati | `lf-data-engineer`l'utente ha i seguenti accessi: [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/managing-dl-tutorial.html) | 
| Analista dei dati | L'lf-data-analystutente ha il seguente accesso: [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/managing-dl-tutorial.html)  | 

## Prerequisiti
<a name="tut-manage-dl-prereqs"></a>

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](getting-started-setup.md#initial-aws-signup).

Il tutorial presuppone che tu abbia familiarità con IAM. Per informazioni su IAM, consulta la [IAM User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html).

## Fase 1: Fornisci le tue risorse
<a name="tut-manage-dl-provision-resources"></a>

Questo tutorial include un AWS CloudFormation modello per una configurazione rapida. Puoi rivederlo e personalizzarlo in base alle tue esigenze. Il modello crea tre ruoli diversi (elencati in[Destinatari principali](#tut-manage-dl-roles)) per eseguire questo esercizio e copia il nyc-taxi-data set di dati nel bucket Amazon S3 locale.
+ Un bucket Amazon S3
+ Le impostazioni appropriate di Lake Formation
+ Le risorse Amazon EC2 appropriate
+ Tre ruoli IAM con credenziali

**Crea le tue risorse**

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

1. [Scegli Launch Stack.](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?templateURL=https://aws-bigdata-blog.s3.amazonaws.com/artifacts/lakeformationtbac/cfn/tbac_permission.json)

1.  Scegli **Next (Successivo)**.

1.  Nella sezione **Configurazione utente**, inserisci la password per tre ruoli:`DataStewardUserPassword`, `DataEngineerUserPassword` e`DataAnalystUserPassword`. 

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

1.  Scegli **Create** (Crea).

   La creazione dello stack può richiedere fino a cinque minuti.

**Nota**  
Dopo aver completato il tutorial, potresti voler eliminare lo stack per evitare di continuare CloudFormation a incorrere in addebiti. Verifica che le risorse siano state eliminate correttamente nello stato dell'evento per lo stack.

## Fase 2: Registrare la posizione dei dati, creare un'ontologia LF-tag e concedere le autorizzazioni
<a name="tut-manage-dl-register-datalocation-lftag"></a>

In questa fase, l'utente Data Steward definisce l'ontologia dei tag con due LF-Tag: `Confidential` e `Sensitive` fornisce a specifici principi IAM la possibilità di allegare tag LF appena creati alle risorse.

**Registra una posizione dei dati e definisci l'ontologia LF-Tag**

1. Esegui il primo passaggio come utente amministratore dei dati (`lf-data-steward`) per verificare i dati in Amazon S3 e nel Data Catalog in Lake Formation.

   1. Accedi alla console di Lake Formation `lf-data-steward` con la [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)stessa password utilizzata durante la distribuzione dello CloudFormation stack.

   1. Nel riquadro di navigazione, in **Autorizzazioni**, scegli **Ruoli e attività amministrative**.

   1. Scegli **Aggiungi** nella sezione **Amministratori di Data Lake**.

   1. Nella pagina **Aggiungi amministratore**, per **gli utenti e i ruoli IAM**, scegli l'utente`lf-data-steward`.

   1. Scegli **Salva** per aggiungerlo `lf-data-steward` come amministratore di Lake Formation.

1. Successivamente, aggiorna le impostazioni del Data Catalog per utilizzare l'autorizzazione Lake Formation per controllare le risorse del catalogo anziché il controllo degli accessi basato su IAM.

   1. Nel pannello di navigazione, in **Amministrazione**, scegli **Impostazioni Data Catalog**.

   1. Deseleziona **Usa solo il controllo di accesso IAM per i nuovi database**.

   1. Deseleziona **Usa solo il controllo di accesso IAM per nuove tabelle in nuovi database**.

   1. Fai clic su **Salva**.

1. Quindi, registra la posizione dei dati per il data lake.

   1. Nel riquadro di navigazione, in **Amministrazione**, scegli **Posizioni dei data lake**.

   1. Scegli **Registra posizione**.

   1. Nella pagina **Registra posizione**, per il **percorso Amazon S3, inserisci**. `s3://lf-tagbased-demo-{{Account-ID}}`

   1. Per il ruolo **IAM**, lascia il valore predefinito `AWSServiceRoleForLakeFormationDataAccess` così com'è.

   1. Scegli **Lake Formation** come modalità di autorizzazione.

   1. Scegli **Registra posizione**.

1. Quindi, crea l'ontologia definendo un tag LF.

   1. **In **Autorizzazioni** nel riquadro di navigazione, scegli LF-tags e permessi.** .

   1. Scegli **Aggiungi tag LF**.

   1. In **Chiave**, inserire `Confidential`.

   1. Per **Valori**, aggiungi `True` e. `False`

   1. Scegli **Aggiungi tag LF**.

   1. Ripeti i passaggi per creare il **tag LF** `Sensitive` con il valore. `True`

   Avete creato tutti i tag LF necessari per questo esercizio.

**Concedi le autorizzazioni agli utenti IAM**

1. Successivamente, offri a specifici principi IAM la possibilità di allegare tag LF appena creati alle risorse.

   1. **In **Autorizzazioni** nel pannello di navigazione, scegli LF-tags e permessi.**

   1. **Nella sezione Autorizzazioni **LF-Tag, scegli Concedi autorizzazioni**.**

   1. Per **Tipo di autorizzazione**, scegli le autorizzazioni per la coppia chiave-valore **LF-Tag**.

   1. **Seleziona utenti e ruoli IAM.**

   1. Per **gli utenti e i ruoli IAM**, cerca e scegli il `lf-data-engineer` ruolo.

   1. Nella sezione **LF-Tags**, aggiungi la chiave `Confidential` con valori `True` e `False` e `key` `Sensitive` with value. `True`

   1. **In **Autorizzazioni**, seleziona **Descrivi** e **associa** per le autorizzazioni e le **autorizzazioni concedibili**.**

   1. Scegliere **Concedi**.

1. Successivamente, concedi le autorizzazioni `lf-data-engineer` per creare database nel nostro catalogo dati e nel bucket Amazon S3 sottostante creato da. AWS CloudFormation

   1. In **Amministrazione** nel riquadro di navigazione, scegli **Ruoli e attività amministrative**.

   1.  Nella sezione **Creatori di database**, scegli **Concedi**.

   1. Per **gli utenti e i ruoli IAM**, scegli il `lf-data-engineer` ruolo.

   1. Per le **autorizzazioni del catalogo**, seleziona **Crea database**.

   1. Scegliere **Concedi**.

1. Successivamente, concedi all'utente le autorizzazioni sul `(s3://lf-tagbased-demo-{{Account-ID}})` bucket Amazon S3. `lf-data-engineer`

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

   1. Scegliere **Concedi**.

   1. Seleziona **Il mio account.**

   1. Per **gli utenti e i ruoli IAM**, scegli il `lf-data-engineer` ruolo.

   1. Per **le posizioni di archiviazione**, inserisci il bucket Amazon S3 creato dal modello. CloudFormation `(s3://lf-tagbased-demo-{{Account-ID}})`

   1. Scegliere **Concedi**.

1. **Successivamente, concedi autorizzazioni `lf-data-engineer` concedibili sulle risorse associate all'espressione LF-Tag.** `Confidential=True`

   1. **Nel riquadro di navigazione, sotto Autorizzazioni, scegli **Autorizzazioni Data lake**.**

   1. Scegliere **Concedi**.

   1. Seleziona **utenti e ruoli IAM**.

   1.  Scegli il ruolo`lf-data-engineer`.

   1. Nella sezione **LF-tags o risorse del catalogo, seleziona Risorse** **abbinate** ai tag LF.

   1. **Scegliete Aggiungi coppia chiave-valore LF-Tag.**

   1.  Aggiungi la chiave con i valori`Confidential`. `True`

   1. Nella sezione **Autorizzazioni del database, seleziona **Descrivi** per le autorizzazioni** del **database e le autorizzazioni **concedibili****. 

   1. ******Nella sezione **Autorizzazioni per la tabella, seleziona **Descrivi**, Seleziona e **Alter** sia per le autorizzazioni** Table che per le autorizzazioni Grantable.****** 

   1.  Scegliere **Concedi**.

1. Successivamente, concedi autorizzazioni `lf-data-engineer` concedibili sulle risorse associate all'espressione LF-Tag. `Confidential=False`

   1. **Nel riquadro di navigazione, sotto Autorizzazioni, scegli **Autorizzazioni Data lake**.**

   1. Scegliere **Concedi**.

   1. Seleziona **utenti e ruoli IAM**.

   1. Scegli il ruolo`lf-data-engineer`.

   1.  Seleziona **Risorse abbinate ai tag LF**.

   1. **Scegli Aggiungi tag LF.**

   1.  Aggiungi la chiave `Confidential` con il valore. `False`

   1. Nella sezione **Autorizzazioni del database, seleziona **Descrivi** per le autorizzazioni** del **database e le autorizzazioni **concedibili****.

   1. Nella sezione **Autorizzazioni per tabelle e colonne**, non selezionare nulla.

   1. Scegliere **Concedi**.

1. Successivamente, concediamo autorizzazioni `lf-data-engineer` concedibili sulle risorse associate alle coppie chiave-valore del tag **LF** e. `Confidential=False` `Sensitive=True`

   1. ****Nel pannello di navigazione, in Autorizzazioni, scegli Autorizzazioni dati.**** 

   1. Scegliere **Concedi**.

   1. Seleziona **utenti e ruoli IAM**.

   1. Scegli il ruolo`lf-data-engineer`.

   1. Nella sezione **LF-tags o nella sezione delle risorse del catalogo**, seleziona **Risorse abbinate** ai tag LF.

   1. Scegli Aggiungi **tag** LF.

   1.  Aggiungi la chiave `Confidential` con il valore. `False`

   1. Scegli **Aggiungi coppia chiave-valore del tag LF**.

   1. Aggiungi la chiave con il valore`Sensitive`. `True`

   1. Nella sezione **Autorizzazioni del database, seleziona **Descrivi** per le autorizzazioni** del **database e le autorizzazioni **concedibili****.

   1. ******Nella sezione **Autorizzazioni per la tabella, seleziona **Descrivi**, Seleziona e **Alter** sia per le autorizzazioni** Table che per le autorizzazioni Grantable.******

   1. Scegliere **Concedi**.

## Fase 3: Creare database Lake Formation
<a name="tut-manage-dl-tbac-create-databases"></a>

In questo passaggio, create due database e allegate i tag LF ai database e a colonne specifiche a scopo di test.

**Crea i tuoi database e le tue tabelle per l'accesso a livello di database**

1. Innanzitutto, crea il database`tag_database`, la tabella e allega i tag `source_data` LF appropriati.

   1. Nella console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), in **Data Catalog**, scegli **Databases**. 

   1. Scegliere **Crea database**.

   1. In **Nome**, inserisci `tag_database`.

   1. Per **Posizione**, inserisci la posizione Amazon S3 creata dal CloudFormation modello. `(s3://lf-tagbased-demo-{{Account-ID}}/tag_database/)`

   1. Deseleziona **Usa solo il controllo di accesso IAM per le nuove tabelle in questo database**.

   1. Scegliere **Crea database**.

1. Quindi, crea una nuova tabella all'interno `tag_database` di.

   1. Nella pagina **Database**, seleziona il database`tag_database`.

   1.  Scegliete **Visualizza tabelle** e fate clic su **Crea tabella**.

   1. In **Nome**, inserisci `source_data`.

   1. Per **Database** (Database), scegli il database `tag_database`.

   1. Per **Formato tabella**, scegli ** AWS Glue Tabella standard**.

   1. Se i **dati si trovano in**, seleziona **Percorso specificato nel mio account**.

   1. In Includi percorso, inserisci il percorso `tag_database` creato dal CloudFormation modello`(s3://lf-tagbased-demo{{Account-ID}}/tag_database/)`.

   1. Per **Formato dati**, seleziona **CSV**.

   1. In **Upload schema**, inserisci la seguente matrice JSON di struttura di colonne per creare uno schema:

      ```
       [
                     {
                          "Name": "vendorid",
                          "Type": "string"
                     },
                     {
                          "Name": "lpep_pickup_datetime",
                          "Type": "string"                    
                     },
                     {
                          "Name": "lpep_dropoff_datetime",
                          "Type": "string"  
                    
                     },
                        {
                          "Name": "store_and_fwd_flag",
                          "Type": "string"                                
                     },
                        {
                          "Name": "ratecodeid",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "pulocationid",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "dolocationid",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "passenger_count",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "trip_distance",
                          "Type": "string"                    
                          
                     }, 
                        {
                          "Name": "fare_amount",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "extra",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "mta_tax",
                          "Type": "string"                    
                          
                     },
                     {
                          "Name": "tip_amount",
                          "Type": "string"                   
                          
                     },
                        {
                          "Name": "tolls_amount",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "ehail_fee",
                          "Type": "string"                    
                          
                     }, 
                     {
                          "Name": "improvement_surcharge",
                          "Type": "string"                   
                          
                     },
                     {
                          "Name": "total_amount",
                          "Type": "string"                    
                          
                     },
                     {
                          "Name": "payment_type",
                          "Type": "string"                    
                          
                     }
       ]
      ```

   1. Scegli **Carica**. Dopo aver caricato lo schema, lo schema della tabella dovrebbe apparire come nella schermata seguente:  
![Schema tabellare con 18 colonne, tra cui vendorid, data/ora di ritiro e riconsegna, ubicazione e dettagli della tariffa, tutti tipi di dati di IDs tipo stringa.](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/tutorial-manage-dl-tbac1.jpg)

   1. Seleziona **Invia**.

1. Successivamente, allega i tag LF a livello di database.

   1. Nella pagina **Database**, trova e seleziona. `tag_database` 

   1. Nel menu **Azioni**, scegliete **Modifica tag LF**.

   1. Scegliete **Assegna nuovo** LF-tag.

   1. Per le **chiavi assegnate**, scegliete il tag `Confidential` LF che avete creato in precedenza.

   1. Per **Valori, scegliete**. `True`

   1. Scegli **Save** (Salva).

   Questo completa l'assegnazione del tag LF al database tag\_database.

**Crea il tuo database e la tua tabella per l'accesso a livello di colonna**

Ripetete i seguenti passaggi per creare il database `col_tag_database` e la tabella e allegare `source_data_col_lvl` i tag LF a livello di colonna. 

1. Nella pagina **Database**, scegli **Crea** database.

1. In **Nome**, inserisci `col_tag_database`.

1. Per **Posizione**, inserisci la posizione Amazon S3 creata dal CloudFormation modello. `(s3://lf-tagbased-demo-{{Account-ID}}/col_tag_database/)`

1. Deseleziona **Usa solo il controllo di accesso IAM per le nuove tabelle in questo database**.

1. Scegliere **Crea database**.

1. Nella pagina **Database**, seleziona il tuo nuovo database`(col_tag_database)`. 

1. Scegli **Visualizza tabelle** e fai clic su **Crea tabella**.

1. In **Nome**, inserisci `source_data_col_lvl`.

1. Per **Database**, scegli il tuo nuovo database`(col_tag_database)`.

1. Per **Formato tabella**, scegli ** AWS Glue Tabella standard**.

1. Se i **dati si trovano in**, seleziona **Percorso specificato nel mio account**.

1. Inserisci il percorso Amazon S3 per. `col_tag_database` `(s3://lf-tagbased-demo-{{Account-ID}}/col_tag_database/)`

1. Per **Formato dei dati**, seleziona`CSV`.

1. In`Upload schema`, inserisci il seguente schema JSON: 

   ```
   [
                  {
                       "Name": "vendorid",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "lpep_pickup_datetime",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "lpep_dropoff_datetime",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "store_and_fwd_flag",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "ratecodeid",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "pulocationid",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "dolocationid",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "passenger_count",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "trip_distance",
                       "Type": "string"
                       
                       
                  }, 
                     {
                       "Name": "fare_amount",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "extra",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "mta_tax",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "tip_amount",
                       "Type": "string"
                       
                       
                  },
                     {
                       "Name": "tolls_amount",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "ehail_fee",
                       "Type": "string"
                       
                       
                  }, 
                  {
                       "Name": "improvement_surcharge",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "total_amount",
                       "Type": "string"
                       
                       
                  },
                  {
                       "Name": "payment_type",
                       "Type": "string"
                       
                       
                  }
   ]
   ```

1. Scegli `Upload`. Dopo aver caricato lo schema, lo schema della tabella dovrebbe apparire come nella schermata seguente.  
![Schema tabellare con 18 colonne, tra cui vendorid, data/ora di ritiro e riconsegna e importi tariffari.](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/tutorial-manage-dl-tbac2.jpg)

1. Scegli **Invia** per completare la creazione della tabella.

1. Ora, associa il `Sensitive=True` tag LF alle colonne `vendorid` e. `fare_amount`

   1. Nella pagina **Tabelle**, seleziona la tabella che hai creato. `(source_data_col_lvl)`

   1. Nel menu **Azioni**, scegli **Schema**.

   1. Selezionate la colonna `vendorid` e scegliete **Modifica tag LF**.

   1. **Per **Chiavi assegnate**, scegliete Sensibile.**

   1.  Per **Valori**, scegli **True**.

   1. Scegli **Save** (Salva).

1. Quindi, associa il `Confidential=False` tag LF a. `col_tag_database` Questo è necessario per poter `lf-data-analyst` descrivere il database `col_tag_database` quando si effettua l'accesso da. Amazon Athena

   1. Nella pagina **Database**, trova e seleziona`col_tag_database`.

   1. Nel menu **Azioni**, scegliete **Modifica tag LF**.

   1. Scegliete **Assegna nuovo** LF-tag.

   1. Per **Tasti assegnati**, scegli il tag `Confidential` LF che hai creato in precedenza.

   1. Per **Valori, scegliete**. `False`

   1. Scegli **Save** (Salva).

## Passaggio 4: concedere le autorizzazioni per la tabella
<a name="tut-manage-dl-grant-table-permissions"></a>

Concedi le autorizzazioni agli analisti di dati per l'utilizzo dei database `tag_database` e della tabella `col_tag_database` utilizzando i tag LF e. `Confidential` `Sensitive`

1. Segui questi passaggi per concedere all'`lf-data-analyst`utente le autorizzazioni sugli oggetti associati al tag LF `Confidential=True` (Database:TAG\_database) per avere il database e l'autorizzazione sulle tabelle. `Describe` `Select`

   1. Accedi alla console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)as`lf-data-engineer`.

   1. In **Autorizzazioni**, seleziona **Autorizzazioni Data lake**.

   1. Scegliere **Concedi**.

   1. In **Principali**, seleziona **Utenti e ruoli IAM**.

   1. Per **gli utenti e i ruoli IAM**, scegli`lf-data-analyst`.

   1. In **LF-tags o catalog resources, seleziona Risorse** **abbinate** a LF-Tags.

   1. Scegli Aggiungi **tag** LF.

   1. Per **Key**, scegli. `Confidential`

   1. Per **Valori**, scegli`True`.

   1. Per le **autorizzazioni del database**, selezionare`Describe`.

   1. **Per le **autorizzazioni relative alle tabelle**, scegli **Seleziona e descrivi**.** 

   1. Scegliere **Concedi**.

1. Quindi, ripeti i passaggi per concedere le autorizzazioni agli analisti di dati per l'espressione LF-tag for. `Confidential=False` Questo **tag LF** viene utilizzato per descrivere la tabella `col_tag_database` e `source_data_col_lvl` quando si effettua l'accesso da Amazon `lf-data-analyst` Athena. 

   1. Accedi alla console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)as`lf-data-engineer`.

   1. Nella pagina **Database**, seleziona il database`col_tag_database`.

   1. Scegli **Azione** e **Concedi**.

   1. In **Principi,** seleziona **Utenti e ruoli IAM**.

   1. Per **gli utenti e i ruoli IAM**, scegli`lf-data-analyst`.

   1. Seleziona **Risorse abbinate ai tag LF**.

   1. **Scegli Aggiungi tag LF.**

   1. Per **Key**, scegli. `Confidential`

   1.  Per **Valori**, scegli`False`.

   1. Per le **autorizzazioni del database**, seleziona`Describe`.

   1. Per le **autorizzazioni relative alle tabelle**, non selezionate nulla. 

   1. Scegliere **Concedi**.

1. Quindi, ripeti i passaggi per concedere le autorizzazioni agli analisti di dati per l'espressione LF-tag per e. `Confidential=False` `Sensitive=True` Questo tag LF viene utilizzato per descrivere la tabella `col_tag_database` e `source_data_col_lvl` (a livello di colonna) quando si effettua l'accesso da Amazon Athena. `lf-data-analyst`

   1. Accedi alla console di Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)as`lf-data-engineer`.

   1. Nella pagina Database, seleziona il database`col_tag_database`.

   1. Scegli **Azione** e **Concedi**.

   1. In **Principi,** seleziona **Utenti e ruoli IAM**.

   1.  Per **gli utenti e i ruoli IAM**, scegli`lf-data-analyst`.

   1. Seleziona **Risorse abbinate ai tag LF**.

   1. **Scegli Aggiungi tag LF.**

   1. Per **Key**, scegli. `Confidential`

   1. Per **Valori**, scegli`False`.

   1. Scegli **Aggiungi tag LF**.

   1. Per **Key**, scegli. `Sensitive`

   1. Per **Valori**, scegli`True`.

   1. Per le **autorizzazioni del database**, seleziona`Describe`.

   1. Per le **autorizzazioni relative alle tabelle**, seleziona `Select` e. `Describe`

   1. Scegliere **Concedi**.

## Passaggio 5: esegui una query in Amazon Athena per verificare le autorizzazioni
<a name="tut-manage-dl-tbac-run-query"></a>

Per questo passaggio, usa Amazon Athena per eseguire `SELECT` query sulle due tabelle. `(source_data and source_data_col_lvl)` Usa il percorso Amazon S3 come posizione dei risultati della query. `(s3://lf-tagbased-demo-{{Account-ID}}/athena-results/)`

1. Accedi alla console Athena all'indirizzo [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)as. `lf-data-analyst`

1. Nell'editor di query Athena, scegli `tag_database` nel pannello a sinistra.

1. Scegliete l'icona delle opzioni di menu aggiuntive (tre punti verticali) accanto `source_data` e scegliete la tabella di **anteprima**.

1. Scegli **Esegui query**.

   L'esecuzione della query dovrebbe richiedere alcuni minuti. La query visualizza tutte le colonne dell'output perché il tag LF è associato a livello di database e la `source_data` tabella lo eredita automaticamente `LF-tag` dal database. `tag_database`

1. Esegui un'altra query utilizzando e. `col_tag_database` `source_data_col_lvl`

   La seconda query restituisce le due colonne contrassegnate come `Non-Confidential` e`Sensitive`.

1. Puoi anche controllare il comportamento della politica di accesso basata sui tag di Lake Formation nelle colonne per le quali non hai concessioni politiche. Quando viene selezionata una colonna senza tag dalla tabella, `source_data_col_lvl` Athena restituisce un errore. Ad esempio, puoi eseguire la seguente query per scegliere colonne senza tag: `geolocationid`

   ```
   SELECT geolocationid FROM "col_tag_database"."source_data_col_lvl" limit 10;
   ```

## Fase 6: Pulizia delle risorse AWS
<a name="tut-manage-dl-tbac-clean-up-db"></a>

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

1. Accedi alla console di Lake Formation come `lf-data-engineer` ed elimina i database `tag_database` e`col_tag_database`.

1. Successivamente, accedi come `lf-data-steward` e ripulisci tutte le autorizzazioni **LF-Tag, le autorizzazioni per **i dati e le autorizzazioni**** per la **localizzazione dei dati** concesse in precedenza e che sono state concesse e. `lf-data-engineer` `lf-data-analyst.`

1. Accedi alla console Amazon S3 come proprietario dell'account utilizzando le credenziali IAM che hai usato per distribuire lo stack. CloudFormation 

1. Elimina i seguenti bucket:
   + lf-tagbased-demo-accesslogs-{{acct-id}}
   + lf-tagbased-demo-{{acct-id}}

1. Accedi alla CloudFormation console all'indirizzo [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) ed elimina lo stack che hai creato. Attendi che lo stato dello stack cambi a. `DELETE_COMPLETE`