

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

# Configurare l'accesso tra account ai cataloghi di AWS Glue dati
<a name="security-iam-cross-account-glue-catalog-access"></a>

Puoi utilizzare la funzionalità di AWS Glue catalogo per più account di Athena per registrare un AWS Glue catalogo da un account diverso dal tuo. Dopo aver configurato le autorizzazioni IAM richieste per AWS Glue e registrato il catalogo come risorsa Athena [DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html), puoi utilizzare Athena per eseguire query tra account. Per informazioni sull'utilizzo della console Athena per registrare un catalogo da un altro account, consulta la sezione [Registrare un catalogo dati da un altro account](data-sources-glue-cross-account.md).

*Per ulteriori informazioni sull'accesso su più account in AWS Glue, consulta [Garantire l'accesso su più account nella Guida](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html) per gli sviluppatori.AWS Glue *

## Prima di iniziare
<a name="security-iam-cross-account-glue-catalog-access-before-you-start"></a>

Poiché questa funzionalità utilizza le `DataCatalog` risorse APIs e le funzionalità Athena esistenti per consentire l'accesso tra account diversi, ti consigliamo di leggere le seguenti risorse prima di iniziare:
+ [Connessione alle origini dati](work-with-data-stores.md)- Contiene argomenti sull'utilizzo di Athena con sorgenti di AWS Glue cataloghi dati Hive o Lambda.
+ [Policy di esempio del catalogo dati](datacatalogs-example-policies.md): mostra come scrivere policy che controllano l'accesso ai cataloghi dati.
+ [Usalo AWS CLI con Hive metastores](datastores-hive-cli.md)- Mostra come utilizzare i metastore AWS CLI with Hive, ma contiene casi d'uso applicabili ad altre fonti di dati.

## Considerazioni e limitazioni
<a name="security-iam-cross-account-glue-catalog-access-considerations-and-limitations"></a>

Attualmente, l'accesso al AWS Glue catalogo tra più account di Athena presenta le seguenti limitazioni:
+ La funzionalità è disponibile solo Regioni AWS laddove è supportata la versione 2 o successiva del motore Athena. Per ulteriori informazioni sulle versioni del motore Athena, consulta [Controllo delle versioni del motore di Athena](engine-versions.md). Per aggiornare la versione del motore di un gruppo di lavoro, consulta [Modificare le versioni del motore Athena](engine-versions-changing.md).
+ Quando registri un altro account AWS Glue Data Catalog nel tuo account, crei una `DataCatalog` risorsa regionale collegata ai dati dell'altro account solo in quella particolare regione.
+ Attualmente le istruzioni `CREATE VIEW` che includono un catalogo AWS Glue multi-account non sono supportate.
+ I cataloghi crittografati utilizzando chiavi AWS gestite non possono essere interrogati su più account. Per i cataloghi da interrogare su più account, utilizza invece le chiavi gestite dai clienti (`KMS_CMK`). *Per informazioni sulle differenze tra chiavi gestite dal cliente e AWS chiavi gestite, consulta [Customer keys and AWS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt                     ) nella Developer Guide.AWS Key Management Service * 

## Nozioni di base
<a name="security-iam-cross-account-glue-catalog-getting-started"></a>

Nello scenario seguente, l'account «mutuatario» (88886666) desidera eseguire una `SELECT` query che si riferisce al AWS Glue catalogo che appartiene all'account «proprietario» (9999), come nell'esempio seguente:

```
SELECT * FROM ownerCatalog.tpch1000.customer
```

Nella procedura seguente, i passaggi 1a e 1b mostrano come concedere all'account del mutuatario l'accesso alle AWS Glue risorse dell'account proprietario, sia dal lato del mutuatario che dal lato del proprietario. L'esempio concede l'accesso al database `tpch1000` e alla tabella `customer`. Modifica questi nomi di esempio in base alle proprie esigenze.

### Fase 1a: Creare un ruolo di mutuatario con una politica di accesso alle risorse del proprietario AWS Glue
<a name="security-iam-cross-account-glue-catalog-access-step-1a"></a>

[Per creare un ruolo di account mutuatario con una politica di accesso alle AWS Glue risorse dell'account proprietario, puoi utilizzare la console AWS Identity and Access Management (IAM) o l'API IAM.](https://docs.aws.amazon.com/IAM/latest/APIReference/API_Operations.html) La seguente procedura usa la console IAM.

**Per creare un ruolo e una politica del mutuatario per accedere alle risorse dell'account proprietario AWS Glue**

1. Accedi alla console IAM [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)dall'account del mutuatario.

1. Nel riquadro di navigazione, espandi **Gestione accesso**, quindi seleziona **Policy**.

1. Scegli **Crea policy**.

1. Per **Editor di policy**, scegli **JSON**.

1. Nella casella inserire la policy seguente, quindi modificarla in base alle proprie esigenze:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "glue:*",
               "Resource": [
                   "arn:aws:glue:us-east-1:999999999999:catalog",
                   "arn:aws:glue:us-east-1:999999999999:database/tpch1000",
                   "arn:aws:glue:us-east-1:999999999999:table/tpch1000/customer"
               ]
           }
       ]
   }
   ```

------

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

1. Nella pagina **Rivedi e crea**, per **Nome policy** inserisci un nome per la policy (per esempio, **CrossGluePolicyForBorrowerRole**).

1. Scegli **Crea policy**.

1. Nel pannello di navigazione, seleziona **Roles** (Ruoli).

1. Selezionare **Create role (Crea ruolo)**.

1. Sulla pagina **Select trusted entity**, scegliere **Account AWS**, e quindi **Next**.

1. Nella pagina **Aggiungi autorizzazioni**, inserisci il nome della policy creata nella casella di ricerca (ad esempio, **CrossGluePolicyForBorrowerRole**).

1. Selezionare la casella di controllo accanto alla nuova policy, quindi scegliere **Next: Tags (Successivo: Tag)**.

1. Nella pagina **Name, review, and create** (Nome, revisione e creazione), per **Role name** (Nome ruolo) inserisci un nome per il ruolo (ad esempio **CrossGlueBorrowerRole**).

1. Scegli **Crea ruolo**.

### Fase 1b: Creare una politica relativa al proprietario per concedere AWS Glue l'accesso al mutuatario
<a name="security-iam-cross-account-glue-catalog-access-step-1b"></a>

Per concedere AWS Glue l'accesso dall'account del proprietario (ISSIM9999) al ruolo del mutuatario, puoi utilizzare la console o il funzionamento dell' AWS Glue API. AWS Glue [PutResourcePolicy](https://docs.aws.amazon.com/glue/latest/webapi/API_PutResourcePolicy.html) La procedura seguente utilizza la console. AWS Glue 

**Per concedere AWS Glue l'accesso al conto del mutuatario da parte del proprietario**

1. Accedi alla AWS Glue console [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)dall'account del proprietario.

1. Nel riquadro di navigazione, espandi **Data Catalog**, quindi seleziona **Impostazioni catalogo**.

1. Nel campo **Autorizzazioni** inserisci una policy simile alla seguente. Per*rolename*, inserisci il ruolo che il mutuatario ha creato nella Fase 1a (ad esempio,). **CrossGlueBorrowerRole** Se desideri aumentare l'ambito delle autorizzazioni, puoi utilizzare il carattere jolly `*` sia per il database che per i tipi di risorse della tabella.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::666666666666:user/username",
                       "arn:aws:iam::666666666666:role/rolename"
                   ]
               },
               "Action": "glue:*",
               "Resource": [
                   "arn:aws:glue:us-east-1:999999999999:catalog",
                   "arn:aws:glue:us-east-1:999999999999:database/tpch1000",
                   "arn:aws:glue:us-east-1:999999999999:table/tpch1000/customer"
               ]
           }
       ]
   }
   ```

------

Dopo aver terminato, utilizza l’[API AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api.html) per effettuare alcune chiamate di test tra gli account per confermare che le autorizzazioni sono configurate come previsto.

### Fase 2: Il mutuatario registra l'account che appartiene al AWS Glue Data Catalog proprietario
<a name="security-iam-cross-account-glue-catalog-access-step-2"></a>

La procedura seguente illustra come utilizzare la console Athena per configurare AWS Glue Data Catalog nell'account Amazon Web Services del proprietario come origine dei dati. Per informazioni sull'utilizzo delle operazioni API anziché sulla console per registrare il catalogo, consulta la sezione [Utilizzo dell’API per registrare un catalogo dati Athena appartenente all’account del proprietario](#security-iam-cross-account-glue-catalog-access-step-2-api).

**Per registrare un' AWS Glue Data Catalog appartenenza a un altro account**

1. Apri la console Athena all'indirizzo [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Se il pannello di navigazione della console non è visibile, scegli il menu di espansione a sinistra.  
![\[Scegli il menu di espansione.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/nav-pane-expansion.png)

1. Espandi **Amministrazione**, quindi seleziona **Origini dati**.

1. Nell'angolo in alto a destra, scegli **Create data source** (Crea origine dei dati).

1. Nella pagina **Scegli un'origine dati**, per **Origini dati**, seleziona **S3 - AWS Glue Data Catalog**, quindi scegli **Avanti**.

1. Nella pagina **Inserisci dettagli origine dati**, nella sezione **AWS Glue Data Catalog**, per **Scegli un AWS Glue Data Catalog**, seleziona **AWS Glue Data Catalog in un altro account**.

1. Per **Dataset details** (Dettagli del set di dati), fornisci le seguenti informazioni:
   + **Nome origine dati**: inserisci il nome che desideri utilizzare nelle query SQL per fare riferimento al catalogo dati nell'altro account.
   + **Descrizione** — (Facoltativo) Inserisci una descrizione del catalogo dati nell'altro account.
   + **ID catalogo** — Inserisci l'ID account Amazon Web Services a 12 cifre dell'account a cui appartiene il catalogo dati. L'ID dell'account Amazon Web Services è l'ID del catalogo.

1. (Facoltativo) Espandi **Tag**, quindi inserisci le coppie chiave-valore che intendi associare all'origine dati. Per ulteriori informazioni sui tag, consulta [Assegnare tag alle risorse di Athena](tags.md).

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

1. Nella pagina **Review and create** (Rivedi e crea), esamina le informazioni inserite, quindi scegli **Create data source** (Crea origine dei dati). La pagina **Data source details** (Dettagli sull'origine dei dati) elenca i database e i tag per il catalogo dati registrato.

1. Scegliere **Data sources and catalogs** Il catalogo dati che hai registrato è elencato nella colonna **Data source name** (Nome origine dei dati).

1. Per visualizzare o modificare le informazioni sul catalogo dati, scegli il catalogo, quindi scegli **Actions** (Operazioni), **Edit** (Modifica).

1. Per eliminare il nuovo catalogo dati, scegli il catalogo, quindi scegli **Actions** (Operazioni), **Delete** (Elimina).

### Passaggio 3: il mutuatario invia una query
<a name="security-iam-cross-account-glue-catalog-access-step-4"></a>

Il mutuatario invia una query che fa riferimento al catalogo utilizzando il. *catalog* *database*. *table*sintassi, come nell'esempio seguente:

```
SELECT * FROM ownerCatalog.tpch1000.customer
```

Invece di utilizzare la sintassi completa, il mutuatario può anche specificare il catalogo contestualmente passandolo tramite. [QueryExecutionContext](https://docs.aws.amazon.com/athena/latest/APIReference/API_QueryExecutionContext.html)

## (Facoltativo) Configurazione di autorizzazioni Amazon S3 aggiuntive
<a name="security-iam-cross-account-glue-catalog-access-additional-s3-permissions"></a>
+ Se l’account mutuatario utilizza una query Athena per scrivere nuovi dati in una tabella nell’account proprietario, il proprietario non avrà automaticamente accesso a questi dati in Amazon S3, anche se la tabella esiste nell’account del proprietario. Questo perché il mutuatario è il proprietario dell’oggetto delle informazioni in Amazon S3, se non diversamente configurato. Per concedere al proprietario l’accesso ai dati, imposta le autorizzazioni per gli oggetti come passaggio aggiuntivo.
+ Alcune operazioni DDL tra account come[MSCK REPAIR TABLE](msck-repair-table.md) richiedono autorizzazioni Amazon S3. Ad esempio, se l’account mutuatario sta eseguendo un’operazione `MSCK REPAIR` tra account su una tabella nell’account del proprietario che contiene i dati in un bucket S3 dell’account del proprietario, tale bucket deve concedere al ruolo assunto dal mutuatario le autorizzazioni affinché la query abbia esito positivo.

Per ulteriori informazioni sulla concessione di autorizzazioni per il bucket, consulta [Come impostare le autorizzazioni ACL per un bucket](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-bucket-permissions.html) nella *Guida per l'utente di Amazon Simple Storage Service*.

## (Facoltativo) Usa un catalogo in modo dinamico
<a name="security-iam-cross-account-glue-catalog-access-dynamic-catalogs"></a>

In alcuni casi potresti voler eseguire rapidamente test su un catalogo AWS Glue tra account senza la registrazione necessaria a tal fine. È possibile eseguire dinamicamente query tra account senza creare l'oggetto della risorsa `DataCatalog` se le autorizzazioni IAM e Amazon S3 richieste sono configurate correttamente come descritto in precedenza in questo documento.

Per fare riferimento esplicitamente a un catalogo senza registrazione, utilizza la sintassi nell'esempio seguente:

```
SELECT * FROM "glue:arn:aws:glue:us-east-1:999999999999:catalog".tpch1000.customer
```

Usa il formato"`glue:<arn>`", dove `<arn>` è l'[ARN di AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html#data-catalog-resource-arns) che si desidera utilizzare. Nell'esempio, Athena utilizza questa sintassi per puntare dinamicamente al catalogo AWS Glue dati dell'account 9999 come se avessi creato separatamente un oggetto per esso. `DataCatalog`

### Note per l'utilizzo di cataloghi dinamici
<a name="security-iam-cross-account-glue-catalog-access-notes-dynamic-catalogs"></a>

Quando utilizzi i cataloghi dinamici, ricorda i seguenti punti.
+ L'utilizzo di un catalogo dinamico richiede le autorizzazioni IAM normalmente utilizzate per le operazioni dell'API Athena Catalogo dati. La differenza principale è che il nome della risorsa Catalogo dati segue la convenzione di denominazione `glue:*`.
+ Il catalogo ARN deve appartenere alla stessa Regione in cui viene eseguita la query.
+ Quando si utilizza un catalogo dinamico in una query o visualizzazione DML, racchiuderlo con virgolette doppie basse (`\"`). Quando si utilizza un catalogo dinamico in una query DDL, circondalo con caratteri di backtick (```).

## Utilizzo dell’API per registrare un catalogo dati Athena appartenente all’account del proprietario
<a name="security-iam-cross-account-glue-catalog-access-step-2-api"></a>

Invece di utilizzare la console Athena come descritto nel passaggio 2, puoi utilizzare le operazioni API per registrare il catalogo dati che appartiene all'account del proprietario.

Il creatore della [DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html)risorsa Athena deve disporre delle autorizzazioni necessarie per eseguire l'operazione API Athena. [CreateDataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateDataCatalog.html) A seconda delle esigenze, potrebbe essere necessario accedere a operazioni API aggiuntive. Per ulteriori informazioni, consulta [Policy di esempio del catalogo dati](datacatalogs-example-policies.md).

Il seguente ente di `CreateDataCatalog` richiesta registra un AWS Glue catalogo per l'accesso su più account:

```
# Example CreateDataCatalog request to register a cross-account Glue catalog:
{
    "Description": "Cross-account Glue catalog",
    "Name": "ownerCatalog",
    "Parameters": {"catalog-id" : "999999999999"  # Owner's account ID
    },
    "Type": "GLUE"
}
```

Il codice di esempio seguente utilizza un client Java per creare l'oggetto `DataCatalog`.

```
# Sample code to create the DataCatalog through Java client
CreateDataCatalogRequest request = new CreateDataCatalogRequest()
    .withName("ownerCatalog")
    .withType(DataCatalogType.GLUE)
    .withParameters(ImmutableMap.of("catalog-id", "999999999999"));

athenaClient.createDataCatalog(request);
```

Dopo questi passaggi, il mutuatario dovrebbe vedere `ownerCatalog` quando chiama l'operazione API. [ListDataCatalogs](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListDataCatalogs.html)

## Risorse aggiuntive
<a name="security-iam-cross-account-glue-catalog-access-additional-resources"></a>
+ [Registrare un catalogo dati da un altro account](data-sources-glue-cross-account.md)
+ [Configura l'accesso tra account a un account condiviso AWS Glue Data Catalog con Amazon Athena](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/configure-cross-account-access-to-a-shared-aws-glue-data-catalog-using-amazon-athena.html) nella guida *Prescriptive AWS Guidance* Patterns.
+ [Esegui query su AWS Glue Data Catalog più account utilizzando Amazon Athena](https://aws.amazon.com/blogs/big-data/query-cross-account-aws-glue-data-catalogs-using-amazon-athena/) nel blog sui Big *AWS Data*
+ [Concessione dell'accesso multi-account](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html) *nella Guida per gli sviluppatori di AWS Glue * 