Collegare Athena a IAM Identity Center
La sezione seguente elenca il processo di collegamento di Athena a IAM Identity Center.
Impostare emittente di token affidabile
Seguire la guida Impostare un emittente attendibile di token per configurare un emittente di token attendibile. Verrà creato 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.
Copiare il nome della risorsa dell'applicazione (ARN) del provider IAM Identity IAM AWS. Per ulteriori informazioni, consulta Provider di identità e federazione.
Configurare ruoli IAM
Impostare il ruolo dell'applicazione IAM
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione sinistro, scegliere Roles, quindi Create role.
-
Per Trusted entity type, scegli Custom trust policy.
-
Per Federated Principal, aggiungere l'ARN AWS per il provider di identità IAM copiato durante la configurazione dell'emittente di token attendibile.
-
Per verificare le condizioni del policy, aggiungere l’audience del provider di identità federato esterno.
-
-
Aggiungi la seguente policy in per concedere all'utente l'accesso per le autorizzazioni CreateTokenWithIAM, ListTagsForResource e AssumeroleWithWebIdentity.
Nota
Le autorizzazioni
CreateTokenWithIamvengono fornite nell'applicazione IAM Identity Center gestita dal cliente. -
Copiare l'ARN per il ruolo dell'applicazione.
Impostare il ruolo di accesso IAM
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione sinistro, scegliere Roles, quindi Create role.
-
Per Trusted entity type, scegliere Custom trust policy come segue:
-
Per Federated Principal, aggiungere l'ARN AWS per IAM Identity Center copiato durante la configurazione dell'emittente di token affidabile.
-
Per AWS Principal, aggiungere l’ARN per il ruolo dell'applicazione IAM AWS copiato durante la configurazione del ruolo dell'applicazione IAM.
-
-
Aggiungere la seguente inline policy per concedere l'accesso ai flussi di lavoro dei driver:
-
Copiare l'ARN per il ruolo di accesso.
Configurare l'applicazione AWS IAM Identity Center del cliente
Per configurare l'applicazione del cliente, seguire i passaggi in Set up customer managed OAuth 2.0 applications for trusted identity propagation con le seguenti considerazioni per Athena.
-
Per Tags, aggiungere le seguenti coppie chiave-valore:
-
Key: AthenaDriveroidCappArn
-
Value: AccessRoleArn copiato durante la configurazione di IAM Access Role.
-
-
Nello specificare le credenziali dell'applicazione, aggiungere l'ARN per il ruolo dell'applicazione IAM AWS 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 Access scopes to apply, scegliere lakeformation:query.
Configurazione dell'associazione del gruppo di lavoro
-
Nel pannello di navigazione della console Athena, scegliereWorkgroups.
-
Scegliere un gruppo di lavoro dall'elenco e aprire la scheda Tag.
-
Scegliere Manage tags e inserire quanto segue:
-
Chiave –
AthenaDriverOidcAppArn -
Valore: ARN per l’applicazione AWS IAM Identity Center.
-
-
Selezionare 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:
-
ApplicationRoleArn: l'ARN del ruolo dell'applicazione
-
JWTWebIdentityToken: il token JWT per la verifica dell'identità
-
workgroupARN: l’ARN del gruppo di lavoro Athena
-
JWTroleSessionName: il nome della sessione per il ruolo JWT
-
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 AWS IAM Identity Center, gli amministratori eliminano la necessità per gli utenti di fornire AccessRoleArn e 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à
Scaricare la versione più recente del driver che si desidera utilizzare. Per ulteriori informazioni sull’installazione JDBC, consultare Guida introduttiva al driver JDBC 3.x. È possibile scegliere di installare i driver ODBC in base alla piattaforma supportata. Per ulteriori informazioni, consultare Guida introduttiva al driver ODBC 2.x. In base al driver che si desidera utilizzare, fornire i parametri elencati in:
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.
Utilizzare i driver Athena e la propagazione attendibile delle identità con DBeaver
-
Scaricare il jar JDBC più recente con dipendenze da Athena. Per ulteriori informazioni, consultare Driver JDBC 3.x di Athena.
-
Aprire l'applicazione DBeaver sul computer.
-
Andare al menu Database nella parte superiore dello schermo, quindi scegliere Driver Manager.
-
Scegliere New e poi Libraries.
-
Aggiungere il driver più recente e scegliere Find class. Ciò fornirà un percorso del file simile a
com.amazon.athena.jdbc.AthenaDriver. -
Aprire la scheda Settings e fornire i seguenti campi
-
Driver name: Athena JDBC trusted identity propagation
-
Class name:
com.amazon.athena.jdbc.AthenaDriver -
Selezionare l'opzione No authentication.
-
-
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.
-
Fornire i seguenti dettagli:
-
Gruppo di lavoro: il gruppo di lavoro in cui si desidera eseguire le interrogazioni. Per ulteriori informazioni sui gruppi di lavoro, consulta Gruppo di lavoro.
-
Regione: la Regione AWS regione dove verranno eseguite le query. Per un elenco delle regioni, consulta Endpoint e quote di Amazon Athena.
-
OutputLocation: la posizione di Amazon S3 in cui si desidera archiviare i risultati della query. Per informazioni sulle posizioni di output, consulta ResultConfiguration.
-
CredentialsProvider: immettere
JWT_TIP. -
ApplicationRoleArn: l'ARN del ruolo da abilitare
AssumeRoleWithWebIdentity. Per ulteriori informazioni sui ruoli ARN, consultare AssumeRole nella Documentazione di riferimento dell'API AWS Security Token Service. -
WorkgroupArn: l'ARN del gruppo di lavoro in cui verranno eseguite le query. Deve essere lo stesso gruppo di lavoro fornito nel campo Workgroup. Per ulteriori informazioni sui gruppi di lavoro, consultare Gruppo di lavoro.
-
JwtRoleSessionName: il nome della sessione quando si utilizzano le credenziali JWT per l'autenticazione. Può essere un nome a scelta.
-
JwtWebIdentityToken: il token JWT ottenuto da un gestore delle 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>;
-
-
Scegliere OK e chiudere la console GPMC. DBeaver inizierà a caricare i metadati dopo questo passaggio e si dovrebbe iniziare a vedere popolare i propri cataloghi, database e tabelle.
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. 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 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.
-
Aprire l'editor diquery SQL e iniziare a eseguire le query. Consultarei log di Cloudtrail per verificare l'identità diffusa dell'utente.