

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

# Tutorial: Configurare l’accesso federato per gli utenti Okta in Athena utilizzando Lake Formation e JDBC
<a name="security-athena-lake-formation-jdbc-okta-tutorial"></a>

Questo tutorial mostra come configurare Okta AWS Lake Formation, le AWS Identity and Access Management autorizzazioni e il driver JDBC Athena per abilitare l'uso federato di Athena basato su SAML. Lake Formation fornisce un controllo di accesso dettagliato sui dati disponibili in Athena per l'utente basato su SAML. Per configurare questa configurazione, il tutorial utilizza la console per sviluppatori Okta, le console AWS IAM e Lake Formation e lo strumento SQL Workbench/J .
<a name="security-athena-lake-formation-jdbc-okta-tutorial-prerequisites"></a>
**Prerequisiti**  
Questo tutorial presuppone che tu abbia eseguito quanto segue:
+ Creazione di un account Amazon Web Services. Per creare un account, visita la [homepage di Amazon Web Services](https://aws.amazon.com/).
+ [Impostare una posizione dei risultati delle query](query-results-specify-location.md) per Athena in Amazon S3.
+ [Registrazione di una posizione del bucket dati Amazon S3](https://docs.aws.amazon.com/lake-formation/latest/dg/register-data-lake.html) con Lake Formation
+ Definizione di un [database](https://docs.aws.amazon.com/glue/latest/dg/define-database.html) e di [tabelle](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html) nel [AWS Glue Catalogo dati](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) che puntano ai tuoi dati in Amazon S3.
  + Se non hai ancora definito una tabella, [esegui un AWS Glue crawler o usa](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) [Athena per definire un database e una o più tabelle](work-with-data.md) per i dati a cui desideri accedere.
  + Questo tutorial utilizza una tabella basata sul [set di dati sui viaggi di NYC Taxi](https://registry.opendata.aws/nyc-tlc-trip-records-pds/) disponibile nel [Registro di Open Data in AWS](https://registry.opendata.aws/). Il tutorial utilizza il nome del database `tripdb` e il nome della tabella `nyctaxi`.

**Topics**
+ [Fase 1: creare un account Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-1-create-an-okta-account)
+ [Fase 2: aggiungere gli utenti e i gruppi a Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-2-set-up-an-okta-application-for-saml-authentication)
+ [Fase 3: configurazione di un'applicazione Okta per l'autenticazione SAML](#security-athena-lake-formation-jdbc-okta-tutorial-step-3-set-up-an-okta-application-for-saml-authentication)
+ [Fase 4: Creare un AWS SAML Identity Provider e un ruolo IAM di accesso a Lake Formation](#security-athena-lake-formation-jdbc-okta-tutorial-step-4-create-an-aws-saml-identity-provider-and-lake-formation-access-IAM-role)
+ [Passaggio 5: aggiungere il ruolo IAM e il provider di identità SAML all'applicazione Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-5-update-the-okta-application-with-the-aws-role-and-saml-identity-provider)
+ [Passaggio 6: concedere le autorizzazioni a utenti e gruppi tramite AWS Lake Formation](#security-athena-lake-formation-jdbc-okta-tutorial-step-6-grant-permissions-through-aws-lake-formation)
+ [Passaggio 7: Verificare l'accesso tramite il client Athena JDBC](#security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client)
+ [Conclusioni](#security-athena-lake-formation-jdbc-okta-tutorial-conclusion)
+ [Risorse correlate](#security-athena-lake-formation-jdbc-okta-tutorial-related-resources)

## Fase 1: creare un account Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-1-create-an-okta-account"></a>

Questo tutorial utilizza Okta come provider di identità basato su SAML. Se non hai già un account Okta, puoi crearne uno gratuito. È necessario un account Okta per poter creare un'applicazione Okta per l'autenticazione SAML.

**Per creare un account Okta**

1. Per utilizzare Okta, andare alla [pagina di iscrizione per sviluppatori Okta](https://developer.okta.com/signup/)e creare un account di prova Okta gratuito. Il servizio Developer Edition è gratuito fino ai limiti specificati da Okta all'indirizzo [developer.okta.com/pricing](https://developer.okta.com/pricing).

1. Quando ricevi l'e-mail di attivazione, attiva il tuo account. 

   Ti verrà assegnato un nome di dominio Okta. Salva il nome di dominio come riferimento. Successivamente, si utilizza il nome di dominio (*<okta-idp-domain>*) nella stringa JDBC che si connette ad Athena.

## Fase 2: aggiungere gli utenti e i gruppi a Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-2-set-up-an-okta-application-for-saml-authentication"></a>

In questo passaggio utilizzi la console Okta per i seguenti processi:
+ Creare due utenti Okta.
+ Creare due gruppi Okta.
+ Aggiungere un utente Okta a ciascun gruppo Okta.

**Per aggiungere utenti a Okta**

1. Dopo aver attivato l'account Okta, accedere come utente amministrativo al dominio Okta assegnato.

1. Nel pannello di navigazione a sinistra selezionare **Directory** e poi **Persone**.

1. Scegliere **Aggiungi persona** per aggiungere un nuovo utente che accederà ad Athena tramite il driver JDBC.  
![\[Scegliere Aggiungi persona.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-3.png)

1. Nella finestra di dialogo **Aggiungi persona**, inserire le informazioni richieste.
   + Inserisci i valori per **Nome** e **Cognome**. In questo tutorial si utilizza *athena-okta-user*.
   + Specificare un **Nome utente** e un'indirizzo **email principale**. In questo tutorial si utilizza *athena-okta-user@anycompany.com*.
   + Per **Password**, scegli **Impostato dall'amministratore ** e quindi fornisci una password. Questo tutorial cancella l'opzione per **L'utente deve cambiare la password al primo accesso**; i requisiti di sicurezza possono variare.  
![\[Aggiunta di un utente all'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4.png)

1. Scegliere **Salva e aggiungi un altro**.

1. Inserisci le informazioni per un altro utente. Questo esempio aggiunge l'utente business analyst. *athena-ba-user@anycompany.com*  
![\[Aggiunta di un utente all'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4a.png)

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

Nella procedura seguente, fornisci l'accesso a due gruppi Okta tramite il driver Athena JDBC aggiungendo un gruppo "Business Analysts" e un gruppo "Developer".

**Per aggiungere gruppi Okta**

1. Nel pannello di navigazione a sinistra scegli **Directory** e poi **Persone**.

1. Nella pagina **Gruppi**, scegli **Aggiungi gruppo**.  
![\[Scegli Add Group (Aggiungi gruppo).\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4c.png)

1. Nella finestra di dialogo **Aggiungi gruppo**, inserisci le informazioni richieste.
   + In **Nome**, inserisci *lf-business-analyst*.
   + Per **Descrizione del gruppo**, immettere*Business Analysts*.  
![\[Aggiunta di un gruppo Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4d.png)

1. Scegli **Add Group** (Aggiungi gruppo).

1. Nella pagina **Gruppi**, scegliere di nuovo **Aggiungi gruppo**. Questa volta inserirai le informazioni per il gruppo Sviluppatori.

1. Inserisci le informazioni richieste.
   + In **Nome**, inserisci *lf-developer*.
   + Per **Descrizione del gruppo**, inserire*Developers*.

1. Scegli **Add Group** (Aggiungi gruppo).

Ora che sono disponibili due utenti e due gruppi, è possibile aggiungere un utente a ciascun gruppo.

**Per aggiungere utenti ai gruppi**

1. Nella pagina **Gruppi** scegli il gruppo **lf-developer** appena creato. Aggiungerai a questo gruppo uno degli utenti Okta che hai creato come sviluppatore.  
![\[Scegli lf-developer.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4f.png)

1. Scegli **Gestisci persone**.  
![\[Scegli Gestisci persone.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4g.png)

1. Dall'elenco **Non membri**, scegli **athena-okta-user**.   
![\[Scegli un utente da aggiungere all'elenco dei membri.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4h.png)

   La voce per l'utente si sposta dall'elenco di sinistra **Non membri** all'elenco di destra **Membri**.   
![\[Utente Okta aggiunto a un gruppo Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4i.png)

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

1. Scegli **Torna al gruppo**, oppure scegli **Directory**, quindi scegli **Gruppi**.

1. Scegli il **lf-business-analyst**gruppo.

1. Scegli **Gestisci persone**.

1. Aggiungilo **athena-ba-user**all'elenco dei **membri** del **lf-business-analyst**gruppo, quindi scegli **Salva**. 

1. Scegli **Torna al gruppo**, oppure scegli **Directory**, **Gruppi**.

   La pagina **Gruppi** mostra ora che ogni gruppo ha un utente Okta.  
![\[Un utente è stato aggiunto a ciascun gruppo Okta nella console Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4j.png)

## Fase 3: configurazione di un'applicazione Okta per l'autenticazione SAML
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-3-set-up-an-okta-application-for-saml-authentication"></a>

In questo passaggio utilizzi la console degli sviluppatori Okta per i seguenti processi:
+ Aggiungi un'applicazione SAML da utilizzare con AWS.
+ Assegnare l'applicazione all'utente Okta.
+ Assegnare l'applicazione a un gruppo Okta.
+ Scaricare i metadati del provider di identità risultanti per un utilizzo successivo con AWS.

**Per aggiungere un'applicazione per l'autenticazione SAML**

1. Nel pannello di navigazione Okta, selezionare **Applicazioni**, **Applications** in modo da poter configurare un'applicazione Okta per l'autenticazione SAML su Athena.

1. Fare clic su **Sfoglia catalogo delle app**.

1. Nella casella di ricerca immetti **Redshift**.

1. Scegliere **Amazon Web Services Redshift**. L'applicazione Okta in questo tutorial utilizza l'integrazione SAML esistente per Amazon Redshift.  
![\[Scegliere Amazon Web Services Redshift.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-7.png)

1. Sulla pagina **Amazon Web Services Redshift**, scegliere **Aggiungi** per creare un'applicazione basata su SAML per Amazon Redshift.  
![\[Scegliere Aggiungi per creare un'applicazione basata su SAML.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-8.png)

1. Per **Etichetta dell'applicazione**, inserire `Athena-LakeFormation-Okta`, quindi scegliere **Fine**.  
![\[Inserire un nome per l'applicazione.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-9.png)

Dopo aver creato un'applicazione Okta, è possibile assegnarla agli utenti e ai gruppi creati.

**Per assegnare l'applicazione a utenti e gruppi**

1. Nella pagina **Applicazioni**, scegli l'applicazione **Athena- LakeFormation -Okta**.

1. Nella tab **Assegnazioni**, scegliere **Assegna**,**Assegna alle persone**.  
![\[Scegliere Assegna, Assegna alle persone.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-10.png)

1. Nella finestra di dialogo **Assegna Athena-LakeFormation-Okta a persone**, individuate l'**athena-okta-user**utente che avete creato in precedenza.

1. Scegliere **Assegna** per assegnare l'utente all'applicazione.  
![\[Scegliere Assign (Assegna).\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-11.png)

1. Scegliere **Salva e torna indietro**.

1. Seleziona **Fatto**.

1. **Nella scheda **Assegnazioni** dell'applicazione **Athena LakeFormation -** -Okta, **scegliete** Assegna, Assegna a gruppi.** 

1. **Per **lf-business-analyst**, scegli **Assegna per assegnare** l'applicazione **Athena- LakeFormation -Okta** al **lf-business-analyst**gruppo, quindi scegli Fine.**  
![\[Assegnazione di un'applicazione Okta a un gruppo di utenti Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-12b.png)

   Il gruppo viene visualizzato nell'elenco dei gruppi per l'applicazione.  
![\[L'applicazione Okta viene assegnata al gruppo Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-12c.png)

Ora puoi scaricare i metadati dell'applicazione del provider di identità per l'utilizzo con AWS.

**Per scaricare i metadati dell'applicazione**

1. Scegliere la tab dell'applicazione Okta **Accesso** e quindi fare clic con il pulsante destro su **Metadati del provider di identità**.  
![\[Fare clic su Metadati del provider di identità.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-13.png)

1. Scegliere **Salva link con nome** per salvare i metadati del provider di identità, che sono in formato XML, in un file. Assegnare un nome che si riconosce (ad esempio, `Athena-LakeFormation-idp-metadata.xml`).  
![\[Salvataggio dei metadati del provider di identità.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-14.png)

## Fase 4: Creare un AWS SAML Identity Provider e un ruolo IAM di accesso a Lake Formation
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-4-create-an-aws-saml-identity-provider-and-lake-formation-access-IAM-role"></a>

In questo passaggio, si utilizza la console AWS Identity and Access Management (IAM) per eseguire le seguenti attività:
+ Creare un provider di identità per AWS.
+ Creare un ruolo IAM per l'accesso a Lake Formation.
+ Aggiungi la policy AmazonAthenaFullAccess gestita al ruolo.
+ Aggiungi una politica per Lake Formation e AWS Glue al ruolo.
+ Aggiungere una policy per i risultati delle query Athena al ruolo.

**Per creare un provider di identità AWS SAML**

1. Accedi alla **console** dell'**account Amazon Web Services** come **amministratore dell'account Amazon Web Services** e accedi alla console **IAM** ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)).

1. Nel pannello di navigazione, scegli **Provider di identità**, quindi clicca su **Aggiungi provider**.

1. Nella schermata **Configura provider**, inserisci le seguenti informazioni:
   + Per **Tipo di provider**, scegliere **SAML**.
   + Per **Nome provider**, inserire `AthenaLakeFormationOkta`.
   + Per **Documento dei metadati**, utilizzare l'opzione **Scegli file** per caricare il file XML dei metadati del provider di identità (IdP) scaricato.

1. Scegli **Aggiungi provider**.

Successivamente, crei un ruolo IAM per AWS Lake Formation l'accesso. Aggiungere due policy in linea al ruolo. Una politica fornisce le autorizzazioni per accedere a Lake Formation e al AWS Glue APIs. L'altra policy fornisce l'accesso ad Athena e alla posizione dei risultati della query Athena in Amazon S3.

**Per creare un ruolo IAM per l'accesso AWS Lake Formation**

1. Nel pannello di navigazione della console IAM, scegliere **Ruoli** e quindi **Crea ruolo**.

1. Nella pagina **Crea ruolo**, procedere nel seguente modo:  
![\[Configurazione di un ruolo IAM per l'utilizzo di SAML 2.0.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-20.png)

   1. Per **Seleziona tipo di entità attendibile**, scegliere **SAML 2.0 Federation.**

   1. Per il **provider SAML**, seleziona **AthenaLakeFormationOkta**.

   1. Per il **provider SAML**, seleziona l'opzione **Consenti accesso e programmazione**. Console di gestione AWS 

   1. Scegli **Successivo: autorizzazioni**.

1. Sulla pagina **Allegare policy autorizzazioni**, per **Filtra policy** inserire **Athena**.

1. Seleziona la politica **AmazonAthenaFullAccess**gestita, quindi scegli **Avanti: Tag**.  
![\[Allegare la policy AmazonAthenaFullAccessgestita al ruolo IAM.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-21.png)

1. Nella pagina **Add tags (Aggiungi tag)**, scegliere **Next: Review (Successivo: rivedi)**.

1. Nella pagina **Revisione**, in **Nome ruolo**, inserisci un nome per il ruolo (ad esempio,*Athena-LakeFormation-OktaRole*), quindi scegli **Crea ruolo**.  
![\[Inserire un nome per il ruolo IAM.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-22.png)

Successivamente, aggiungi policy in linea che consentono l'accesso ai risultati delle query di Lake Formation e Athena in Amazon S3. AWS Glue APIs 

Ogni volta che si utilizzano le policy IAM, assicurati di seguire le best practice IAM. Per ulteriori informazioni, consulta [Best Practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.

**Per aggiungere una politica in linea al ruolo di Lake Formation e AWS Glue**

1. Nell'elenco dei ruoli nella console IAM, scegliere il `Athena-LakeFormation-OktaRole` appena creato.

1. Nella pagina **Riepilogo** per il ruolo, nella tab **Autorizzazioni** scegli **Aggiungi policy in linea**.

1. Nella pagina **Create policy (Crea policy)**, scegli **JSON**.

1. Aggiungi una politica in linea come la seguente che fornisce l'accesso a Lake Formation e al AWS Glue APIs.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": [
               "lakeformation:GetDataAccess",
               "glue:GetTable",
               "glue:GetTables",
               "glue:GetDatabase",
               "glue:GetDatabases",
               "glue:CreateDatabase",
               "glue:GetUserDefinedFunction",
               "glue:GetUserDefinedFunctions"
           ],
           "Resource": "*"
       }
   }
   ```

------

1. Scegliere **Esamina policy**.

1. Per **Nome**, inserire un nome per la policy, ad esempio **LakeFormationGlueInlinePolicy**.

1. Scegli **Crea policy**.

**Per aggiungere una policy in linea al ruolo per la posizione dei risultati delle query Athena**

1. Nella pagina **Riepilogo** per il ruolo `Athena-LakeFormation-OktaRole`, nella tab **Autorizzazioni** scegli **Aggiungi policy in linea**.

1. Nella pagina **Create policy (Crea policy)**, scegli **JSON**.

1. Aggiungi una policy in linea come la seguente, che consente al ruolo di accedere alla posizione dei risultati delle query Athena. Sostituisci i *<athena-query-results-bucket>* segnaposto nell'esempio con il nome del tuo bucket Amazon S3.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AthenaQueryResultsPermissionsForS3",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:PutObject",
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::<athena-query-results-bucket>",
                   "arn:aws:s3:::<athena-query-results-bucket>/*"
               ]
           }
       ]
   }
   ```

------

1. Scegliere **Esamina policy**.

1. Per **Nome**, inserire un nome per la policy, ad esempio **AthenaQueryResultsInlinePolicy**.

1. Scegli **Crea policy**.

Successivamente, copia l'ARN del ruolo di accesso Lake Formation e l'ARN del provider SAML creato. Questi sono necessari quando configuri l'applicazione Okta SAML nella sezione successiva dell'esercitazione.

**Per copiare l'ARN del ruolo e l'ARN del provider di identità SAML**

1. Dalla console IAM, nella pagina **Riepilogo** per il ruolo `Athena-LakeFormation-OktaRole`, scegli l'icona **Copia negli appunti** accanto ad **ARN ruolo**. L'ARN ha il formato seguente:

   ```
   arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
   ```

1. Salvare l'ARN completo in modo sicuro per riferimento futuro.

1. Nel pannello di navigazione della console IAM, seleziona **Provider di identità**.

1. Scegli il provider. **AthenaLakeFormationOkta**

1. Nella pagina **Riepilogo**, scegli l'icona **Copia negli appunti** accanto ad **ARN fornitore**. L'ARN avrà un aspetto simile al seguente:

   ```
   arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta
   ```

1. Salvare l'ARN completo in modo sicuro per riferimento futuro.

## Passaggio 5: aggiungere il ruolo IAM e il provider di identità SAML all'applicazione Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-5-update-the-okta-application-with-the-aws-role-and-saml-identity-provider"></a>

In questo passaggio, si torna alla console di sviluppo Okta ed eseguire le seguenti attività:
+ Aggiungere attributi URL utente e gruppo Lake Formation all'applicazione Okta.
+ Aggiungere l'ARN per il provider di identità e l'ARN per il ruolo IAM all'applicazione Okta.
+ Copiare l'ID dell'applicazione Okta. L'ID dell'applicazione Okta è obbligatorio nel profilo JDBC che si connette ad Athena.

**Per aggiungere attributi URL utente e gruppo Lake Formation all'applicazione Okta**

1. Accedere alla console degli sviluppatori Okta.

1. Scegli la tab **Applicazioni**, quindi scegli l'applicazione `Athena-LakeFormation-Okta`.

1. Scegliere nella tab **Accedi** per l'applicazione, quindi scegli **Modifica**.  
![\[Modificare l'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-24.png)

1. Scegli **Attributi (opzionali)** per espanderla.  
![\[Aggiunta di un attributo URL utente Lake Formation all'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-25.png)

1. Per **Istruzioni degli attributi (opzionali)**, aggiungi il seguente attributo:
   + In **Nome**, inserisci **https://lakeformation.amazon.com/SAML/Attributes/Username**.
   + In **Valore**, inserire **user.login**.

1. Sotto **Istruzioni degli attributi per i gruppi (opzionali)**, aggiungi il seguente attributo:
   + In **Nome**, inserisci **https://lakeformation.amazon.com/SAML/Attributes/Groups**.
   + Per **Formato nome**, inserisci **Basic**
   + Per **Filtro**, scegli **Corrisponde alla regex**, quindi inserisci **.\$1** nella casella filtro.  
![\[Aggiunta di un attributo URL gruppo Lake Formation all'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-25a.png)

1. Scorri verso il basso fino alla sezione **Impostazioni di accesso avanzate**, dove aggiungerai il provider di identità e il ruolo IAM ARNs all'applicazione Okta.

**Per aggiungere il ruolo ARNs for the identity provider e IAM all'applicazione Okta**

1. Per **Idp ARN e Role ARN, immettere** l'ARN del provider di AWS identità e il ruolo ARN come valori separati da virgole nel formato,. *<saml-arn>* *<role-arn>* La stringa combinata dovrebbe essere simile alla seguente:

   ```
   arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta,arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
   ```  
![\[Inserimento dell'ARN del provider di identità e dell'ARN del ruolo IAM nell'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-26.png)

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

Successivamente, copiare l'ID dell'applicazione Okta. Ne avrai bisogno più tardi per la stringa JDBC che si connette ad Athena.

**Per trovare e copiare l'ID dell'applicazione Okta**

1. Selezionare la tab **Generale** dell'applicazione Okta.  
![\[Selezionare la tab Generale dell'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-27.png)

1. Scorri in basso fino alla sezione **Link per l'incorporamento dell'app**.

1. Da **Incorpora link**, copia e salva in modo sicuro la porzione dell'ID dell'applicazione Okta dell'URL. L'ID dell'applicazione Okta è la parte dell'URL dopo `amazon_aws_redshift/` ma prima della barra in avanti successiva. Ad esempio, se l'URL contiene `amazon_aws_redshift/aaa/bbb`, l'ID dell'applicazione è `aaa`.   
![\[Copia l'ID dell'applicazione Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-28.png)

**Nota**  
Il link per l'incorporamento non può essere utilizzato per accedere direttamente alla console Athena per visualizzare i database. Le autorizzazioni Lake Formation per utenti e gruppi SAML vengono riconosciute solo quando si utilizza il driver JDBC oppure ODBC per inviare query ad Athena. Per visualizzare i database, è possibile utilizzare lo Workbench/J strumento SQL, che utilizza il driver JDBC per connettersi ad Athena. Lo Workbench/J strumento SQL è incluso in. [Passaggio 7: Verificare l'accesso tramite il client Athena JDBC](#security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client)

## Passaggio 6: concedere le autorizzazioni a utenti e gruppi tramite AWS Lake Formation
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-6-grant-permissions-through-aws-lake-formation"></a>

In questo passaggio, utilizzi la console Lake Formation per concedere autorizzazioni per una tabella all'utente e al gruppo SAML. Si possono eseguire queste attività:
+ Specificare l'ARN dell'utente Okta SAML e le autorizzazioni utente associate nella tabella.
+ Specificare l'ARN del gruppo Okta SAML e le autorizzazioni gruppo associate nella tabella.
+ Verificare le autorizzazioni concesse.

**Per concedere autorizzazioni in Lake Formation per l'utente Okta**

1. Accedi come amministratore data lake alla Console di gestione AWS. 

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

1. Dal pannello di navigazione, seleziona **Tabelle**, quindi seleziona la tabella per la quale desideri concedere le autorizzazioni. Questo tutorial utilizza la tabella `nyctaxi` dal database `tripdb`.  
![\[Scegliere la tabella per la quale si desiderano concedere le autorizzazioni.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-29.png)

1. Da **Operazioni**, scegliere **Concessione**.  
![\[Scegli Concessione.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-30.png)

1. Nella finestra di dialogo **Concedi autorizzazioni** inserisci le seguenti informazioni:

   1. In **Utenti e gruppi SAML e Amazon Quick**, inserisci l'ARN dell'utente SAML Okta nel seguente formato:

      ```
      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:user/<athena-okta-user>@<anycompany.com>       
      ```

   1. Per **Colonne**, per **Scegli il tipo di filtro** e, facoltativamente, scegli **Includi colonne** o **Escludi colonne**.

   1. Usa il menu a discesa **Scegli una o più colonne** sotto il filtro per specificare le colonne che desideri includere o escludere per o dall'utente.

   1. Per **Autorizzazioni tabella**, scegli **Seleziona**. Questa esercitazione concede solo l'autorizzazione `SELECT`; i requisiti possono variare.  
![\[Concedere autorizzazioni a livello di tabella e colonna a un utente Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-31.png)

1. Scegli **Concessione**.

Ora eseguire passaggi simili per il gruppo Okta.

**Per concedere autorizzazioni in Lake Formation per il gruppo Okta**

1. Sulla pagina **Tabelle** della console Lake Formation, assicurarsi che la tabella **nyctaxi** sia ancora selezionata.

1. Da **Operazioni**, scegliere **Concessione**.

1. Nella finestra di dialogo **Concedi autorizzazioni** inserisci le seguenti informazioni:

   1. In **Utenti e gruppi SAML e Amazon Quick**, inserisci l'ARN del gruppo Okta SAML nel seguente formato:

      ```
      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:group/lf-business-analyst
      ```

   1. Per**Colonne**,**scegli il tipo di filtro**, scegli **Includi colonne**.

   1. Per **Scegli una o più colonne**, scegliere le prime tre colonne della tabella.

   1. Per **Autorizzazioni tabella**, scegli le autorizzazioni di accesso specifiche da concedere. Questa esercitazione concede solo l'autorizzazione `SELECT`; i requisiti possono variare.  
![\[Concessione delle autorizzazioni per la tabella a un gruppo Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-31b.png)

1. Scegli **Concessione**.

1. Per verificare le autorizzazioni concesse, scegli **Azioni**, **Visualizza autorizzazioni**.  
![\[Scegliere Visualizzazione delle autorizzazioni per verificare le autorizzazioni concesse.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-32.png)

   La pagina delle **autorizzazioni relative ai dati** della `nyctaxi` tabella mostra le autorizzazioni per e il gruppo. **athena-okta-user**lf-business-analyst****  
![\[Visualizzazione delle autorizzazioni concesse all'utente e al gruppo Okta.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-33.png)

## Passaggio 7: Verificare l'accesso tramite il client Athena JDBC
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client"></a>

Ora puoi utilizzare un client JDBC per eseguire una connessione di prova ad Athena come utente Okta SAML. 

In questa sezione esegui le seguenti attività:
+ Prepara il client test: scarica il driver Athena JDBC, installa SQL Workbench e aggiungi il driver a Workbench. Questo tutorial utilizza SQL Workbench per accedere ad Athena tramite l'autenticazione Okta e per verificare le autorizzazioni Lake Formation.
+ In SQL Workbench:
  + Creare una connessione per l'utente Athena Okta.
  + Eseguire query di test come utente Athena Okta.
  + Creare e testare una connessione per l'utente business analyst.
+ Nella console Okta, aggiungere l'utente business analyst al gruppo di sviluppatori.
+ Nella console Lake Formation, configurare le autorizzazioni di tabella per il gruppo di sviluppatori.
+ In SQL Workbench, esegui query di test come utente business analyst e verifica in che modo la modifica delle autorizzazioni influisce sui risultati.

**Per preparare il client di test**

1. Scaricare ed estrarre il driver Athena JDBC compatibile con Lake Formation (2.0.14 o versione successiva) da [Connettersi ad Amazon Athena con JDBC](connect-with-jdbc.md).

1. Scaricare e installare lo strumento di query SQL gratuito [SQL Workbench/J](https://www.sql-workbench.eu/index.html) disponibile con una licenza Apache 2.0 modificata.

1. In SQL Workbench, scegliere **File**, quindi scegliere **Gestisci driver**.  
![\[Seleziona Manage Drivers (Gestisci driver).\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-1.png)

1. Nella finestra di dialogo **Gestisci driver** completare la seguente procedura:

   1. Scegliere l'icona del nuovo driver.

   1. In **Nome**, inserisci **Athena**.

   1. Per **Libreria**, scegliere il file `.jar` Simba Athena JDBC appena scaricato.

   1. Scegli **OK**.  
![\[Aggiungere il driver JDBC Athena a SQL Workbench.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-2.png)

Ora puoi creare e testare una connessione per l'utente Athena Okta.

**Per creare una connessione per l'utente Okta**

1. Scegliere **File**, **Finestra Connect**.  
![\[Scegliere Finestra Connect.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-3.png)

1. Nella finestra di dialogo **Profilo di connessione** creare una connessione inserendo le informazioni seguenti:
   + Nella casella Nome, inserire **Athena\$1Okta\$1User\$1Connection**.
   + Per **Driver**, scegliere il driver JDBC Simba Athena.
   + Per l'**URL**, esegui una delle seguenti operazioni:
     + Per utilizzare un URL di connessione, inserire una stringa di connessione a riga singola. L'esempio seguente aggiunge interruzioni di riga per migliorare la leggibilità.

       ```
       jdbc:awsathena://AwsRegion=region-id;
       S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
       AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider;
       user=athena-okta-user@anycompany.com;
       password=password;
       idp_host=okta-idp-domain;
       App_ID=okta-app-id;
       SSL_Insecure=true;
       LakeFormationEnabled=true;
       ```
     + Per utilizzare un URL AWS basato sul profilo, procedi nel seguente modo:

       1. Configura un [AWS profilo](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) con un file di AWS credenziali come nell'esempio seguente.

          ```
          [athena_lf_dev]
          plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider
          idp_host=okta-idp-domain
          app_id=okta-app-id
          uid=athena-okta-user@anycompany.com
          pwd=password
          ```

       1. Per **URL**, inserisci una stringa di connessione a riga singola come nel seguente esempio. L'esempio aggiunge interruzioni di riga per migliorare la leggibilità.

          ```
          jdbc:awsathena://AwsRegion=region-id;
          S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
          profile=athena_lf_dev;
          SSL_Insecure=true;
          LakeFormationEnabled=true;
          ```

     Questi esempi sono rappresentazioni di base dell'URL necessario per connettersi ad Athena. Per l'elenco completo dei parametri supportati nell'URL, consulta la [documentazione JDBC](connect-with-jdbc.md).

   L'immagine seguente mostra un profilo di connessione SQL Workbench che utilizza un URL di connessione.  
![\[Un profilo di connessione in SQL Workbench.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-4.png)

Dopo aver stabilito una connessione per l'utente Okta, è possibile testarla recuperando alcuni dati.

**Per testare la connessione per l'utente Okta**

1. Scegli **Test** e quindi verifica che la connessione abbia esito positivo.

1. Dalla finestra **Istruzione** di SQL Workbench, eseguire il comando SQL `DESCRIBE` seguente. Verificare che siano mostrate tutte le colonne.

   ```
   DESCRIBE "tripdb"."nyctaxi"
   ```  
![\[Vengono mostrate tutte le colonne\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-5.png)

1. Dalla finestra **Istruzione** di SQL Workbench, eseguire il comando SQL `SELECT` seguente. Verificare che siano mostrate tutte le colonne.

   ```
   SELECT * FROM tripdb.nyctaxi LIMIT 5
   ```  
![\[Verificare che siano mostrate tutte le colonne.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-6.png)

Successivamente, verifichi che **athena-ba-user**, come membro del **lf-business-analyst**gruppo, abbia accesso solo alle prime tre colonne della tabella specificata in precedenza in Lake Formation.

**Per verificare l'accesso per il **athena-ba-user****

1. In SQL Workbench, nella finestra di dialogo **Profilo di connessione** creare un altro profilo di connessione.
   + Per il nome del profilo di connessione, inserire ** Athena\$1Okta\$1Group\$1Connection**.
   + Per **Driver**, scegliere il driver JDBC Simba Athena.
   + Per l'**URL**, esegui una delle seguenti operazioni:
     + Per utilizzare un URL di connessione, inserire una stringa di connessione a riga singola. L'esempio seguente aggiunge interruzioni di riga per migliorare la leggibilità.

       ```
       jdbc:awsathena://AwsRegion=region-id;
       S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
       AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider;
       user=athena-ba-user@anycompany.com;
       password=password;
       idp_host=okta-idp-domain;
       App_ID=okta-application-id;
       SSL_Insecure=true;
       LakeFormationEnabled=true;
       ```
     + Per utilizzare un URL AWS basato sul profilo, effettuate le seguenti operazioni:

       1. Configura un AWS profilo con un file di credenziali come nell'esempio seguente.

          ```
          [athena_lf_ba]
          plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider
          idp_host=okta-idp-domain
          app_id=okta-application-id
          uid=athena-ba-user@anycompany.com
          pwd=password
          ```

       1. Per **URL**, inserire una stringa di connessione a riga singola come la seguente. L'esempio aggiunge interruzioni di riga per migliorare la leggibilità.

          ```
          jdbc:awsathena://AwsRegion=region-id;
          S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
          profile=athena_lf_ba;
          SSL_Insecure=true;
          LakeFormationEnabled=true;
          ```

1. Scegli **Test** per confermare che la connessione funzioni.

1. Dalla finestra **Istruzione SQL**, eseguire gli stessi comandi SQL `DESCRIBE` e `SELECT` eseguiti in precedenza ed esaminare i risultati.

   Poiché **athena-ba-user**è un membro del **lf-business-analyst**gruppo, vengono restituite solo le prime tre colonne specificate nella console Lake Formation.  
![\[Vengono restituite solo le prime tre colonne.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-7.png)  
![\[Dati delle prime tre colonne.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-8.png)

Successivamente, si torna alla console Okta per aggiungere `athena-ba-user` al gruppo Okta `lf-developer`.

**Per aggiungere il athena-ba-user al gruppo lf-developer**

1. Accedi alla console Okta come utente amministratore del dominio Okta assegnato.

1. Scegli **Directory** e quindi scegli **Gruppi**.

1. Nella pagina Gruppi scegli il gruppo **lf-developer**.  
![\[Seleziona il gruppo lf-developer.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-9.png)

1. Scegli **Gestisci persone**.

1. Dall'elenco **Non membri**, scegli di aggiungerlo **athena-ba-user**al gruppo **lf-developer**.

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

Ora torna alla console Lake Formation per configurare le autorizzazioni di tabella per il gruppo **lf-developer**.

**Per configurare i permessi delle tabelle per lf-developer-group**

1. Accedi alla console Lake Formation come amministratore Data Lake.

1. Nel pannello di navigazione, seleziona **Tabelle**.

1. Seleziona la tabella **nyctaxi**.

1. Scegli **Operazioni**, **Concessione**.

1. Nella finestra di dialogo **Concessione di autorizzazioni** inserire le informazioni riportate di seguito:
   + Per **utenti e gruppi SAML e Amazon Quick**, inserisci l'ARN del gruppo di sviluppatori Okta SAML lf-developer nel seguente formato:
   + Per**Colonne**,**scegli il tipo di filtro**, scegli **Includi colonne**.
   + Seleziona la colonna **trip\$1type**.
   + Per **Autorizzazioni tabella**, scegli **SELEZIONA**.

1. Scegli **Concessione**.

Ora è possibile utilizzare SQL Workbench per verificare la modifica delle autorizzazioni per il gruppo **lf-developer**. **La modifica dovrebbe riflettersi nei dati a disposizione di **athena-ba-user**, che ora è membro del gruppo lf-developer.**

**Per verificare la modifica delle autorizzazioni per athena-ba-user**

1. Chiudere il programma SQL Workbench e quindi riaprirlo.

1. Connect al profilo per **athena-ba-user**.

1. Dalla finestra **Istruzione**, emettere le stesse istruzioni SQL eseguite in precedenza:

   Questa volta, viene mostrata la colonna **trip\$1type**.  
![\[La quarta colonna è disponibile per la query.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-10.png)

   Poiché ora **athena-ba-user**è membro sia di **lf-developer** che dei **lf-business-analyst**gruppi, la combinazione dei permessi di Lake Formation per quei gruppi determina le colonne che vengono restituite.  
![\[La quarta colonna nei risultati dei dati.\]](http://docs.aws.amazon.com/it_it/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-11.png)

## Conclusioni
<a name="security-athena-lake-formation-jdbc-okta-tutorial-conclusion"></a>

In questo tutorial hai configurato l'integrazione di Athena con l' AWS Lake Formation utilizzo di Okta come provider SAML. Hai utilizzato Lake Formation e IAM per controllare le risorse disponibili per l'utente SAML nel tuo data lake AWS Glue Data Catalog.

## Risorse correlate
<a name="security-athena-lake-formation-jdbc-okta-tutorial-related-resources"></a>

Per informazioni correlate, consulta le seguenti risorse.
+ [Connettersi ad Amazon Athena con JDBC](connect-with-jdbc.md)
+ [Per abilitare l’accesso federato all’API Athena:](access-federation-saml.md)
+ [AWS Lake Formation Guida per gli sviluppatori](https://docs.aws.amazon.com/lake-formation/latest/dg/)
+ [Concessione e revoca delle autorizzazioni del catalogo dati](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html) nella *Guida per gli sviluppatori di AWS Lake Formation *.
+ [Provider di identità e federazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) nella *Guida per l'utente di IAM*.
+ [Creazione di provider di identità SAML IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) nella *Guida per l'utente di IAM*.
+ [Abilitazione della federazione all' AWS utilizzo di Windows Active Directory, ADFS e SAML 2.0](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/) *sul Security Blog.AWS *