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?
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.
- Assumere il ruolo con un gestore dell'identità digitale SAML: Active Directory Federation Services (AD FS) 3.0, Okta, PingFederate e Azure AD sono gli unici gestori dell'identità digitale SAML 2.0 direttamente supportati nel driver JDBC Athena. Se assumi il ruolo con un altro gestore dell'identità digitale, utilizza il comando assume-role-with-saml per ottenere le credenziali temporanee.
- **Assumere un ruolo diverso nel tuo account:**Se assumi un altro ruolo nello stesso account AWS, utilizza assume-role per ottenere le credenziali temporanee.
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)
Contenuto pertinente
- Perché la mia istanza Amazon EC2 utilizza le credenziali utente IAM anziché le credenziali di ruolo?AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 3 anni fa