Wie verwende ich meine IAM-Rollenanmeldeinformationen oder wechsle zu einer anderen IAM-Rolle, wenn ich den JDBC-Treiber verwende, um eine Verbindung zu Amazon Athena herzustellen?

Lesedauer: 4 Minute
0

Ich möchte Anmeldeinformationen für die AWS Identity and Access Management (IAM)-Rolle verwenden, um die JDBC-Treiberverbindung zu Amazon Athena zu authentifizieren. Oder ich möchte zu einer anderen IAM-Rolle wechseln, bevor ich den JDBC-Treiber verwende, um eine Verbindung zu Amazon Athena herzustellen.

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.

Verwende die Anmeldeinformationen für die IAM-Rolle, um eine Verbindung zum Athena-JDBC-Treiber herzustellen

Rufe die temporären Anmeldeinformationen der Rolle ab. Das Verfahren zum Abrufen der temporären Anmeldeinformationen unterscheidet sich je nachdem, wie du die Rolle übernimmst.

Du verwendest einen SAML-Identitätsanbieter, um die Rolle zu übernehmen

Active Directory Federation Services (AD FS) 3.0, Okta, PingFederate und Microsoft Entra ID sind die einzigen SAML 2.0-Identitätsanbieter, die direkt vom Athena-JDBC-Treiber unterstützt werden. Wenn du einen anderen Identitätsanbieter verwendest, um die Rolle zu übernehmen, führe den Befehl assume-role-with-saml aus, um die temporären Anmeldeinformationen abzurufen.

Du übernimmst eine andere Rolle in deinem Konto

Wenn du eine andere Rolle in demselben AWS-Konto übernimmst, führe den Befehl assume-role aus, um die temporären Anmeldeinformationen abzurufen.

Weitere Informationen findest du unter Methoden zur Übernahme einer Rolle.

Die temporären Anmeldeinformationen enthalten das Sitzungstoken, die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel, die zur Authentifizierung der JDBC-Verbindung zu Amazon Athena erforderlich sind.

Hinweis: Die temporären Anmeldeinformationen sind nur 12 Stunden gültig.

Speichere die temporären Anmeldeinformationen auf deinem Computer in der AWS-Anmeldeinformationsdatei ~/.aws/credentials als benanntes Profil. Weitere Informationen findest du unter Konfigurations- und Anmeldeinformationsdateien in der AWS CLI.

Das Folgende ist ein Beispiel für temporäre Anmeldeinformationen, die in einem AWS-CLI-Profil mit dem Namen testprofile gespeichert sind:

[testprofile]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################

Um den JDBC-Treiber für die Verbindung zu Amazon Athena zu verwenden, gib den Profilnamen in der JDBC-Verbindungszeichenfolge an, zum Beispiel jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile;. Oder lege den Profilnamen in der JDBC-Konfigurationseigenschaft Profile fest.

Hinweis: Die JDBC-Konfigurationseigenschaft Profile ist in den Athena-JDBC-Treiberversionen 2.0.6 und höher verfügbar. Den neuesten JDBC-Treiber findest du unter Mit JDBC mit Amazon Athena verbinden.

Zu einer anderen IAM-Rolle wechseln und dann eine Verbindung zum Athena-JDBC-Treiber herstellen

Um die Rollen zu wechseln, bevor du eine Verbindung zum Athena-JDBC-Treiber herstellst, verwende die Option source_profile im benannten Profil.

Füge auf deinem Computer der AWS-CLI-Anmeldeinformationsdatei ~/.aws/credentials ein benanntes Profil hinzu. Weitere Informationen findest du unter Benannte Profile verwenden.

Das Profil muss die folgenden Eigenschaften enthalten:

  • role_arn: ARN der Rolle, die du übernehmen möchtest.
  • source_profile: Ein Profil, das die Anmeldeinformationen eines IAM-Benutzers enthält, oder eine IAM-Rolle, die berechtigt ist, die Rolle anzunehmen.

Im Folgenden findest du eine Beispielkonfiguration zur Übernahme einer Rolle mit dem Namen testrole, die den ARN arn:aws:iam::123456789012:role/testrole hat:

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

Im folgenden Beispiel enthält das Standardprofil die Anmeldeinformationen eines IAM-Benutzers oder einer IAM-Rolle mit der Berechtigung, testrole zu übernehmen:

[default]aws_access_key_id=ASIA#########
aws_secret_access_key=########
aws_session_token=##################

Hinweis: Mit der AWS-CLI kannst du source_profile in der AWS-CLI-Konfigurationsdatei /.aws/config und Benutzeranmeldeinformationen in einer separaten AWS-CLI-Anmeldeinformationsdatei angeben. Der Athena-JDBC-Treiber kann jedoch nur Anmeldeinformationen aus der AWS-CLI-Anmeldeinformationsdatei lesen. Aufgrund dieser Einschränkung musst du die Profile in derselben AWS-CLI-Anmeldeinformationsdatei platzieren. Verwende auch nicht das profile-Präfix für die Profile.

Um den JDBC-Treiber für die Verbindung zu Athena zu verwenden, gib den Profilnamen in der JDBC-Verbindungszeichenfolge an, zum Beispiel jdbc:awsathena://AwsRegion=us-west-2;Profile=switchroletest;. Oder lege den Profilnamen in der JDBC-Konfigurationseigenschaft Profile fest.

Ähnliche Informationen

Temporäre Sicherheitsanmeldeinformationen anfordern

Simba Athena JDBC-Treiber mit SQL Connector Installations- und Konfigurationsanleitung (Version 2.0.9)

Zu einer IAM-Rolle wechseln (AWS CLI)

Eine IAM-Rolle in der AWS CLI verwenden

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Monaten