

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

# Collegare Athena a IAM Identity Center
<a name="using-trusted-identity-propagation-setup"></a>

La sezione seguente elenca il processo di collegamento di Athena a IAM Identity Center.

## Impostare emittente di token affidabile
<a name="using-trusted-identity-propagation-step1"></a>

Seguire la guida [Impostare un emittente attendibile di token](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) per configurare un emittente di token attendibile. Questo creerà un AWS IAM Identity Center.

**Nota**  
Per **Tipo provider**, scegliere **OpenID Connect**. Per **URL Provider**, inserire l’URL dell’emittente del proprio provider di identità. Per **Audience**, specificare l’ID cliente rilasciato dal provider di identità per la propria app.  
 

Copia l'Application Resource Name (ARN) per il provider di identità AWS IAM. Per ulteriori informazioni, consulta [Provider di identità e federazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html).

## Configurare ruoli IAM
<a name="using-trusted-identity-propagation-step2"></a>

### Impostare il ruolo dell’applicazione IAM
<a name="using-trusted-identity-propagation-step2-application-role"></a>

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione sinistro, scegliere **Roles**, quindi **Create role**.

1. Per **Trusted entity type**, scegli **Custom trust policy**.

   1. Per **Federated Principal**, aggiungere l’ARN AWS per il provider di identità IAM copiato durante la configurazione dell’emittente di token attendibile.

   1. Per verificare le condizioni del policy, aggiungere l’audience del provider di identità federato esterno.

1. Aggiungi la seguente policy in linea per concedere l'accesso all'utente per [CreateTokenWithIAM](https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html) e [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)le [ListTagsForResource](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTagsForResource.html)autorizzazioni.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "athena:ListTags*",
                   "sso:ListTags*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------
**Nota**  
Le autorizzazioni `CreateTokenWithIam` vengono fornite nell’applicazione IAM Identity Center gestita dal cliente.

1. Copiare l’ARN per il ruolo dell’applicazione.

### Impostare il ruolo di accesso IAM
<a name="using-trusted-identity-propagation-step2-access-role"></a>

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione sinistro, scegliere **Roles**, quindi **Create role**.

1. Per **Trusted entity type**, scegliere **Custom trust policy** come segue:

   1. Per **Federated Principal**, aggiungere l’ARN AWS per IAM Identity Center copiato durante la configurazione dell’emittente di token affidabile.

   1. Per **AWS Principal**, aggiungere l’ARN per il ruolo dell’applicazione IAM AWS copiato durante la configurazione del ruolo dell’applicazione IAM.

1. Aggiungere la seguente **inline policy** per concedere l’accesso ai flussi di lavoro dei driver:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "athena:StartQueryExecution",
                   "athena:GetQueryExecution",
                   "athena:GetQueryResults",
                   "athena:ListWorkGroups",
                   "athena:ListDataCatalogs",
                   "athena:ListDatabases",
                   "athena:ListTableMetadata"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabase",
                   "glue:GetDatabases",
                   "glue:CreateTable",
                   "glue:GetTable",
                   "glue:GetTables",
                   "glue:UpdateTable",
                   "glue:DeleteTable",
                   "glue:BatchDeleteTable",
                   "glue:GetTableVersion",
                   "glue:GetTableVersions",
                   "glue:DeleteTableVersion",
                   "glue:BatchDeleteTableVersion",
                   "glue:CreatePartition",
                   "glue:BatchCreatePartition",
                   "glue:GetPartition",
                   "glue:GetPartitions",
                   "glue:BatchGetPartition",
                   "glue:UpdatePartition",
                   "glue:DeletePartition",
                   "glue:BatchDeletePartition"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lakeformation:GetDataAccess"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Copiare l’ARN per il ruolo di accesso.

## Configura l'applicazione gestita AWS IAM Identity Center dal cliente
<a name="using-trusted-identity-propagation-step3"></a>

Per configurare un'applicazione gestita dal cliente, segui i passaggi in [Configurare applicazioni OAuth 2.0 gestite dal cliente per la propagazione delle identità affidabili](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.html) con le seguenti considerazioni per Athena.
+ Per **Tags**, aggiungere le seguenti coppie chiave-valore:
  + **Chiave**: **AthenaDriverOidcAppArn**
  + **Valore**: **AccessRoleARN** copiato durante la configurazione del ruolo di accesso IAM.
+ Quando [specifichi le credenziali dell'applicazione](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.html#customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2-specify-application-credentials), aggiungi l'ARN per il ruolo dell'applicazione AWS IAM che hai copiato durante la configurazione del ruolo dell'applicazione IAM.
+ Per le **Applications that can receive requests**, scegliere **AWS-Lake-Formation-AWS-Glue-Data-Catalog-<account-id>**.
+ ******Per **applicare gli ambiti di Access, seleziona lakeformation:query per i** **gruppi di lavoro abilitati a IAM o lakeformation:query, athena:workgroup:read\_write** e s3:access\_grants:read\_write per i gruppi di lavoro abilitati per Identity Center.******

## Configurazione dell’associazione del gruppo di lavoro
<a name="using-trusted-identity-propagation-step4"></a>

1. Nel pannello di navigazione della console Athena, scegliere**Workgroups**.

1. Scegliere un gruppo di lavoro dall’elenco e aprire la scheda **Tag**. 

1. Scegliere **Manage tags** e inserire quanto segue:

   1. **Chiave**: `AthenaDriverOidcAppArn`

   1. **Valore**: ARN per l’applicazione AWS IAM Identity Center .

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

Una volta completata la configurazione una tantum, gli amministratori possono distribuire i dettagli essenziali della connessione ai propri utenti. Gli utenti hanno bisogno di questi cinque parametri obbligatori per eseguire carichi di lavoro SQL:

1. **ApplicationRoleARN** — L'ARN del ruolo dell'applicazione

1. **JwtWebIdentityToken**— Il token JWT per la verifica dell'identità

1. **workgroupARN**: l’ARN del gruppo di lavoro Athena

1. **JwtRoleSessionName**— Il nome della sessione per il ruolo JWT

1. **CredentialsProvider**— La configurazione del provider di credenziali

**Nota**  
Abbiamo semplificato la configurazione della stringa di connessione tramite tag strategici. Etichettando correttamente sia il gruppo di lavoro Athena che l'applicazione gestita dal cliente, gli amministratori eliminano la necessità per gli utenti di fornire AWS IAM Identity Center e. `AccessRoleArn` `CustomerIdcApplicationArn` Il plugin gestisce il tutto automaticamente utilizzando il ruolo dell’applicazione per individuare i tag necessari e recuperare i valori ARN corrispondenti per il suo flusso di lavoro.   
Gli amministratori possono comunque fare in modo che gli utenti forniscano `AccessRoleArn` o `CustomerIdcApplicationArn` nella stringa di connessione modificando le autorizzazioni del ruolo dell’applicazione in base alle esigenze.

## Eseguire query utilizzando driver Athena attendibili abilitati alla propagazione delle identità
<a name="using-trusted-identity-propagation-step5"></a>

Scaricare la versione più recente del driver che si desidera utilizzare. Per ulteriori informazioni sull’installazione JDBC, consultare [Inizia a usare il driver JDBC 3.x](jdbc-v3-driver-getting-started.md). È possibile scegliere di installare i driver ODBC in base alla piattaforma supportata. Per ulteriori informazioni, consultare [Guida introduttiva al driver ODBC 2.x](odbc-v2-driver-getting-started.md). In base al driver che si desidera utilizzare, fornire i parametri elencati in:
+ [Parametri di connessione del plug-in di autenticazione JDBC](jdbc-v3-driver-jwt-tip-credentials.md)
+ [Parametri di connessione del plugin di autenticazione ODBC](odbc-v2-driver-jwt-tip.md)

**Nota**  
La propagazione attendibile delle identità con i driver è disponibile solo dopo la versione 3.6.0 in JDBC e la versione 2.0.5.0 in ODBC.

## Usa i driver Athena e la propagazione affidabile delle identità con DBeaver
<a name="using-trusted-identity-propagation-step6"></a>

1. Scaricare il jar JDBC più recente con dipendenze da Athena. Per ulteriori informazioni, consulta [Driver JDBC 3.x di Athena](jdbc-v3-driver.md).

1. Apri l' DBeaver applicazione sul tuo computer.

1. Andare al menu **Database** nella parte superiore dello schermo, quindi scegliere **Driver Manager.**

1. Scegliere **New** e poi **Libraries**.

1. Aggiungere il driver più recente e scegliere **Find class**. Ciò fornirà un percorso del file simile a `com.amazon.athena.jdbc.AthenaDriver`.

1. Aprire la scheda **Settings** e fornire i seguenti campi

   1. **Driver name**: Athena JDBC trusted identity propagation

   1. **Class name**: `com.amazon.athena.jdbc.AthenaDriver`

   1. Selezionare l’opzione **No authentication**.

1. Scegliere **Connect to a database** e trovare Athena JDBC Trusted Identity Propagation. Si verrà reindirizzati all’URL JDBC. Per ulteriori informazioni, consultare [Configurazione del driver](jdbc-v3-driver-getting-started.md#jdbc-v3-driver-configuring-the-driver).

1. Fornire i seguenti dettagli:

   1. **Gruppo di lavoro**: il gruppo di lavoro in cui si desidera eseguire le interrogazioni. Per informazioni sui gruppi di lavoro, vedere [WorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_WorkGroup.html).

   1. **Regione**: il Regione AWS luogo in cui verranno eseguite le interrogazioni. Per un elenco delle regioni, consulta [Endpoint e quote di Amazon Athena](https://docs.aws.amazon.com/general/latest/gr/athena.html).

   1. **OutputLocation**— La posizione in Amazon S3 in cui desideri archiviare i risultati delle query. Per informazioni sulla posizione di output, consulta [ResultConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_ResultConfiguration.html).

   1. **CredentialsProvider**— Invio`JWT_TIP`.

   1. **ApplicationRoleArn**— L'ARN del ruolo da abilitare. `AssumeRoleWithWebIdentity` Per ulteriori informazioni sui ruoli ARN, consulta il riferimento [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)all' AWS Security Token Service API.

   1. **WorkgroupArn**— L'ARN del gruppo di lavoro in cui verranno eseguite le interrogazioni. Deve essere lo stesso gruppo di lavoro fornito nel campo **Workgroup**. Per informazioni sui gruppi di lavoro, vedere. [WorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_WorkGroup.html)

   1. **JwtRoleSessionName**— Il nome della sessione quando si utilizzano le credenziali JWT per l'autenticazione. Può essere un nome a scelta.

   1. **JwtWebIdentityToken**— Il token JWT ottenuto da un provider di identità federato esterno. Questo token è utilizzato per l’autenticazione con Athena.

      ```
      jdbc:athena://Workgroup={{<value>}};Region={{<region>}};OutputLocation={{<location>}};CredentialsProvider=JWT_TIP;ApplicationRoleArn={{<arn>}};WorkgroupArn={{<arn>}};JwtRoleSessionName=JDBC_TIP_SESSION;JwtWebIdentityToken={{<token>}};
      ```

1. Scegli **OK** e chiudi la finestra. DBeaver inizierai a caricare i metadati dopo questo passaggio e dovresti iniziare a vedere i tuoi cataloghi, database e tabelle che si popolano.
**Nota**  
Se la dichiarazione JTI è presente nel token e si sceglie **Test connection** prima di scegliere **OK**, ciò impedisce che la stessa JTI venga riutilizzata per gli scambi di token. Per ulteriori informazioni, consultare [Prerequisiti e considerazioni per emittenti di token attendibili](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html#trusted-token-issuer-prerequisites). Per gestire ciò, JDBC implementa una cache in memoria, il cui ciclo di vita dipende dall’istanza principale del driver. Per ODBC, è disponibile opzionalmente una [cache di file](odbc-v2-driver-jwt-tip.md#odbc-v2-driver-jwt-tip-file-cache) che consente di memorizzare nella cache le credenziali temporanee e di riutilizzarle per ridurre il numero di token di identità Web utilizzati durante il ciclo di vita della sessione.

1. Aprire l’**editor diquery SQL** e iniziare a eseguire le query. Consultarei [log di Cloudtrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) per verificare l’identità diffusa dell’utente.