

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 dei cataloghi ai cataloghi Iceberg remoti
<a name="catalog-federation"></a>

La federazione dei cataloghi AWS Glue fornisce un accesso diretto e sicuro alle tabelle Iceberg, archiviate in Amazon S3 e catalogate in cataloghi remoti, utilizzando motori di analisi. AWS La federazione dei cataloghi sincronizza i metadati tra Data Catalog e cataloghi remoti quando accedi a tabelle remote. È supportato da un'ampia varietà di motori di analisi, tra cui Amazon Redshift, Amazon EMR, Amazon Athena e motori di terze parti come Apache Spark e altri. AWS Glue

La federazione dei AWS Glue Data Catalog cataloghi comunica con i sistemi di catalogo remoti per scoprire le tabelle e Lake Formation per autorizzare l'accesso ai dati delle tabelle in Amazon S3. Quando esegui una query su una tabella federata, Data Catalog rileva le informazioni più recenti sulla tabella nel catalogo remoto al momento della query, ottenendo la posizione della tabella in Amazon S3, lo schema corrente e le informazioni sulla partizione. Il tuo motore di analisi (Amazon Athena, Amazon Redshift, Amazon EMR) utilizza quindi queste informazioni per accedere ai file di dati Iceberg direttamente da Amazon S3. Lake Formation gestisce l'accesso alle tabelle distribuendo credenziali mirate ai dati della tabella archiviati in Amazon S3, permettendo ai motori di applicare autorizzazioni granulari alle tabelle federate.

## Caratteristiche di Catalog Federation
<a name="catalog-federation-features"></a>

**Governato utilizzando Lake Formation**  
I cataloghi Federated Iceberg in Data Catalog sono risorse registrate da Lake Formation, che consentono di concedere autorizzazioni granulari a livello di riga, colonna e cella alle tabelle Iceberg nei cataloghi Iceberg federati utilizzando le sovvenzioni Lake Formation. I cataloghi Federated Iceberg e gli oggetti associati possono essere condivisi in modo sicuro tra gli account. AWS I cataloghi Federated Iceberg funzionano anche con il controllo degli accessi basato su Lake Formation Tag, che consente di scalare la governance utilizzando i tag.

**Configurazioni di rete**  
La federazione dei cataloghi supporta connessioni dirette a sorgenti di cataloghi remote utilizzando la connettività HTTPS standard. Supporta anche la connettività tramite Amazon VPC quando si desidera mantenere l'isolamento della rete e la connettività utilizzando il supporto proxy quando si desidera una comunicazione sicura attraverso i firewall dell'organizzazione.

**Topics**
+ [Caratteristiche di Catalog Federation](#catalog-federation-features)
+ [Catalogo Federate to Snowflake Iceberg](catalog-federation-snowflake.md)
+ [Federa a Databricks Unity Catalog](catalog-federation-databricks.md)

# Catalogo Federate to Snowflake Iceberg
<a name="catalog-federation-snowflake"></a>

AWS Glue Data Catalog si associa all'Snowflakeutilizzo delle OAuth2 credenziali di un responsabile del servizio. Snowflake È possibile utilizzare questa federazione per connettersi ai cataloghiSnowflake Horizon. Snowflake Polaris Questo meccanismo di autenticazione consente a Data Catalog di accedere ai metadati di vari oggetti (come cataloghi, database e tabelle) del catalogo, in base ai privilegi associati al principale del servizio. Per garantire l'accesso agli oggetti giusti, è essenziale concedere al responsabile del servizio le autorizzazioni necessarie per leggere Snowflake i metadati di questi oggetti.

## Prerequisiti
<a name="catalog-federation-snowflake-prerequisites"></a>

Prima di creare un catalogo federato in Data Catalog governato da Lake Formation, assicurati di disporre delle seguenti autorizzazioni:

Il tuo principale IAM (utente o ruolo) deve disporre delle seguenti autorizzazioni:
+ **Autorizzazioni Lake Formation** —, `lakeformation:RegisterResource` `lakeformation:DescribeResource`
+ **AWS Glue autorizzazioni** —`glue:CreateConnection`,, `glue:CreateCatalog` `glue:GetConnection` `glue:PassConnection`
+ **Autorizzazioni di Secrets Manager** —, `secretsmanager:CreateSecret` `secretsmanager:GetSecretValue`
+ **Autorizzazioni IAM** —, `iam:CreateRole` `iam:AttachRolePolicy` `iam:PassRole`

Devi essere un amministratore del data lake di Lake Formation o avere l'`CREATE_CATALOG`autorizzazione per il Data Catalog.

## Crea un catalogo federato
<a name="catalog-federation-snowflake-create"></a>

### Utilizzo della console
<a name="catalog-federation-snowflake-console"></a>

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

1. Scegli la AWS regione preferita nella sezione della pagina in alto a destra.

1. Nel riquadro di navigazione a sinistra, seleziona Cataloghi.

1. Scegli **Crea catalogo** per aprire il **flusso di lavoro Crea catalogo**.

1. Nel passaggio **Scegli l'origine dei dati**, Snowflake seleziona una delle opzioni disponibili.

1. Nel passaggio **Imposta i dettagli del catalogo**, fornisci tre informazioni: dettagli del catalogo, dettagli di connessione e dettagli di registrazione.

1. Nel contenitore dei **dettagli del catalogo**, fornisci un nome univoco al tuo catalogo AWS Glue federato e inserisci il nome del Snowflake catalogo esistente.

1. Nel contenitore dei **dettagli delle connessioni**, puoi scegliere tra una connessione esistente a cui hai accesso o fornire la configurazione per creare un nuovo connettore.

1. Le nuove configurazioni di connessione includono:
   + Nome connessione: nome univoco dell'oggetto di AWS Glue connessione.
   + URL dell'istanza: l'URL dell'endpoint dell'Snowflakeaccount esistente.
   + Autenticazione: specifica la configurazione di autenticazione AWS Glue utilizzata per la connessione al server di catalogo remoto. AWS Glue supporta sia OAuth2 l'autenticazione personalizzata.
   + URL del token: specifica l'URL del provider di identità del catalogo remoto.
   + OAuth2 ID client: specifica l'ID client della OAuth2 credenziale associata al catalogo remoto.
   + Segreto: archivia e utilizza OAuth2 il segreto del client utilizzando Gestione dei segreti AWS o immettendo il valore segreto nella casella di testo. Quando inserisci il segreto manualmente nella console, AWS Glue crea il segreto per tuo conto.
   + Ambito dell'URL del token: specifica l' OAuth ambito per l'autenticazione.
   + Catalog Casing Filter: scegli se portare oggetti in lettere minuscole o maiuscole dal catalogo remoto a Data Catalog.

1. Crea un ruolo IAM che AWS Glue i responsabili del servizio Lake Formation possano utilizzare per accedere rispettivamente alle posizioni segrete in Gestione dei segreti AWS e Amazon S3 delle tabelle Iceberg remote. Seleziona il ruolo IAM nel menu a discesa di registrazione. Fai riferimento ai passaggi 2 e 3 nella seguente sezione CLI per i dettagli delle policy IAM.

1. Seleziona Test Connection per verificare se le proprietà della connessione e l'accesso ai ruoli IAM sono configurati correttamente.

1. Seleziona **Avanti** per rivedere le impostazioni.

1. Seleziona **Crea catalogo** nella pagina di revisione.

### Utilizzo della CLI
<a name="snowflake-federation-cli"></a>

1. <a name="snowflake-step-1"></a>**Crea un Gestione dei segreti AWS segreto**

   Il AWS Glue connettore supporta due tipi di autenticazione: **OAuth2****Personalizzata**. Quando si utilizza OAuth2 l'opzione, utilizzare Gestione dei segreti AWS per memorizzare il segreto del client del principale Snowflake servizio. Successivamente utilizzerai questo segreto durante la creazione della AWS Glue connessione. Per l'autenticazione personalizzata, utilizzare Gestione dei segreti AWS per archiviare e recuperare il token di accesso.

   Nell'esempio seguente, sostituisci `your-snowflake-secret``client_secret`, `region` con le tue informazioni.

   ```
   aws secretsmanager create-secret \
   --name your-snowflake-secret \
   --description "Snowflake secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "client_secret"
   }' \
   --region region
   ```
**Nota**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`è una parola chiave riservata che viene AWS Glue utilizzata per fare riferimento a un valore segreto del client nel segreto. Usa la stessa parola chiave anche quando crei il segreto nella console di Lake Formation.

1. <a name="snowflake-step-2"></a>**Crea un ruolo IAM che dia accesso all'oggetto di AWS Glue connessione al segreto creato nel passaggio precedente**

   L'oggetto di AWS Glue connessione richiede l'accesso al Gestione dei segreti AWS segreto quando lo utilizzi Gestione dei segreti AWS per archiviare, recuperare e aggiornare il token OAuth segreto. L'oggetto di AWS Glue connessione richiede inoltre l'accesso per creare, descrivere e utilizzare le interfacce di rete Amazon VPC quando utilizzi un endpoint Amazon VPC per limitare la connettività al tuo account. Snowflake

   Crea una policy IAM e collegala a un ruolo IAM. Aggiungi AWS Glue il service principal alla policy di fiducia.

   Nell'esempio seguente `your-secrets-manager-ARN``your-vpc-id`, sostituisci e `your-subnet-id1` con le tue informazioni.  
**Example Politica IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret",
                   "secretsmanager:PutSecretValue"
               ],
               "Resource": [
                   "your-secrets-manager-ARN"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateNetworkInterface",
                   "ec2:DeleteNetworkInterface",
                   "ec2:DescribeNetworkInterfaces"
               ],
               "Resource": "*",
               "Condition": {
                   "ArnEquals": {
                       "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/your-vpc-id",
                       "ec2:Subnet": ["arn:aws:ec2:region:account-id:subnet/your-subnet-id1"]
                   }
               }
           }
       ]
   }
   ```  
**Example Policy di attendibilità**  

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

1. <a name="snowflake-step-3"></a>**Crea una policy IAM che fornisca a Lake Formation l'accesso in lettura alla posizione Amazon S3 del catalogo**

   In qualità di proprietario di un catalogo federato in Data Catalog, utilizzi Lake Formation per concedere ai tuoi team di dati l'accesso granulare alle tabelle, l'accesso granulare a livello di colonna, a livello di riga e a livello di cella e l'accesso basato su tag. Lake Formation utilizza un ruolo IAM che gli consente di accedere alle posizioni Amazon S3 sottostanti delle tabelle Iceberg remote. Questo accesso consente a Lake Formation di fornire credenziali di accesso mirate ai motori di analisi che interrogano tabelle remote.

   Crea una policy IAM e collegala a un ruolo IAM. Aggiungi il responsabile del servizio Lake Formation alla policy di trust del ruolo.

   Nell'esempio seguente, sostituisci `amzn-s3-demo-bucketN` e `your-kms-key` con le tue informazioni.  
**Example Politica IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket2/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1",
                   "arn:aws:s3:::amzn-s3-demo-bucket2"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:Encrypt"
               ],
               "Resource": [
                   "your-kms-key"
               ]
           }
       ]
   }
   ```  
**Example Policy di attendibilità**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**Nota**  
Quando utilizzi la console Lake Formation per creare un catalogo federato, la console utilizza un singolo ruolo IAM con entrambe le policy collegate per completare la configurazione.

1. <a name="snowflake-step-4"></a>**Crea un oggetto di AWS Glue connessione**

   AWS Glue supporti per connettori OAuth2 e metodi di autenticazione personalizzati. L'oggetto di connessione Data Catalog supporta una `CATALOG_CASING_FILTER` configurazione che consente di inserire oggetti in lettere minuscole o maiuscole del catalogo remoto in Data Catalog.

   L'esempio seguente utilizza la configurazione OAuth2 dell'autenticazione per creare una connessione. AWS Glue Sostituisci `highlighted sections` con le tue informazioni.

   ```
   aws glue create-connection \
       --connection-input '{
   "Name": "your-glue-connection-to-snowflake-account",
   "ConnectionType": "SNOWFLAKEICEBERGRESTCATALOG",
   "ConnectionProperties": {
       "INSTANCE_URL": "your-snowflake-account-URL",
       "ROLE_ARN": "your-IAM-role-for-secrets-and-VPC-access",
       "CATALOG_CASING_FILTER": "LOWERCASE_ONLY"
   },
   "AuthenticationConfiguration": {
       "AuthenticationType": "OAUTH2",
       "OAuth2Properties": {
           "OAuth2GrantType": "CLIENT_CREDENTIALS",
           "TokenUrl": "your-internal-or-external-token-server-url",
           "OAuth2ClientApplication": {
               "UserManagedClientApplicationClientId": "our-client-id"
           },
           "TokenUrlParametersMap": {
               "scope": "all-apis"
           }
       },
       "SecretArn": "arn:aws:secretsmanager:your-aws-region:your-aws-account-id:secret:snowflake-secret"
   }
   }'
   ```

1. <a name="snowflake-step-5"></a>**Registra AWS Glue la connessione come risorsa Lake Formation**

   Utilizzando l'oggetto di AWS Glue connessione (creato nella fase 4) e il ruolo IAM (creato nella fase 3), è ora possibile registrare l'oggetto di AWS Glue connessione come risorsa gestita da Lake Formation.

   Sostituisci `your-glue-connector-arn` e `your-IAM-role-ARN-having-LF-access` con le tue informazioni.

   ```
   aws lakeformation register-resource \
       --resource-arn your-glue-connector-arn \
       --role-arn your-IAM-role-ARN-having-LF-access \
       --with-federation \
       --with-privileged-access
   ```

1. <a name="snowflake-step-6"></a>**Crea un catalogo federato in Data Catalog**

   Dopo aver creato un oggetto di AWS Glue connessione e averlo registrato con Lake Formation, puoi creare un catalogo federato nel Data Catalog:

   Fornisci al catalogo federato un nome univoco in`your-federated-catalog-name`, fai riferimento al catalogo in Snowflake at `catalog-name-in-Snowflake` e inserisci il nome della connessione creato in precedenza in. `your-glue-connection-name`

   ```
   aws glue create-catalog \
       --name your-federated-catalog-name \
       --catalog-input '{
       "FederatedCatalog": {
           "Identifier": catalog-name-in-Snowflake",
           "ConnectionName": your-glue-connection-name"
       },
       "CreateTableDefaultPermissions": [],
       "CreateDatabaseDefaultPermissions": []
   }'
   ```

## Considerazioni relative all'integrazione con Snowflake
<a name="snowflake-considerations"></a>
+ Quando inserisci risorse (come database e tabelle)Snowflake, Lake Formation non revoca automaticamente le autorizzazioni concesse su quella risorsa federata. Per rimuovere le autorizzazioni di accesso, è necessario revocare esplicitamente le autorizzazioni precedentemente concesse alla risorsa federata utilizzando Lake Formation.
+ Quando si monta un catalogo remoto con `CATALOG_CASING_FILTER='UPPERCASE_ONLY'` configurazione, i database e le tabelle con identificatori maiuscoli sono federati ma gli oggetti con identificatori minuscoli non lo sono.
+ È possibile riutilizzare la stessa connessione per creare più cataloghi federati. AWS Glue L'eliminazione di un catalogo non eliminerà la connessione associata. Per eliminare una connessione, utilizza il `aws glue delete-connection` comando AWS CLI e assicurati che tutti i cataloghi associati vengano prima eliminati.
+ I namespace annidati nel catalogo non sono supportati. Polaris In altre parole, la federazione dei cataloghi può accedere a Iceberg tabelle remote che seguono una notazione in 3 parti. `catalog.database.table`

# Federa a Databricks Unity Catalog
<a name="catalog-federation-databricks"></a>

AWS Glue Data Catalog si associa all'Databricksutilizzo delle OAuth2 credenziali di un responsabile del servizio. Databricks Questo meccanismo di autenticazione consente di accedere AWS Glue Data Catalog ai metadati di vari oggetti (come cataloghi, database e tabelle) in Databricks Unity Catalog base ai privilegi associati all'entità del servizio. Per garantire l'accesso agli oggetti giusti, è essenziale concedere al responsabile del servizio le autorizzazioni necessarie Databricks per leggere i metadati di questi oggetti.

Successivamente, la federazione dei cataloghi consente l'individuazione e l'interrogazione delle Iceberg tabelle nel catalogo Databricks Unity. Per leggere le tabelle delta, assicurati che Iceberg i metadati siano disponibili per l'utilizzo di queste tabelle. Uniform Segui il Databricks tutorial e la documentazione per creare il principale servizio e i privilegi associati nel tuo Databricks spazio di lavoro.

## Prerequisiti
<a name="catalog-federation-databricks-prerequisites"></a>

Prima di creare un catalogo federato in Data Catalog governato da Lake Formation, assicurati di disporre delle seguenti autorizzazioni:

Il tuo principale IAM (utente o ruolo) deve disporre delle seguenti autorizzazioni:
+ **Autorizzazioni Lake Formation** —, `lakeformation:RegisterResource` `lakeformation:DescribeResource`
+ **AWS Glue autorizzazioni** —`glue:CreateConnection`,, `glue:CreateCatalog` `glue:GetConnection` `glue:PassConnection`
+ **Autorizzazioni di Secrets Manager** —, `secretsmanager:CreateSecret` `secretsmanager:GetSecretValue`
+ **Autorizzazioni IAM**:, `iam:CreateRole` `iam:AttachRolePolicy` `iam:PassRole`

Devi essere un amministratore del data lake di Lake Formation o avere l'`CREATE_CATALOG`autorizzazione per il Data Catalog

## Crea un catalogo federato
<a name="catalog-federation-databricks-create"></a>

### Utilizzo della console
<a name="catalog-federation-databricks-console"></a>

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

1. Scegli la AWS regione preferita nella sezione della pagina in alto a destra.

1. Nel riquadro di navigazione a sinistra, seleziona Cataloghi.

1. Scegli **Crea catalogo** per aprire il **flusso di lavoro Crea catalogo**.

1. Nel passaggio **Scegli l'origine dei dati**, Databricks seleziona una delle opzioni disponibili.

1. Nel passaggio **Imposta i dettagli del catalogo**, fornisci tre informazioni: dettagli del catalogo, dettagli di connessione e dettagli di registrazione.

1. Nel contenitore dei **dettagli del catalogo**, fornisci un nome univoco al tuo catalogo AWS Glue federato e inserisci il nome del Databricks catalogo esistente.

1. Nel contenitore dei **dettagli delle connessioni**, puoi scegliere tra una connessione esistente a cui hai accesso o fornire la configurazione per creare un nuovo connettore.

1. Le nuove configurazioni di connessione includono:
   + Nome connessione: nome univoco dell'oggetto di AWS Glue connessione.
   + URL dell'area di lavoro: l'URL dell'endpoint dell'area di lavoro esistenteDatabricks.
   + Autenticazione: specifica la configurazione di autenticazione AWS Glue utilizzata per la connessione al server di catalogo remoto. AWS Glue supporta sia OAuth2 l'autenticazione personalizzata.
   + URL del token: specifica l'URL del provider di identità del catalogo remoto.
   + OAuth2 ID client: specifica l'ID client della OAuth2 credenziale associata al catalogo remoto.
   + Segreto: archivia e utilizza OAuth2 il segreto del client utilizzando Gestione dei segreti AWS o immettendo il valore segreto nella casella di testo. Quando inserisci il segreto manualmente nella console, AWS Glue crea il segreto per tuo conto.
   + Ambito dell'URL del token: specifica l' OAuth ambito per l'autenticazione.

1. Crea un ruolo IAM che AWS Glue i responsabili del servizio Lake Formation possano utilizzare per accedere rispettivamente alle posizioni segrete in e Amazon S3 delle tabelle Iceberg remote. Seleziona il ruolo IAM nel menu a discesa di registrazione. Fai riferimento ai passaggi 2 e 3 nella seguente sezione CLI per i dettagli delle policy IAM.

1. Seleziona Test Connection per verificare se le proprietà della connessione e l'accesso ai ruoli IAM sono configurati correttamente. La funzionalità di test di connessione non è disponibile quando ci si connette Databricks tramite Amazon VPC.

1. Seleziona **Avanti** per rivedere le impostazioni.

1. Seleziona **Crea catalogo** nella pagina di revisione.

### Utilizzo della CLI
<a name="catalog-federation-databricks-cli"></a>

1. <a name="databricks-step-1"></a>**Crea un Gestione dei segreti AWS segreto**

   Il AWS Glue connettore supporta due tipi di autenticazione: **OAuth2****Personalizzata**. Quando si utilizza OAuth2 l'opzione, utilizzare Gestione dei segreti AWS per memorizzare il segreto del client del principale Databricks servizio. Successivamente utilizzerai questo segreto durante la creazione della AWS Glue connessione. Per l'autenticazione personalizzata, utilizzare Gestione dei segreti AWS per archiviare e recuperare il token di accesso.

   Nell'esempio seguente, sostituisci `<databricks-secret>``<client_secret>`, `<region>` con le tue informazioni.

   ```
   aws secretsmanager create-secret \
   --name <databricks-secret> \
   --description "Databricks secret" \
   --secret-string '{
   "USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<client_secret>"
   }' \
   --region <region>
   ```
**Nota**  
`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`è una parola chiave riservata che viene AWS Glue utilizzata per fare riferimento a un valore segreto del client nel segreto. Usa la stessa parola chiave anche quando crei il segreto nella console di Lake Formation. 

1. <a name="databricks-step-2"></a>**Crea un ruolo IAM che dia accesso all'oggetto di AWS Glue connessione al segreto creato nel passaggio precedente**

   L'oggetto di AWS Glue connessione richiede l'accesso al Gestione dei segreti AWS segreto quando lo utilizzi Gestione dei segreti AWS per archiviare, recuperare e aggiornare il token OAuth segreto. L'oggetto di AWS Glue connessione richiede inoltre l'accesso per creare, descrivere e utilizzare le interfacce di rete Amazon VPC quando utilizzi un endpoint Amazon VPC per limitare la connettività al tuo spazio di lavoro. Databricks

   Crea una policy IAM e collegala a un ruolo IAM. Aggiungi AWS Glue il service principal alla policy di fiducia.

   Nell'esempio seguente `<your-secrets-manager-ARN>``<your-vpc-id>`, sostituisci e `<your-subnet-id1>` con le tue informazioni.  
**Example Politica IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret",
                   "secretsmanager:PutSecretValue"
               ],
               "Resource": [
                   "<your-secrets-manager-ARN>"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateNetworkInterface",
                   "ec2:DeleteNetworkInterface",
                   "ec2:DescribeNetworkInterfaces"
               ],
               "Resource": "*",
               "Condition": {
                   "ArnEquals": {
                       "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/<your-vpc-id>",
                       "ec2:Subnet": ["arn:aws:ec2:region:account-id:subnet/<your-subnet-id1>"]
                   }
               }
           }
       ]
   }
   ```  
**Example Policy di attendibilità**  

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

1. <a name="databricks-step-3"></a>**Crea una policy IAM che fornisca a Lake Formation l'accesso in lettura alla posizione Amazon S3 del catalogo**

   In qualità di proprietario di un catalogo federato in Data Catalog, utilizzi Lake Formation per concedere ai tuoi team di dati l'accesso granulare alle tabelle, l'accesso granulare a livello di colonna, a livello di riga e a livello di cella e l'accesso basato su tag. Lake Formation utilizza un ruolo IAM che gli consente di accedere alle posizioni Amazon S3 sottostanti delle tabelle Iceberg remote. Questo accesso consente a Lake Formation di fornire credenziali di accesso mirate ai motori di analisi che interrogano tabelle remote.

   Crea una policy IAM e collegala a un ruolo IAM. Aggiungi il responsabile del servizio Lake Formation alla policy di trust dei ruoli IAM.

   Nell'esempio seguente, sostituisci `<your-s3-bucket-N>` e `<your-kms-key>` con le tue informazioni.  
**Example Politica IAM**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::<your-s3-bucket-1>/*",
                   "arn:aws:s3:::<your-s3-bucket-2>/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::<your-s3-bucket-1>",
                   "arn:aws:s3:::<your-s3-bucket-2>"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:Encrypt"
               ],
               "Resource": [
                   "<your-kms-key>"
               ]
           }
       ]
   }
   ```  
**Example Policy di attendibilità**  

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": "lakeformation.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```
**Nota**  
Quando utilizzi la console Lake Formation per creare un catalogo federato, la console utilizza un singolo ruolo IAM con entrambe le policy collegate per completare la configurazione.

1. <a name="databricks-step-4"></a>**Crea un oggetto di AWS Glue connessione**

   Data Catalog supporta ConnectionType`DATABRICKSICEBERGRESTCATALOG`: per connettere Data Catalog a. Databricks Questo AWS Glue connettore supporta metodi OAuth2 di autenticazione personalizzati.

   L'esempio seguente utilizza la configurazione OAuth2 dell'autenticazione per creare una AWS Glue connessione. Sostituisci `highlighed sections` con le tue informazioni.

   ```
   aws glue create-connection \
       --connection-input '{
   "Name": "<your-glue-connection-to-databricks-unity-account>",
   "ConnectionType": "DATABRICKSICEBERGRESTCATALOG",
   "ConnectionProperties": {
       "INSTANCE_URL": "<your-databricks-workspace-catalog-URL>",
       "ROLE_ARN": "<your-IAM-role-for-secrets-and-VPC-access>"
   },
   "AuthenticationConfiguration": {
       "AuthenticationType": "OAUTH2",
       "OAuth2Properties": {
           "OAuth2GrantType": "CLIENT_CREDENTIALS",
           "TokenUrl": "<your-internal-or-external-token-server-url>",
           "OAuth2ClientApplication": {
               "UserManagedClientApplicationClientId": "<your-client-id>"
           },
           "TokenUrlParametersMap": {
               "scope": "all-apis"
           }
       },
       "SecretArn": "arn:aws:secretsmanager:<aws-region>:<your-aws-account-id>:secret:<databricks-secret>"
   }
   }'
   ```

1. <a name="databricks-step-5"></a>**Registra AWS Glue la connessione come risorsa Lake Formation**

   Utilizzando l'oggetto di AWS Glue connessione (creato nella fase 4) e il ruolo IAM (creato nella fase 3), ora è possibile registrare l'oggetto di AWS Glue connessione come risorsa gestita da Lake Formation.

   Sostituisci `<your-glue-connector-arn>` e `<your-IAM-role-ARN-having-LF-access>` con le tue informazioni.

   ```
   aws lakeformation register-resource \
       --resource-arn <your-glue-connector-arn> \
       --role-arn <your-IAM-role-ARN-having-LF-access> \
       --with-federation \
       --with-privileged-access
   ```

1. <a name="databricks-step-6"></a>**Crea un catalogo federato in Data Catalog**

   Dopo aver creato un oggetto di AWS Glue connessione e averlo registrato con Lake Formation, puoi creare un catalogo federato nel Data Catalog:

   Fornisci al catalogo federato un nome univoco in`<your-federated-catalog-name>`, fai riferimento al catalogo in Databricks at `"<catalog-name-in-Databricks>` e inserisci il nome della connessione creato in precedenza in. `"<your-glue-connection-name>`

   ```
   aws glue create-catalog \
       --name <your-federated-catalog-name> \
       --catalog-input '{
       "FederatedCatalog": {
           "Identifier": "<catalog-name-in-Databricks>",
           "ConnectionName": "<your-glue-connection-name>"
       },
       "CreateTableDefaultPermissions": [],
       "CreateDatabaseDefaultPermissions": []
   }'
   ```

## Considerazioni relative all'integrazione con Databricks
<a name="databricks-considerations"></a>
+ Quando lasci cadere risorse (come database e tabelle) inDatabricks, Lake Formation non revoca automaticamente le autorizzazioni concesse su quella risorsa federata. Per rimuovere le autorizzazioni di accesso, è necessario revocare esplicitamente le autorizzazioni precedentemente concesse alla risorsa federata utilizzando Lake Formation.
+ Puoi interrogare le tabelle Iceberg archiviate in Amazon S3 utilizzando questa integrazione. Quando utilizzi qualsiasi altro formato di tabella o storage di oggetti, puoi federare i metadati nei cataloghi remoti AWS Glue ed elencarli nei relativi database e tabelle, ma operazioni di query come quelle che eseguono la query `SELECT ColumnFoo from TableBar` falliranno e genereranno l'errore «Failed to read table». Apache Iceberg La posizione di archiviazione degli oggetti non è supportata. '
+ È possibile riutilizzare la stessa AWS Glue connessione per creare più cataloghi federati. L'eliminazione di un catalogo non eliminerà l'oggetto di connessione associato. Per eliminare un oggetto di connessione, utilizza il `aws glue delete-connection` comando AWS CLI e assicurati che tutti i cataloghi associati vengano prima eliminati.