

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

# Federazione in fonti di dati esterne in AWS Glue Data Catalog
<a name="federated-catalog-data-connection"></a>

 Puoi connettere AWS Glue Data Catalog (Data Catalog) a data warehouse come Amazon Redshift, Snowflake, database cloud come Amazon RDS Amazon DynamoDB e Oracle e servizi di streaming come Amazon MSK e sistemi locali come Teradata utilizzando connessioni. AWS Glue Queste connessioni vengono archiviate AWS Glue Data Catalog e registrate con AWS Lake Formation, consentendoti di creare un catalogo federato per ogni fonte di dati disponibile. 

 Un *catalogo federato* è un contenitore di primo livello che punta a un database in un sistema di dati esterno. Consente di interrogare i dati direttamente dal sistema di dati esterno senza il processo di estrazione, trasformazione e caricamento (ETL). 

Per ulteriori informazioni sulle AWS Glue connessioni, consulta [Connecting to data](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) nella AWS Glue Developer Guide.

Gli amministratori di Data Lake possono creare cataloghi federati utilizzando [Amazon SageMaker ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse.html) Lakehouse o. [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/connect-to-a-data-source.html)

Gli amministratori di Data Lake possono quindi concedere autorizzazioni dettagliate sugli oggetti all'interno del catalogo utilizzando Lake Formation, controllando l'accesso a vari livelli come catalogo, database, tabella, colonna, riga o cella. Gli analisti di dati possono scoprire e interrogare le fonti di dati catalogate utilizzando Athena, con Lake Formation che applica le politiche di accesso definite. Gli analisti possono unire i dati provenienti da più fonti in un'unica query senza dover connettersi a ciascuna fonte singolarmente. 

**Topics**
+ [Flusso di lavoro](#connect-data-source-workflow)
+ [Prerequisiti per connettere il Data Catalog a fonti di dati esterne](connect-data-source-prerequisites.md)
+ [Creazione di un catalogo federato utilizzando una connessione AWS Glue](create-fed-catalog-data-source.md)
+ [Visualizzazione degli oggetti del catalogo](view-fed-glue-connection-catalog.md)
+ [Eliminazione di un catalogo federato](delete-glue-fed-catalog.md)
+ [Interrogazione di cataloghi federati](query-glue-fed-catalog.md)
+ [Risorse aggiuntive](additional-resources-fed-connection.md)

## Flusso di lavoro
<a name="connect-data-source-workflow"></a>

Un amministratore del data lake o un utente con le autorizzazioni richieste completa i seguenti passaggi per connetterli AWS Glue Data Catalog a un'origine dati esterna.

1.  Crea una AWS Glue connessione all'origine dati. Quando registri la connessione, il ruolo IAM utilizzato nella registrazione della connessione deve avere accesso alla funzione Lambda e alla posizione dello spill bucket di Amazon S3. 

1.  Registra la connessione con Lake Formation. 

1.  Crea un catalogo federato nel Data Catalog utilizzando una AWS Glue connessione per connettersi alle fonti di dati disponibili. I database, le tabelle e le viste vengono catalogati automaticamente nel Data Catalog e registrati con Lake Formation. 

1.  Concede l'accesso a cataloghi, database e tabelle specifici agli analisti di dati utilizzando le autorizzazioni di Lake Formation. È possibile definire politiche di controllo degli accessi granulari tra data lake, warehouse e fonti OLTP utilizzando Lake Formation, abilitando filtri di sicurezza a livello di riga e colonna. 

    Gli analisti di dati possono quindi accedere a tutti i dati tramite il Data Catalog utilizzando le query SQL in Athena, senza bisogno di connessioni separate o credenziali di origine dati. Gli analisti possono eseguire query SQL federate che analizzano i dati da più fonti, unendo i dati sul posto senza pipeline di dati complesse. 

# Prerequisiti per connettere il Data Catalog a fonti di dati esterne
<a name="connect-data-source-prerequisites"></a>

Per connetterli AWS Glue Data Catalog a fonti di dati esterne, registrare la connessione con Lake Formation e configurare cataloghi federati, devi soddisfare i seguenti requisiti:
**Nota**  
Consigliamo a un amministratore del data lake di Lake Formation di creare le AWS Glue connessioni per connettersi a fonti di dati esterne e creare i cataloghi federati. 

1. 

**Creare ruoli IAM.**
   +  Crea un ruolo con le autorizzazioni necessarie per distribuire le risorse (funzione Lambda, Amazon S3 spill bucket, ruolo IAM e AWS Glue connessione) necessarie per creare una connessione all'origine dati esterna. 
   + Crea un ruolo con le autorizzazioni minime necessarie per accedere alle proprietà della AWS Glue connessione (la funzione Lambda e lo spill bucket di Amazon S3). Questo è il ruolo che includerai quando registrerai la connessione con Lake Formation.

     Per utilizzare Lake Formation per gestire e proteggere i dati nel tuo data lake, devi registrare la AWS Glue connessione con Lake Formation. In questo modo, Lake Formation può fornire credenziali ad Amazon Athena per interrogare le fonti di dati federate. 

     Il ruolo deve avere `Select` o `Describe` autorizzazioni sul bucket Amazon S3 e sulla funzione Lambda.
     +  s3: ListBucket 
     + s3: GetObject
     +  lambda: InvokeFunction 

------
#### [ JSON ]

****  

     ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Action": [
             "s3:*"
           ],
           "Resource": [
             "arn:aws:s3:::amzn-s3-demo-bucket1/object/*",
             "arn:aws:s3:::amzn-s3-demo-bucket1/object"
           ]
         },
         {
           "Sid": "lambdainvoke",
           "Effect": "Allow",
           "Action": "lambda:InvokeFunction",
           "Resource": "arn:aws:lambda:us-east-1:123456789012:function:example-lambda-function"
         },
         {
           "Sid": "gluepolicy",
           "Effect": "Allow",
           "Action": "glue:*",
           "Resource": "*"
         }
       ]
     }
     ```

------
   + Aggiungi la seguente politica di fiducia al ruolo IAM utilizzato nella registrazione della connessione:

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Principal": {
                     "Service": [
                         "lakeformation.amazonaws.com"
                   ]
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```

------
   + L'amministratore del data lake che registra la connessione deve disporre dell'`iam:PassRole`autorizzazione per il ruolo.

     Di seguito è riportata una politica in linea che concede questa autorizzazione. Sostituiscilo *<account-id>* con un numero di AWS account valido e *<role-name>* sostituiscilo con il nome del ruolo.

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "PassRolePermissions",
                 "Effect": "Allow",
                 "Action": [
                     "iam:PassRole"
                 ],
                 "Resource": [
                     "arn:aws:iam::111122223333:role/example-role-name>"
                 ]
             }
         ]
     }
     ```

------
   +  Per creare cataloghi federati in Data Catalog, assicurati che il ruolo IAM che stai utilizzando sia un amministratore del data lake di Lake Formation controllando le impostazioni del data lake ()`aws lakeformation get-data-lake-settings`.

      Se non sei un amministratore di data lake, hai bisogno dell'`CREATE_CATALOG`autorizzazione Lake Formation per creare un catalogo. L'esempio seguente mostra come concedere le autorizzazioni necessarie per creare cataloghi. 

     ```
     aws lakeformation grant-permissions \
     --cli-input-json \
             '{
                 "Principal": {
                  "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/non-admin"
                 },
                 "Resource": {
                     "Catalog": {
                     }
                 },
                 "Permissions": [
                     "CREATE_CATALOG",
                     "DESCRIBE"
                 ]
             }'
     ```

1. Aggiungi la seguente politica chiave alla AWS KMS chiave se utilizzi una chiave gestita dal cliente per crittografare i dati nell'origine dati. Sostituisci il numero di account con un numero di AWS account valido e specifica il nome del ruolo. Per impostazione predefinita, i dati vengono crittografati utilizzando una chiave KMS. Lake Formation offre un’opzione per creare una chiave KMS personalizzata per la crittografia. Se utilizzi una chiave gestita dal cliente, devi aggiungere politiche chiave specifiche alla chiave. 

   Per ulteriori informazioni relative alla gestione delle autorizzazioni di una chiave gestita dal cliente, consulta [Customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Encrypt",
                   "kms:Decrypt",
                   "kms:ReEncrypt*",
                   "kms:GenerateDataKey*",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-1"
           }
       ]
   }
   ```

------

# Creazione di un catalogo federato utilizzando una connessione AWS Glue
<a name="create-fed-catalog-data-source"></a>

 Per connetterla AWS Glue Data Catalog a fonti di dati esterne, è necessario utilizzare AWS Glue connessioni che consentano la comunicazione con le fonti di dati esterne. Puoi creare AWS Glue connessioni utilizzando la AWS Glue console, l'API [Create connection](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateConnection.html) e la console Amazon SageMaker Lakehouse. 

Per istruzioni dettagliate sulla creazione di una AWS Glue connessione, consulta [Connessione ai dati](https://docs.aws.amazon.com/glue/latest/dg/glue-connections.html) nella Guida per gli AWS Glue sviluppatori o [Creazione di connessioni in Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html). 

Quando un utente esegue una query su tabelle federate, Lake Formation invia credenziali che richiamano una AWS Lambda funzione specificata nella AWS Glue connessione per recuperare oggetti di metadati dall'origine dati. 

------
#### [ Console di gestione AWS ]

**Per creare un catalogo federato da un'origine dati esterna e impostare le autorizzazioni (console)**

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Nel riquadro di navigazione, scegli **Catalogs** in **Data Catalog**.

1. Seleziona l'opzione **Crea catalogo**. 

1. Nella pagina dei dettagli di **Set Catalog**, inserite le seguenti informazioni:   
![\[La pagina di creazione del catalogo con opzioni.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/create-glue-connection-catalog.png)
   + **Nome**: un nome univoco per il tuo catalogo federato. Il nome non può essere modificato e deve essere scritto in minuscolo. Il nome può essere composto da un massimo di 255 caratteri. account. 
   + **Tipo**: scegli il catalogo federato come tipo di catalogo.
   + **Fonte**: scegli una fonte di dati dal menu a discesa. Vengono visualizzate le origini dati per le quali sono state create connessioni. Per ulteriori informazioni sulla creazione di una AWS Glue connessione a un'origine dati esterna, consulta [Creazione di connessioni per connettori](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) nella Guida per gli AWS Glue sviluppatori o [Creazione di connessioni in Amazon SageMaker Lakehouse](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/lakehouse-create-connection.html).
   + **Connessione**: scegli una AWS Glue connessione esistente all'origine dati.
   + **Descrizione**: immetti una descrizione per il catalogo creato dalla fonte di dati.

1. Scegli un **ruolo IAM** che Lake Formation assuma per vendere le credenziali al motore di interrogazione per accedere ai dati dalla fonte dati. Questo ruolo deve disporre delle autorizzazioni necessarie per accedere alla AWS Glue connessione e richiamare la funzione Lambda per accedere ai dati dall'origine dati esterna.

   Puoi anche **creare un nuovo ruolo nella console** IAM.

   Consulta la [Prerequisiti per connettere il Data Catalog a fonti di dati esterne](connect-data-source-prerequisites.md) sezione per le autorizzazioni richieste.

1.  Seleziona l'opzione **Attiva il connettore per connetterti all'origine dati** per consentire ad Athena di eseguire query federate.

   Per l'elenco dei connettori supportati, consulta [Registra la tua connessione](https://docs.aws.amazon.com/athena/latest/ug/register-connection-as-gdc.html) nella Guida per l'utente di Amazon Athena. 

1. **Opzioni di crittografia**: scegli l'opzione **Personalizza le impostazioni di crittografia** se desideri utilizzare una chiave personalizzata per crittografare il catalogo. Per utilizzare una chiave personalizzata, è necessario aggiungere una policy della chiave gestita personalizzata alla propria chiave KMS. 

1. Scegli **Avanti** per concedere le autorizzazioni ad altri principali. 

1. **Nella pagina **Concedi autorizzazioni**, scegli Aggiungi autorizzazioni.**

1.  Nella schermata **Aggiungi autorizzazioni**, scegli i principali e i tipi di autorizzazioni da concedere.   
![\[La pagina delle autorizzazioni del catalogo con le opzioni principali di tipo e concessione.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/catalog-permissions.png)
   +  Nella sezione **Principali**, scegli un tipo di principale e quindi specifica i principali per concedere le autorizzazioni. 
     + **Utenti e ruoli IAM**: scegli uno o più utenti o ruoli dall’elenco degli utenti e dei ruoli IAM.
     + **Utenti e gruppi SAML**: per SAML e Amazon Quick utenti e gruppi, inserisci uno o più Amazon Resource Names (ARNs) per utenti o gruppi federati tramite SAML o per utenti o gruppi ARNs Amazon Quick. Premi **Invio** dopo ogni ARN. 
   +  Nella sezione **Autorizzazioni**, seleziona le autorizzazioni e le autorizzazioni concedibili.

     In **Autorizzazioni del catalogo**, seleziona una o più autorizzazioni da concedere.

     Scegli **Super utente** per concedere autorizzazioni amministrative illimitate su tutte le risorse all’interno del catalogo.

      In Autorizzazioni **concedibili, seleziona le autorizzazioni che il destinatario della sovvenzione** può concedere agli altri responsabili del proprio account. AWS Questa opzione non è supportata quando si concedono autorizzazioni a un principale IAM da un account esterno. 

1. Scegli **Avanti** per esaminare le informazioni e creare il catalogo. L'elenco dei **cataloghi** mostra il nuovo catalogo federato.

   L'elenco delle **posizioni dei dati** mostra la connessione federata appena registrata.  
![\[L'elenco delle posizioni dati con le connessioni federate.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/federated_data_lake_location.png)

------
#### [ AWS CLI ]

**Per creare un catalogo federato da un'origine dati esterna e impostare le autorizzazioni**

1.  L'esempio seguente mostra come creare una AWS Glue connessione. 

   ```
   aws glue create-connection 
     --connection-input \
         '{
            "Name": "DynamoDB connection",
            "ConnectionType": "DYNAMODB",
            "Description": "A connection created for DynamoDB",
            "ConnectionProperties": {},
            "AthenaProperties": "spill_prefix": "your_spill_prefix",
            "lambda_function_arn": "Lambda_function_arn",
            "spill_bucket": "Your_Bucket_name",
            "AuthenticationConfiguration": {}
         }'
   ```

1.  L'esempio seguente mostra come registrare una AWS Glue connessione con Lake Formation. 

   ```
   aws lakeformation register-resource 
     --cli-input-json \
       {"ResourceArn":"arn:aws:glue:us-east-1:123456789012:connection/dynamo","RoleArn":"arn:aws:iam::123456789012:role/AdminTelemetry","WithFederation":true}
   ```

1.  L'esempio seguente mostra come creare un catalogo federato. 

   ```
   aws glue create-catalog 
    --cli-input-json \
         '{
          "Name":"ddbcatalog",
          "CatalogInput":{"CatalogProperties":{"DataLakeAccessProperties":{"DataTransferRole":"arn:aws:iam::123456789012:role/role name"}},
          "CreateDatabaseDefaultPermissions":[],
          "CreateTableDefaultPermissions":[],
          "FederatedCatalog":{"ConnectionName":"dynamo","Identifier":"dynamo"}
            }
          }'
   ```

------

# Visualizzazione degli oggetti del catalogo
<a name="view-fed-glue-connection-catalog"></a>

Per ogni fonte di dati disponibile, AWS Glue crea un catalogo corrispondente in. AWS Glue Data Catalog Dopo aver creato un catalogo, puoi visualizzare i database e le tabelle nel catalogo utilizzando la console Lake Formation o AWS CLI. In 

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Scegli **Catalogs** in Data Catalog. La pagina dei cataloghi mostra i cataloghi per i quali disponi delle autorizzazioni.  
![\[Visualizza i cataloghi.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/view-catalogs.png)

1. Scegliete un catalogo dall'elenco per visualizzare i database e le tabelle in esso contenuti. L'elenco contiene i database presenti nell'account e i collegamenti alle risorse, che sono collegamenti a database e tabelle condivisi negli account esterni e vengono utilizzati per l'accesso tra account diversi ai dati nel data lake.  
![\[Visualizza cataloghi/database.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/catalog-database-view.png)

1. Scegli l'opzione **Tabelle** in **Visualizza** per visualizzare e gestire le tabelle nel database. 

****AWS CLI esempi per la visualizzazione di cataloghi e database****  
L'esempio seguente mostra come visualizzare un catalogo utilizzando AWS CLI 

```
aws glue get-catalog \
--catalog-id 123456789012:dynamodbcatalog
```

L'esempio seguente mostra come richiedere tutti i cataloghi dell'account.

```
aws glue get-catalogs \
 --recursive
```

La seguente richiesta di esempio mostra come ottenere i database nel catalogo.

```
aws glue get-database \
--catalog-id 123456789012:dynamodbcatalog
--database-name database name
```

# Eliminazione di un catalogo federato
<a name="delete-glue-fed-catalog"></a>

 È possibile eliminare i cataloghi federati creati AWS Glue Data Catalog utilizzando l'`glue:DeleteCatalog`operazione o la console. AWS Lake Formation 

**Per eliminare un catalogo federato (console)**

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Nel riquadro di navigazione, scegli **Catalogs** in **Data Catalog**.

1. Scegli il catalogo che desideri eliminare dall'elenco dei cataloghi.

1. Scegli **Elimina** da **Azioni**. 

1. Scegli **Elimina** per confermare e il catalogo federato verrà eliminato dal Data Catalog.  
![\[La conferma dell'eliminazione del catalogo.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/delete-fed-catalog.png)

**Per eliminare un catalogo federato (CLI)**
+ 

  ```
  aws glue delete-catalog 
    --catalog-id 123456789012:catalog name
  ```

# Interrogazione di cataloghi federati
<a name="query-glue-fed-catalog"></a>

Dopo aver concesso le autorizzazioni ad altri responsabili, questi possono accedere e iniziare a interrogare le tabelle nei cataloghi federati utilizzando Athena.

Per creare ed eliminare tabelle nel database federato, il principale deve disporre delle `Drop` autorizzazioni di Lake Formation`Create table`.

 Per ulteriori informazioni sulla concessione delle autorizzazioni di Data Catalog, consulta. [Concessione delle autorizzazioni per le risorse del Data Catalog](granting-catalog-permissions.md) 

Per ulteriori informazioni sull'interrogazione del catalogo dati da Amazon Athena, consulta [Interrogazione AWS Glue Data CatalogAmazon Athena](https://docs.aws.amazon.com/athena/latest/ug/gdc-register.html) nella Guida per l'utente di Amazon Athena. 

# Risorse aggiuntive
<a name="additional-resources-fed-connection"></a>

 In questo post del blog, mostriamo come gli analisti di dati possono ora accedere e interrogare in modo sicuro i dati archiviati all'esterno dei data lake S3, inclusi i data warehouse e i Amazon DynamoDB database di Amazon Redshift, il tutto attraverso un'unica esperienza unificata. Gli amministratori possono ora applicare controlli di accesso a diversi livelli di granularità per garantire che i dati sensibili rimangano protetti ampliando al contempo l'accesso ai dati. Ciò consente alle organizzazioni di accelerare le iniziative relative ai dati mantenendo al contempo la sicurezza e la conformità, portando a un processo decisionale più rapido e basato sui dati. 
+ [Cataloga e gestisci le query federate di Amazon Athena con Amazon Lakehouse SageMaker ](https://aws.amazon.com/blogs/big-data/catalog-and-govern-amazon-athena-federated-queries-with-amazon-sagemaker-lakehouse/)