Come posso utilizzare le credenziali del mio ruolo IAM o passare a un altro ruolo IAM quando mi connetto ad Athena tramite il driver JDBC?

4 minuti di lettura
0

Desidero utilizzare un ruolo di AWS Identity and Access Management (IAM) per connettermi ad Amazon Athena tramite il driver JDBC. -oppure- Desidero passare a un altro ruolo IAM, nel mio account AWS o in un altro account, prima di connettermi ad Athena tramite il driver JDBC.

Risoluzione

Utilizzo delle credenziali del ruolo IAM per connettersi al driver JDBC Athena

Recuperare le credenziali temporanee del ruolo. Il processo di recupero delle credenziali temporanee dipende dal modo in cui assumi il ruolo.

Nota: se ricevi errori durante l'esecuzione dei comandi dell'Interfaccia a riga di comando di AWS (AWS CLI), assicurati di utilizzare la versione più recente dell'AWS CLI.

Per ulteriori informazioni, consulta la tabella Confronto dei metodi per l'utilizzo di ruoli in Utilizzo di ruoli IAM.

Le credenziali temporanee contengono il token di sessione, l'ID della chiave di accesso e la chiave di accesso segreta. Queste tre credenziali sono necessarie per autenticare la connessione JDBC con Athena. Tieni presente che le credenziali temporanee hanno una durata massima di 12 ore.

1.    Sul computer in cui è installato il driver JDBC Athena, salva le credenziali temporanee nel file delle credenziali AWS (~/.aws/credentials) come profilo denominato. Per ulteriori informazioni, consulta Configuration and credential file settings.

Ecco un esempio di credenziali temporanee archiviate in un profilo AWS CLI denominato testprofile:

[testprofile]
aws_access_key_id=ASIAXXXXXXXXX
aws_secret_access_key=XXXXXXXX
aws_session_token=XXXXXXXXXXXXXXXXXX

2.    Per connetterti ad Athena con il driver JDBC, specifica il nome del profilo nella stringa di connessione JDBC (ad esempio: jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile;). Oppure, configura il nome del profilo nella proprietà di configurazione JDBC Profilo.

Nota: la proprietà di configurazione JDBC Profilo è disponibile nelle versioni del driver JDBC Athena 2.0.6 e successive. Per ottenere il driver JDBC più recente, consulta Links for downloading the JDBC driver.

Passaggio a un ruolo IAM diverso e connessione al driver JDBC Athena

Per cambiare ruolo prima di connetterti al driver JDBC Athena, utilizza l'opzione source_profile nel profilo denominato:

1.    Sul computer in cui è installato il driver JDBC Athena, aggiungi un profilo denominato al file delle credenziali dell'AWS CLI (~/.aws/credentials). Per ulteriori informazioni sulla creazione di profili denominati, consulta Named profiles. Il profilo deve includere le seguenti proprietà:

role_arn: il nome della risorsa Amazon (ARN) del ruolo che desideri assumere
source_profile: un profilo che contiene le credenziali di un utente o un ruolo IAM che dispone delle autorizzazioni per assumere il ruolo

Ad esempio, per assumere un ruolo chiamato testrole con l'ARN arn:aws:iam::123456789012:role/testrole, crea un profilo denominato simile al seguente:

[switchroletest]
role_arn=arn:aws:iam::123456789012:role/testrole
source_profile=default

In questo esempio, il profilo predefinito contiene le credenziali di un utente o ruolo IAM con le autorizzazioni per assumere testrole:

[default]
aws_access_key_id=ASIAXXXXXXXXX
aws_secret_access_key=XXXXXXXX
aws_session_token=XXXXXXXXXXXXXXXXXX

Nota: l'AWS CLI supporta la specificazione di source_profile nel file di configurazione dell'Interfaccia della linea di comando AWS (/.aws/config) e delle credenziali utente in un file di credenziali dell'AWS CLI separato (/.aws/credentials). Tuttavia, il driver JDBC Athena supporta la lettura delle credenziali solo dal file delle credenziali dell'AWS CLI. A causa di questa limitazione, i profili negli esempi precedenti devono essere inseriti nello stesso file delle credenziali dell'AWS CLI (~/.aws/credentials) e non devono avere il prefisso profile. Il driver JDBC Athena non supporta l'utilizzo di credential_source = Ec2InstanceMetadata nei profili denominati.

2.    Per connetterti ad Athena con il driver JDBC, specifica il nome del profilo nella stringa di connessione JDBC (ad esempio: jdbc:awsathena: //AwsRegion=us-west-2;Profile=switchroletest;). Oppure, configura il nome del profilo nella proprietà di configurazione JDBC Profilo.


Informazioni correlate

Richiesta di credenziali di sicurezza temporanee

Simba Athena JDBC driver with SQL connector installation and configuration guide (version 2.0.9)

Passaggio a un ruolo IAM (AWS CLI)

Using an IAM role in the AWS CLI

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa