

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

# Condivisione di un data lake utilizzando il controllo degli accessi basato su tag Lake Formation e risorse denominate
<a name="share-dl-tbac-tutorial"></a>

Questo tutorial dimostra come configurare AWS Lake Formation la condivisione sicura dei dati archiviati all'interno di un data lake con più aziende, organizzazioni o unità aziendali, senza dover copiare l'intero database. Esistono due opzioni per condividere database e tabelle con altri utenti Account AWS utilizzando il controllo degli accessi tra account di Lake Formation:
+ **Controllo degli accessi basato su tag Lake Formation (consigliato)**

  Il controllo degli accessi basato su tag Lake Formation è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. In Lake Formation, questi attributi sono chiamati *LF-tag*. Per ulteriori informazioni, consulta [Gestione di un data lake utilizzando il controllo degli accessi basato su tag Lake Formation](managing-dl-tutorial.md).
+ **Risorse denominate Lake Formation**

  Il metodo delle risorse denominato Lake Formation è una strategia di autorizzazione che definisce le autorizzazioni per le risorse. Le risorse includono database, tabelle e colonne. Gli amministratori del Data Lake possono assegnare e revocare le autorizzazioni sulle risorse di Lake Formation. Per ulteriori informazioni, consulta [Condivisione dei dati tra account in Lake Formation](cross-account-permissions.md).

  Consigliamo di utilizzare risorse denominate se l'amministratore del data lake preferisce concedere le autorizzazioni in modo esplicito alle singole risorse. Quando utilizzi il metodo della risorsa denominata per concedere le autorizzazioni Lake Formation su una risorsa Data Catalog a un account esterno, Lake Formation utilizza AWS Resource Access Manager (AWS RAM) per condividere la risorsa.

**Topics**
+ [Destinatari principali](#tut-share-tbac-roles)
+ [Configura le impostazioni di Lake Formation Data Catalog nell'account produttore](#tut-share-tbac-LF-settings)
+ [Fase 1: Fornisci le tue risorse utilizzando modelli AWS CloudFormation](#tut-tbac-share-provision-resources)
+ [Fase 2: Prerequisiti per la condivisione tra account di Lake Formation](#cross-account-share-prerequisistes)
+ [Fase 3: Implementare la condivisione tra account utilizzando il metodo di controllo degli accessi basato su tag](#tut-share-tbac-method)
+ [Fase 4: Implementazione del metodo di risorsa denominato](#tut-named-resource-method)
+ [Passaggio 5: Pulisci AWS le risorse](#share-tbac-clean-up-db)

## Destinatari principali
<a name="tut-share-tbac-roles"></a>



Questo tutorial è destinato a amministratori di dati, ingegneri di dati e analisti di dati. Quando si tratta di condividere le tabelle di Data Catalog AWS Glue e amministrare le autorizzazioni in Lake Formation, gli amministratori dei dati all'interno degli account di produzione hanno la proprietà funzionale in base alle funzioni supportate e possono concedere l'accesso a vari consumatori, organizzazioni esterne e account. La tabella seguente elenca i ruoli utilizzati in questo tutorial:


| Ruolo | Description | 
| --- | --- | 
| DataLakeAdminProducer | L'utente IAM amministratore del data lake dispone dei seguenti accessi: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/share-dl-tbac-tutorial.html) | 
| DataLakeAdminConsumer |  L'utente IAM di data lake admin ha il seguente accesso:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/share-dl-tbac-tutorial.html)  | 
| DataAnalyst | L' DataAnalyst utente ha il seguente accesso: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/share-dl-tbac-tutorial.html) | 

## Configura le impostazioni di Lake Formation Data Catalog nell'account produttore
<a name="tut-share-tbac-LF-settings"></a>

Prima di iniziare questo tutorial, è necessario disporre di un Account AWS file 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).

**Configura le impostazioni di Lake Formation Data Catalog nell'account produttore**
**Nota**  
 In questo tutorial, l'account che ha la tabella di origine è chiamato account produttore e l'account che deve accedere alla tabella di origine è chiamato account consumatore. 

Lake Formation fornisce il proprio modello di gestione delle autorizzazioni. Per mantenere la retrocompatibilità con il modello di autorizzazione IAM, per impostazione predefinita l'`Super`autorizzazione viene concessa al gruppo `IAMAllowedPrincipals` su tutte AWS Glue Data Catalog le risorse esistenti. Inoltre, **le impostazioni di controllo degli accessi Use only IAM** sono abilitate per le nuove risorse del Data Catalog. Questo tutorial utilizza un controllo degli accessi granulare utilizzando le autorizzazioni di Lake Formation e utilizza le politiche IAM per un controllo degli accessi a grana grossolana. Per informazioni dettagliate, vedi [Metodi per il controllo granulare degli accessi](access-control-fine-grained.md). Pertanto, prima di utilizzare un AWS CloudFormation modello per una configurazione rapida, è necessario modificare le impostazioni del Lake Formation Data Catalog nell'account produttore.
**Importante**  
Questa impostazione influisce su tutti i database e le tabelle appena creati, quindi consigliamo vivamente di completare questo tutorial in un account non di produzione o in un nuovo account. Inoltre, se utilizzi un account condiviso (ad esempio l'account di sviluppo della tua azienda), assicurati che ciò non influisca sulle risorse altrui. Se preferisci mantenere le impostazioni di sicurezza predefinite, devi completare un passaggio aggiuntivo durante la condivisione delle risorse con altri account, in cui revochi l'autorizzazione **Super** predefinita dal `IAMAllowedPrincipals` database o dalla tabella. Discuteremo i dettagli più avanti in questo tutorial. 

Per configurare le impostazioni di Lake Formation Data Catalog nell'account produttore, completa i seguenti passaggi:

1. Accedi all'account Console di gestione AWS utilizzando l'account produttore come utente amministratore o come utente con l'autorizzazione dell'`PutDataLakeSettings`API Lake Formation.

1. Sulla console Lake Formation, nel pannello di navigazione, in **Data Catalog**, scegli **Impostazioni**.

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

   Scegli **Save** (Salva).  
![\[Data catalog settings interface for AWS Lake Formation with permission options.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/tbac-tut-settings.jpg)

   Inoltre, puoi rimuovere `CREATE_DATABASE` le autorizzazioni per la `IAMAllowedPrincipals` sezione **Ruoli e attività amministrative**, Creatori di **database**. Solo allora potrai decidere chi può creare un nuovo database tramite le autorizzazioni di Lake Formation.

## Fase 1: Fornisci le tue risorse utilizzando modelli AWS CloudFormation
<a name="tut-tbac-share-provision-resources"></a>

Il CloudFormation modello per l'account produttore genera le seguenti risorse:
+ Un bucket Amazon S3 che funge da data lake.
+ Una funzione Lambda (per risorse personalizzate supportate da Lambda). CloudFormation Utilizziamo la funzione per copiare file di dati di esempio dal bucket Amazon S3 pubblico al tuo bucket Amazon S3.
+ Utenti e politiche IAM:. DataLakeAdminProducer
+ Le impostazioni e le autorizzazioni appropriate di Lake Formation, tra cui:
  + Definizione dell'amministratore del data lake di Lake Formation nell'account produttore
  + Registrazione di un bucket Amazon S3 come ubicazione del data lake Lake Formation (account produttore)
+ Un AWS Glue Data Catalog database, una tabella e una partizione. Poiché esistono due opzioni per la condivisione delle risorse Account AWS, questo modello crea due set separati di database e tabelle.

Il CloudFormation modello per l'account consumatore genera le seguenti risorse:
+ Utenti e politiche IAM:
  + DataLakeAdminConsumer
  + DataAnalyst
+ Un AWS Glue Data Catalog database. Questo database serve per creare collegamenti di risorse a risorse condivise.

**Crea le tue risorse nell'account del produttore**

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://aws-bigdata-blog.s3.amazonaws.com/artifacts/Securely_sharing_data_across_AWS_accounts_using_AWS_Lake_Formation/lakeformation_tutorial_cross_account_producer.yaml)

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

1. Per il **nome dello stack, inserisci un nome** per lo stack, ad esempio. `stack-producer`

1.  Nella sezione **Configurazione utente**, inserisci il nome utente e la password per `ProducerDatalakeAdminUserName` e. `ProducerDatalakeAdminUserPassword` 

1. Per **DataLakeBucketName**, inserisci il nome del tuo bucket data lake. Questo nome deve essere univoco a livello globale.

1. Per **DatabaseName**e **TableName**, lascia i valori predefiniti.

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

1. Nella pagina successiva, scegli **Avanti**.

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 un minuto.

**Crea le tue risorse nell'account consumatore**

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://aws-bigdata-blog.s3.amazonaws.com/artifacts/Securely_sharing_data_across_AWS_accounts_using_AWS_Lake_Formation/lakeformation_tutorial_cross_account_consumer.yaml)

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

1. Per il **nome dello stack, inserisci un nome** per lo stack, ad esempio. `stack-consumer`

1.  Nella sezione **Configurazione utente**, inserisci il nome utente e la password per `ConsumerDatalakeAdminUserName` e. `ConsumerDatalakeAdminUserPassword` 

1. Per `DataAnalystUserName` e`DataAnalystUserPassword`, inserisci il nome utente e la password che desideri per l'utente IAM dell'analista di dati.

1. Per **DataLakeBucketName**, inserisci il nome del tuo bucket data lake. Questo nome deve essere univoco a livello globale.

1. Per **DatabaseName**, lascia i valori predefiniti.

1. Per`AthenaQueryResultS3BucketName`, inserisci il nome del bucket Amazon S3 in cui sono archiviati i risultati delle query di Amazon Athena. Se non ne hai uno, [crea un bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html).

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

1. **Nella pagina successiva, scegli Avanti.**

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 un minuto.

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

## Fase 2: Prerequisiti per la condivisione tra account di Lake Formation
<a name="cross-account-share-prerequisistes"></a>

Prima di condividere le risorse con Lake Formation, esistono dei prerequisiti sia per il metodo di controllo degli accessi basato su tag che per il metodo delle risorse denominate.

**Prerequisiti completi per il controllo degli accessi basato su tag per la condivisione dei dati tra account**
+ Per ulteriori informazioni sui requisiti di condivisione dei dati tra account, consulta la [Prerequisiti](cross-account-prereqs.md) sezione del capitolo Condivisione dei dati tra account.

  Per condividere le risorse di Data Catalog con la versione 3 o successiva delle **impostazioni della versione dell'account Cross**, il concedente deve disporre delle autorizzazioni IAM definite nella policy AWS gestita del tuo account. `AWSLakeFormationCrossAccountManager` 

  Se utilizzi la versione 1 o la versione 2 delle **impostazioni della versione dell'account Cross**, prima di poter utilizzare il metodo di controllo dell'accesso basato su tag per concedere l'accesso alle risorse tra account diversi, devi aggiungere il seguente oggetto di `JSON` autorizzazione alla politica delle risorse di Data Catalog nell'account produttore. Ciò concede all'account consumatore l'autorizzazione ad accedere al Data Catalog quando `glue:EvaluatedByLakeFormationTags` è vero. Inoltre, questa condizione diventa vera per le risorse a cui hai concesso l'autorizzazione utilizzando i tag di autorizzazione di Lake Formation sull'account del consumatore. Questa politica è necessaria per tutte le persone Account AWS a cui concedi le autorizzazioni.

  La seguente politica deve essere inclusa in un `Statement` elemento. Discuteremo la politica IAM completa nella prossima sezione.

  ```
  {
      "Effect": "Allow",
      "Action": [
          "glue:*"
      ],
      "Principal": {
          "AWS": [
              "consumer-account-id"
          ]
      },
      "Resource": [
          "arn:aws:glue:region:account-id:table/*",
          "arn:aws:glue:region:account-id:database/*",
          "arn:aws:glue:region:account-id:catalog"
      ],
      "Condition": {
          "Bool": {
              "glue:EvaluatedByLakeFormationTags": true
          }
      }
  }
  ```

**Completa i prerequisiti per la condivisione tra account del metodo delle risorse denominate**

1. Se nel tuo account non è presente alcuna politica sulle risorse di Data Catalog, il cross-account di Lake Formation ti consente di procedere come al solito. Tuttavia, se esiste una politica in materia di risorse di Data Catalog, devi aggiungere la seguente dichiarazione per consentire che le concessioni tra account abbiano esito positivo se effettuate con il metodo della risorsa denominata. Se prevedi di utilizzare solo il metodo della risorsa denominata o solo il metodo di controllo dell'accesso basato su tag, puoi saltare questo passaggio. In questo tutorial, valutiamo entrambi i metodi e dobbiamo aggiungere la seguente politica.

   La seguente politica deve trovarsi all'interno di un `Statement` elemento. Discuteremo la politica IAM completa nella prossima sezione.

   ```
   {
             "Effect": "Allow",
             "Action": [
             "glue:ShareResource"
             ],
             "Principal": {
               "Service":"ram.amazonaws.com"
             },
             "Resource": [
                 "arn:aws:glue:region:account-id:table/*/*",
                 "arn:aws:glue:region:account-id:database/*",
                 "arn:aws:glue:region:account-id:catalog"
             ]
   }
   ```

1. Quindi, aggiungi la politica AWS Glue Data Catalog delle risorse utilizzando AWS Command Line Interface (AWS CLI).

   Se concedi autorizzazioni per più account utilizzando sia il metodo di controllo degli accessi basato su tag che il metodo Named Resource, devi impostare l'`EnableHybrid`argomento su «true» quando aggiungi le politiche precedenti. Perché questa opzione non è attualmente supportata sulla console ed è necessario utilizzare l'API e. `glue:PutResourcePolicy` AWS CLI

   Innanzitutto, crea un documento di policy (come policy.json) e aggiungi le due politiche precedenti. Sostituiscilo *consumer-account-id* con quello *account ID* del Account AWS destinatario della concessione, *region* con la regione del catalogo dati contenente i database e le tabelle per i quali stai concedendo le autorizzazioni e con l'ID del produttore. *account-id* Account AWS 

   Immettete il seguente comando AWS CLI . Sostituisci *glue-resource-policy* con i valori corretti (ad esempio file: //policy.json).

   ```
   aws glue put-resource-policy --policy-in-json glue-resource-policy --enable-hybrid TRUE
   ```

   Per ulteriori informazioni, consulta [put-resource-policy.](https://docs.aws.amazon.com/cli/latest/reference/glue/put-resource-policy.html)

## Fase 3: Implementare la condivisione tra account utilizzando il metodo di controllo degli accessi basato su tag
<a name="tut-share-tbac-method"></a>

In questa sezione, ti illustreremo i seguenti passaggi di alto livello:

1.  Definisci un tag LF.

1.  Assegna il tag LF alla risorsa di destinazione.

1. Concedi le autorizzazioni LF-Tag all'account consumatore.

1. Concedi le autorizzazioni relative ai dati all'account consumatore.

1. Facoltativamente, revoca le autorizzazioni per il database, le `IAMAllowedPrincipals` tabelle e le colonne.

1. Crea un link di risorsa alla tabella condivisa.

1.  Crea un tag LF e assegnalo al database di destinazione.

1.  Concedi le autorizzazioni relative ai dati LF-Tag all'account consumatore.

**Definisci un tag LF**
**Nota**  
Se hai effettuato l'accesso al tuo account produttore, esci prima di completare i seguenti passaggi.

1. Accedi all'account produttore come amministratore del data lake all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Usa il numero di account del produttore, il nome utente IAM (l'impostazione predefinita è`DatalakeAdminProducer`) e la password che hai specificato durante la creazione CloudFormation dello stack. 

1. Sulla console di Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), nel pannello di navigazione, in **Autorizzazioni, scegli **LF-tags** e permessi**.

1. **Scegliete Aggiungi LF-tag.**

**Assegna il tag LF alla risorsa di destinazione**

Assegna il tag LF alla risorsa di destinazione e concedi le autorizzazioni relative ai dati a un altro account

In qualità di amministratore del data lake, puoi allegare tag alle risorse. Se prevedi di utilizzare un ruolo separato, potresti dover concedere autorizzazioni di descrizione e allegare al ruolo separato.

1. Nel riquadro di navigazione, in **Data Catalog**, seleziona **Database**.

1. Seleziona il database di destinazione `(lakeformation_tutorial_cross_account_database_tbac)` e nel menu **Azioni** scegli **Modifica tag LF**.

   In questo tutorial, puoi assegnare un tag LF a un database, ma puoi anche assegnare tag LF a tabelle e colonne.

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

1. Aggiungi la chiave e il valore`Confidentiality`. `public`

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

**Concedi l'autorizzazione **LF-Tag** all'account consumatore**

Sempre nell'account produttore, concedi le autorizzazioni all'account consumer per accedere all'LF-Tag.

1. **Nel pannello di navigazione, sotto **Autorizzazioni, scegli LF-tags e permessi**.**

1. ****Scegliete la scheda **LF-Tags** e scegliete la **chiave** e **i valori** del tag LF che viene condiviso con l'account consumatore (chiave e valore). `Confidentiality`**** `public`

1. Scegli **Concedi autorizzazioni**.

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

1. **Per **Principali**, scegli Account esterni.**

1. Inserisci l'**Account AWS ID di destinazione.**

   Account AWS all'interno della stessa organizzazione appaiono automaticamente. Altrimenti, devi inserire manualmente l' Account AWS ID.

1. In **Autorizzazioni**, seleziona **Descrivi**.

   Si tratta delle autorizzazioni concesse all'account consumatore. Le autorizzazioni concedibili sono autorizzazioni che l'account consumatore può concedere ad altri destinatari.

1. Scegliere **Concedi**.

   A questo punto, l'amministratore del consumer data lake dovrebbe essere in grado di trovare il policy tag condiviso tramite la console dell'account consumer Lake Formation, sotto **Permissions**, **LF-tags** and permissions.

**Concedi l'autorizzazione ai dati all'account consumatore**

Ora forniremo l'accesso ai dati all'account consumatore specificando un'espressione LF-Tag e concedendo all'account consumatore l'accesso a qualsiasi tabella o database che corrisponda all'espressione.

1. **Nel pannello di navigazione, in Autorizzazioni, **Autorizzazioni** **Data Lake, scegli Concedi**.**

1. Per **Principali**, scegli **Account esterni** e inserisci l'ID di destinazione. Account AWS 

1. ****Per i **tag LF o le risorse del catalogo**, scegli la **chiave** e **i valori** del **tag LF** da condividere con l'account consumatore (chiave e valore). `Confidentiality`**** `public`

1. **Per **Autorizzazioni**, in **Risorse abbinate ai tag LF (consigliato) scegli Aggiungi tag LF**.**

1. Seleziona la **chiave** e il **valore** del tag che viene condiviso con l'account consumatore (chiave e valore). `Confidentiality` `public`

1. Per **le autorizzazioni del database**, seleziona **Descrivi** in Autorizzazioni del **database per concedere le autorizzazioni** di accesso a livello di database.

1. L'amministratore del consumer data lake dovrebbe essere in grado di trovare il policy tag condiviso tramite l'account consumer sulla console di Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/), in **Autorizzazioni**, **ruoli e attività amministrativi**, **LF-Tags**.

1. Seleziona **Descrivi** in Autorizzazioni **concesse in modo che l'account consumer possa concedere autorizzazioni** a livello di database ai propri utenti.

1. ******Per le autorizzazioni relative alle **tabelle e alle colonne, seleziona Seleziona e descrivi in Autorizzazioni** per le tabelle.******

1. Seleziona **Seleziona** e **descrivi** in Autorizzazioni **concesse**.

1. Scegliere **Concedi**.

**Revoca l'autorizzazione per `IAMAllowedPrincipals` il database, le tabelle e le colonne (facoltativo).**

All'inizio di questo tutorial, hai modificato le impostazioni del Lake Formation Data Catalog. Se hai saltato quella parte, questo passaggio è obbligatorio. Se hai modificato le impostazioni del Lake Formation Data Catalog, puoi saltare questo passaggio.

In questo passaggio, dobbiamo revocare l'autorizzazione **Super** predefinita dal database o `IAMAllowedPrincipals` dalla tabella. Per informazioni dettagliate, vedi [Passaggio 4: Passa i tuoi archivi dati al modello di autorizzazioni Lake Formation](upgrade-glue-lake-formation.md#upgrade-glue-lake-formation-step4).

Prima di revocare l'autorizzazione`IAMAllowedPrincipals`, assicurati di aver concesso ai principali IAM esistenti l'autorizzazione necessaria tramite Lake Formation. Ciò include tre passaggi:

1. Aggiungi l'autorizzazione IAM all'utente o al ruolo IAM di destinazione con l'`GetDataAccess`azione Lake Formation (con policy IAM).

1.  Concedi all'utente o al ruolo IAM di destinazione le autorizzazioni relative ai dati di Lake Formation (modifica, selezione e così via).

1. Quindi, revoca le autorizzazioni per. `IAMAllowedPrincipals` Altrimenti, dopo aver revocato le autorizzazioni per`IAMAllowedPrincipals`, i principali IAM esistenti potrebbero non essere più in grado di accedere al database di destinazione o al Data Catalog.

   La revoca dell'autorizzazione **Super** for `IAMAllowedPrincipals` è necessaria quando si desidera applicare il modello di autorizzazione Lake Formation (anziché il modello di policy IAM) per gestire l'accesso degli utenti all'interno di un singolo account o tra più account utilizzando il modello di autorizzazione Lake Formation. Non è necessario revocare l'autorizzazione `IAMAllowedPrincipals` per altre tabelle in cui si desidera mantenere il modello di policy IAM tradizionale.

   A questo punto, l'amministratore di Data Lake dell'account consumer dovrebbe essere in grado di trovare il database e la tabella condivisi tramite l'account consumer sulla console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/), sotto **Data Catalog, database**. In caso contrario, verifica se quanto segue è configurato correttamente:

   1. Il tag di policy e i valori corretti vengono assegnati ai database e alle tabelle di destinazione.

   1. L'autorizzazione corretta per il tag e l'autorizzazione per i dati vengono assegnate all'account consumatore.

   1. Revoca la super autorizzazione predefinita dal `IAMAllowedPrincipals` database o dalla tabella.

**Crea un link di risorsa alla tabella condivisa**

Quando una risorsa viene condivisa tra account e le risorse condivise non vengono inserite nel catalogo dati degli account consumatori. Per renderli disponibili e interrogare i dati sottostanti di una tabella condivisa utilizzando servizi come Athena, dobbiamo creare un collegamento di risorsa alla tabella condivisa. Un link a una risorsa è un oggetto del Data Catalog che è un collegamento a un database o a una tabella locale o condivisa. Per informazioni dettagliate, vedi [Creazione di collegamenti alle risorse](creating-resource-links.md). Creando un collegamento a una risorsa, puoi:
+ Assegna un nome diverso a un database o a una tabella in linea con le politiche di denominazione delle risorse del Data Catalog.
+ Utilizza servizi come Athena e Redshift Spectrum per interrogare database o tabelle condivisi.

Per creare un collegamento a una risorsa, completa i seguenti passaggi:

1. Se hai effettuato l'accesso al tuo account consumatore, esci.

1. Accedi come amministratore di Data Lake dell'account consumer. Utilizza l'ID dell'account consumer, il nome utente IAM (predefinito DatalakeAdminConsumer) e la password che hai specificato durante la creazione CloudFormation dello stack.

1. Sulla console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), nel pannello di navigazione, in **Data Catalog, Databases**, scegli il database condiviso`lakeformation_tutorial_cross_account_database_tbac`.

   Se non vedi il database, rivedi i passaggi precedenti per vedere se tutto è configurato correttamente.

1. Scegli **Visualizza tabelle**.

1. Scegli la tabella condivisa`amazon_reviews_table_tbac`.

1. Nel menu **Azioni**, scegli **Crea link a una risorsa**.

1. Per **il nome del link alla risorsa**, inserisci un nome (per questo tutorial,`amazon_reviews_table_tbac_resource_link`).

1. In **Database**, seleziona il database in cui viene creato il collegamento alla risorsa (per questo post, lo stack CloudFormation n ha creato il database`lakeformation_tutorial_cross_account_database_consumer`).

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

   Il link alla risorsa viene visualizzato in **Catalogo dati**, **Tabelle**.

**Create un tag LF e assegnatelo al database di destinazione**

I tag Lake Formation si trovano nello stesso Data Catalog delle risorse. Ciò significa che i tag creati nell'account produttore non possono essere utilizzati quando si concede l'accesso ai link alle risorse nell'account consumatore. È necessario creare un set separato di tag LF nell'account consumatore per utilizzare il controllo degli accessi basato sui tag LF quando si condividono i link alle risorse nell'account consumatore.

1. Definisci il tag LF nell'account consumatore. Per questo tutorial, utilizziamo chiavi `Division` e valori `sales` e`marketing`. `analyst`

1. Assegna la chiave `Division` e il valore del tag LF `analyst` al database`lakeformation_tutorial_cross_account_database_consumer`, dove viene creato il collegamento alla risorsa.

**Concedi l'autorizzazione ai dati LF-Tag al consumatore**

Come ultimo passaggio, concedi l'autorizzazione ai dati di LF-Tag al consumatore.

1. **Nel pannello di navigazione, in Autorizzazioni, **Autorizzazioni** **Data lake, scegli Concedi**.**

1. Per **Principal**, scegli **utenti e ruoli IAM e** scegli l'utente. `DataAnalyst`

1.  Per i **tag LF o le risorse del catalogo, scegli Risorse** **abbinate ai tag LF** (consigliato).

1. **Scegliete **Key Division and Value Analyst**.**

1. Per le **autorizzazioni del database**, seleziona **Descrivi** in Autorizzazioni del **database**.

1. **Per le **autorizzazioni per tabelle e colonne**, seleziona **Seleziona** e **descrivi** in Autorizzazioni per le tabelle.**

1. Scegliere **Concedi**.

1. Ripeti questi passaggi per l'utente`DataAnalyst`, dove si trova la chiave LF-Tag e il valore è`Confidentiality`. `public`

   A questo punto, l'utente analista di dati nell'account consumatore dovrebbe essere in grado di trovare il database e il collegamento alla risorsa e di interrogare la tabella condivisa tramite la console Athena all'indirizzo. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) In caso contrario, verifica se quanto segue è configurato correttamente:
   + Il link alla risorsa viene creato per la tabella condivisa
   + Hai concesso all'utente l'accesso al tag LF condiviso dall'account produttore
   + Hai concesso all'utente l'accesso al tag LF associato al link alla risorsa e al database in cui è stato creato il link alla risorsa
   + Controlla di aver assegnato il tag LF corretto al link alla risorsa e al database in cui è stato creato il link alla risorsa

## Fase 4: Implementazione del metodo di risorsa denominato
<a name="tut-named-resource-method"></a>

Per utilizzare il metodo della risorsa denominata, ti spieghiamo i seguenti passaggi di alto livello:

1. Facoltativamente, revoca l'autorizzazione per il database, `IAMAllowedPrincipals` le tabelle e le colonne.

1. Concedi l'autorizzazione ai dati all'account consumatore.

1. Accetta una condivisione di risorse da AWS Resource Access Manager.

1. Crea un link alla risorsa per la tabella condivisa.

1. Concedi al consumatore l'autorizzazione ai dati per la tabella condivisa.

1. Concedi al consumatore l'autorizzazione ai dati per il collegamento alla risorsa.

**Revoca l'autorizzazione per `IAMAllowedPrincipals` il database, le tabelle e le colonne (facoltativo)**
+ All'inizio di questo tutorial, abbiamo modificato le impostazioni del Lake Formation Data Catalog. Se hai saltato quella parte, questo passaggio è obbligatorio. Per istruzioni, consulta il passaggio facoltativo nella sezione precedente.

**Concedi l'autorizzazione ai dati all'account consumatore**

1. 
**Nota**  
Se hai effettuato l'accesso all'account produttore come altro utente, esci prima.

   Accedi alla console di Lake Formation [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)utilizzando l'account producer data lake administrator utilizzando l' Account AWS ID, il nome utente IAM (l'impostazione predefinita è`DatalakeAdminProducer`) e la password specificati durante la creazione CloudFormation dello stack.

1. **Nella pagina **Autorizzazioni**, in **Autorizzazioni Data lake scegli Concedi**.**

1. In **Principali**, scegli **Account esterni** e inserisci una o più Account AWS IDs organizzazioni. AWS IDs Per ulteriori informazioni, vedere: [AWS Organizations](https://aws.amazon.com/organizations/).

   Le organizzazioni a cui appartiene l'account produttore e che Account AWS fanno parte della stessa organizzazione vengono visualizzate automaticamente. Altrimenti, inserisci manualmente l'ID dell'account o l'ID dell'organizzazione.

1. Per i **tag LF o le risorse del catalogo, scegliete**. `Named data catalog resources`

1. In **Database**, scegliete il database. `lakeformation_tutorial_cross_account_database_named_resource`

1. Scegli **Aggiungi tag LF**.

1. In **Tabelle, scegli **Tutte le** tabelle**.

1. Per le **autorizzazioni per le colonne della tabella**, scegli **Seleziona** e **Descrivi** in **Autorizzazioni per la tabella**.

1. Seleziona **Seleziona** e **descrivi**, in Autorizzazioni **concedibili**.

1. Facoltativamente, per le **autorizzazioni relative ai dati**, scegli **Accesso semplice basato su colonne** se è richiesta la gestione delle autorizzazioni a livello di colonna. 

1. Scegliere **Concedi**.

**Se non hai revocato l'autorizzazione per`IAMAllowedPrincipals`, viene visualizzato l'errore Grant permissions failed.** A questo punto, dovresti vedere la tabella di destinazione condivisa AWS RAM con l'account consumatore in **Autorizzazioni, Autorizzazioni dati**.

**Accetta una condivisione di risorse da AWS RAM**
**Nota**  
Questo passaggio è necessario solo per la condivisione Account AWS basata, non per la condivisione basata sull'organizzazione.

1. Accedi alla AWS console [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/)utilizzando l'amministratore del data lake dell'account consumer utilizzando il nome utente IAM (l'impostazione predefinita è DatalakeAdminConsumer) e la password specificati durante la creazione CloudFormation dello stack.

1. Sulla AWS RAM console, nel pannello di navigazione, sotto **Shared with me, Resource shares, scegli la risorsa** condivisa Lake Formation. Lo **stato** dovrebbe essere **In sospeso.**

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

1. Conferma i dettagli della risorsa e scegli **Accetta condivisione delle risorse**.

   A questo punto, l'amministratore del data lake dell'account consumer dovrebbe essere in grado di trovare la risorsa condivisa sulla console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) in **Data Catalog**, **Databases**.

**Crea un link alla risorsa per la tabella condivisa**
+ Segui le istruzioni riportate nel [Fase 3: Implementare la condivisione tra account utilizzando il metodo di controllo degli accessi basato su tag](#tut-share-tbac-method) passaggio 6 per creare un link a una risorsa per una tabella condivisa. Assegna un nome al link alla risorsa`amazon_reviews_table_named_resource_resource_link`. Crea il link alla risorsa nel database`lakeformation_tutorial_cross_account_database_consumer`.

**Concedi al consumatore l'autorizzazione ai dati per la tabella condivisa**

Per concedere al consumatore l'autorizzazione ai dati per la tabella condivisa, completa i seguenti passaggi:

1. **Nella console di Lake Formationconsole ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), in Autorizzazioni, **Autorizzazioni** **Data lake, scegli Concedi**.**

1. Per **Principal**, scegli **utenti e ruoli IAM e** scegli l'utente. `DataAnalyst`

1. Per i **tag LF o le risorse del catalogo, scegli Risorse** del catalogo **dati denominato**.

1. In **Database**, scegliete il database. `lakeformation_tutorial_cross_account_database_named_resource` Se non vedi il database nell'elenco a discesa, scegli **Carica** altro. 

1.  In **Tabelle**, scegli la tabella. `amazon_reviews_table_named_resource`

1. Per le **autorizzazioni per tabelle e colonne**, seleziona **Seleziona** e **descrivi** in **Autorizzazioni per le tabelle**.

1. Scegliere **Concedi**.

**Concedi al consumatore l'autorizzazione ai dati per il collegamento alla risorsa**

Oltre a concedere all'utente del data lake l'autorizzazione ad accedere alla tabella condivisa, è necessario concedere all'utente del data lake l'autorizzazione ad accedere al collegamento alla risorsa.

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

1. Per **Principal**, scegli **utenti e ruoli IAM e** scegli l'utente. `DataAnalyst`

1. Per i **tag LF o le risorse del catalogo, scegli Risorse** del catalogo **dati denominato**.

1. In **Database**, scegliete il database. `lakeformation_tutorial_cross_account_database_consumer` Se non vedi il database nell'elenco a discesa, scegli **Carica** altro. 

1.  In **Tabelle**, scegli la tabella. `amazon_reviews_table_named_resource_resource_link`

1. Per le **autorizzazioni relative ai collegamenti alle risorse**, seleziona **Descrivi** in **Autorizzazioni per i collegamenti alle risorse**.

1. Scegliere **Concedi**.

   A questo punto, l'utente analista di dati nell'account consumatore dovrebbe essere in grado di trovare il database e il collegamento alla risorsa e di interrogare la tabella condivisa tramite la console Athena.

   In caso contrario, verifica se quanto segue è configurato correttamente:
   + Il link alla risorsa viene creato per la tabella condivisa
   + Hai concesso all'utente l'accesso alla tabella condivisa dall'account produttore
   + Hai concesso all'utente l'accesso al collegamento alla risorsa e al database per cui è stato creato il collegamento alla risorsa

## Passaggio 5: Pulisci AWS le risorse
<a name="share-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 [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)utilizzando l'account produttore ed elimina o modifica quanto segue:
   + AWS Resource Access Manager condivisione di risorse
   + Etichette di Lake Formation
   + CloudFormation pila
   + Impostazioni Lake Formation
   + AWS Glue Data Catalog

1. Accedi alla console di Lake Formation [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)utilizzando l'account utente ed elimina o modifica quanto segue:
   + Etichette di Lake Formation
   + CloudFormation pila