Verbund-Zugriff auf die Athena-API aktivieren
In diesem Abschnitt wird der föderierte Zugriff beschrieben, der Benutzern oder Client-Anwendungen in Ihrer Organisation den Aufruf von Amazon-Athena-API-Operationen ermöglicht. In diesem Fall verfügen die Benutzer Ihrer Organisation nicht über direkten Zugriff auf Athena. Stattdessen verwalten Sie Benutzeranmeldeinformationen außerhalb von AWS in Microsoft Active Directory. Active Directory unterstützt SAML 2.0
In diesem Fall verwenden Sie zur Authentifizierung von Benutzern den JDBC- oder ODBC-Treiber mit SAML 2.0-Unterstützung, der auf die Active Directory Federation Services (AD FS) 3.0 zugreift und Client-Anwendungen den Zugriff auf Athena-API-Operationen ermöglicht.
Weitere Informationen zur SAML 2.0-Unterstützung auf AWS finden Sie unter Informationen zur SAML 2.0-Föderierung im IAM-Benutzerhandbuch.
Anmerkung
Der föderierte Zugriff auf die Athena-API wird für eine bestimmte Art von Identitätsanbieter (IdP) unterstützt, nämlich den Active Directory Federation Service (AD FS 3.0), der Teil von Windows Server ist. Der Verbundzugriff ist nicht mit dem Feature zur Weitergabe vertrauenswürdiger Identitäten des IAM Identity Center kompatibel. Der Zugriff wird durch die Versionen von JDBC- bzw. ODBC-Treibern hergestellt, die SAML 2.0 unterstützen. Weitere Informationen finden Sie unter Verbindung zu Amazon Athena mit JDBC herstellen und Mit ODBC eine Verbindung zu Amazon Athena herstellen.
Themen
Bevor Sie beginnen
Stellen Sie vor Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind:
-
Installieren und konfigurieren Sie AD FS 3.0 innerhalb Ihrer Organisation als IdP.
-
Installieren und konfigurieren Sie die neuesten verfügbaren Versionen der JDBC- oder ODBC-Treiber auf Clients, die für den Zugriff auf Athena verwendet werden. Der Treiber muss mit dem föderierten Zugriff mit SAML 2.0 kompatible Unterstützung bieten. Weitere Informationen finden Sie unter Verbindung zu Amazon Athena mit JDBC herstellen und Mit ODBC eine Verbindung zu Amazon Athena herstellen.
Authentifizierungsprozess verstehen
Das folgende Diagramm zeigt den Authentifizierungsprozess des Verbundzugriffs auf die Athena-API.
-
Ein Benutzer in Ihrer Organisation verwendet eine Client-Anwendung mit dem JDBC- oder ODBC-Treiber, um eine Authentifizierung vom Identitätsanbieter Ihrer Organisation anzufordern. Der Identitätsanbieter ist AD FS 3.0.
-
Der Identitätsanbieter authentifiziert den Benutzer anhand von Active Directory, dem Identitätsspeicher Ihrer Organisation.
-
Der Identitätsanbieter konstruiert eine SAML-Zusicherung mit Informationen über den Benutzer und sendet die Zusicherung über den JDBC- oder ODBC-Treiber an die Client-Anwendung.
-
Der JDBC- oder ODBC-Treiber ruft die AWS Security Token Service-API-Operation AssumeRoleWithSAML auf und übergibt ihr dabei die folgenden Parameter:
-
Der ARN des SAML-Anbieters
-
Den ARN der zu übernehmenden Rolle
-
Die SAML-Zusicherung des Identitätsanbieters
Weitere Informationen finden Sie unter AssumeRoleWithSAML in der AWS Security Token Service-API-Referenz.
-
-
Die API-Antwort an die Client-Anwendung über den JDBC- oder ODBC-Treiber umfasst temporäre Sicherheitsanmeldeinformationen.
-
Die Client-Anwendung verwendet die temporären Sicherheitsanmeldeinformationen zum Aufrufen von Athena-API-Operationen, so dass Ihre Benutzer auf Athena-API-Operationen zugreifen können.
Verfahren: SAML-basierter födeVerbund-Zugriff auf die Athena-API aktivieren
Das Verfahren umfasst Schritte, die eine Vertrauensbeziehung zwischen dem Identitätsanbieter Ihrer Organisation und Ihrem AWS-Konto schaffen, um den SAML-basierten föderierten Zugriff auf die Amazon-Athena-API-Operation zu gewährleisten.
Den föderierten Zugriff auf die Athena-API aktivieren Sie wie folgt:
-
Registrieren Sie AWS in Ihrer Organisation als Dienstanbieter in Ihrem Identitätsanbieter. Dieser Prozess wird als Vertrauensstellung der vertrauenden Seite bezeichnet. Weitere Informationen finden Sie unter Konfigurieren des SAML 2.0-Identitätsanbieters mit der Vertrauensstellung der vertrauenden Seite im IAM-Benutzerhandbuch. Führen Sie als Teil dieser Aufgabe die folgenden Schritte aus:
-
Rufen Sie das Beispiel-SAML-Metadatendokument von dieser URL ab: https://signin.aws.amazon.com/static/saml-metadata.xml
. -
Erstellen Sie im Identitätsanbieter Ihrer Organisation (AD FS) eine entsprechende Metadaten-XML-Datei, die Ihren Identitätsanbieter als Identitätsanbieter für beschreibt AWS. Die Metadatendatei muss den Namen des Ausstellers, ein Erstellungsdatum, ein Ablaufdatum und Schlüssel enthalten, die AWS verwendet, um Authentifizierungsantworten (Zusicherungen) von Ihrer Organisation zu überprüfen.
-
-
Erstellen Sie in der IAM-Konsole eine SAML-Identitätsanbieter-Entität. Weitere Informationen finden Sie unter Erstellen von SAML-Identitätsanbietern im IAM-Benutzerhandbuch. Tun Sie im Rahmen dieses Schritts Folgendes:
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Laden Sie das SAML-Metadatendokument hoch, das der Identitätsanbieter (AD FS) im Rahmen von Schritt 1 dieses Verfahrens erstellt hat.
-
Erstellen Sie in der IAM-Konsole mindestens eine IAM-Rolle für Ihren Identitätsanbieter. Weitere Informationen finden Sie unter Erstellen von Rollen für externe Identitätsanbieter (Verbund) im IAM-Benutzerhandbuch. Tun Sie im Rahmen dieses Schritts Folgendes:
-
Führen Sie in der Berechtigungsrichtlinie der Rolle Aktionen auf, die Benutzer Ihrer Organisation in ausführen dürfen AWS.
-
Legen Sie in der Vertrauensrichtlinie der Rolle die SAML-Anbieter-Entity als Prinzipal fest, die Sie in Schritt 2 dieses Verfahrens erstellt haben.
Dies baut eine Vertrauensstellung zwischen Ihrer Organisation und auf AWS.
-
-
Definieren Sie im Identitätsanbieter Ihrer Organisation (AD FS) Zusicherungen, in denen Benutzer oder Gruppen in Ihrer Organisation den IAM-Rollen zugeordnet werden. Das Mapping von Benutzern und Gruppen zu den IAM-Rollen wird auch als Anspruchsregel bezeichnet. Beachten Sie, dass unterschiedliche Benutzer und Gruppen in Ihrer Organisation unterschiedlichen IAM-Rollen zugeordnet werden können.
Weitere Informationen zum Konfigurieren des Mappings in ADFS finden Sie im Blog-Beitrag Den Verbund zu AWS mithilfe von Windows Active Directory, ADFS, and SAML 2.0 ermöglichen
. -
Installieren und konfigurieren Sie den JDBC- oder ODBC-Treiber mit SAML 2.0-Unterstützung. Weitere Informationen finden Sie unter Verbindung zu Amazon Athena mit JDBC herstellen und Mit ODBC eine Verbindung zu Amazon Athena herstellen.
-
Geben Sie die Verbindungszeichenfolge aus Ihrer Anwendung im JDBC- bzw. ODBC-Treiber an. Weitere Informationen zu der Verbindungszeichenfolge, die Ihre Anwendung verwenden sollte, finden Sie unter dem Thema „Verwendung des Anmeldeinformationsanbietersvon Active Directory Federation Services (ADFS)“ im Installations- and Konfigurationshandbuch für JDBC-Treiber bzw. einem ähnlichen Thema im Installations- and Konfigurationshandbuch für ODBC-Treiber, die als PDF-Downloads über die Themen Verbindung zu Amazon Athena mit JDBC herstellen und Mit ODBC eine Verbindung zu Amazon Athena herstellen verfügbar sind.
Die allgemeine Zusammenfassung der Konfiguration der Verbindungszeichenfolge für die Treiber ist wie folgt:
-
Stellen Sie in
AwsCredentialsProviderClass configurationdencom.simba.athena.iamsupport.plugin.AdfsCredentialsProviderein, um anzugeben, dass Sie die SAML 2.0-basierte Authentifizierung über den Identitätsanbieter AD FS nutzen möchten. -
Geben Sie für
idp_hostden Hostnamen des AD FS-Identitätsanbieterservers an. -
Geben Sie für
idp_portdie Nummer des Ports an, auf dem der AD FS-Identitätsanbieter auf die SAML-Zusicherungsanfrage hört. -
Geben Sie für
UIDundPWDdie AD-Domain-Benutzeranmeldeinformationen an. Wenn Sie den Treiber auf Windows verwenden undUIDundPWDnicht angegeben sind, versucht der Treiber, die Anmeldeinformationen des Benutzers abzurufen, der an dem Windows-Computer angemeldet ist. -
Optional können Sie für
ssl_insecureden Werttruefestlegen. In diesem Fall überprüft der Treiber nicht die Authentizität des SSL-Zertifikats für den ADFS-Identitätsanbieterserver. Die Einstellung auftrueist erforderlich, wenn das SSL-Zertifikat des Identitätsanbieters ADFS nicht vom Treiber als vertrauenswürdig konfiguriert wurde. -
Zum Aktivieren des Mappings eines Active Directory-Domain-Benutzers bzw. einer Gruppe zu mindestens einer IAM-Rolle (wie in Schritt 4 dieses Verfahrens erwähnt) geben Sie in der
preferred_rolefür die JDBC- bzw. ODBC-Verbindung die IAM-Rolle (ARN) an, die für die Treiberverbindung übernommen werden soll. Die Angabe derpreferred_roleist optional, aber nützlich, wenn die Rolle nicht die erste in der Anspruchsregel aufgeführte Rolle ist.
Aufgrund dieses Verfahrens werden die folgenden Aktionen ausgeführt:
-
Der JDBC- bzw. ODBC-Treiber ruft die AWS STS-API AssumeRoleWithSAML auf und übergibt ihr die Zusicherungen, wie in Schritt 4 des Architekturdiagramms abgebildet.
-
AWS stellt sicher, dass die Anforderung zum Übernehmen der Rolle vom Identitätsanbieter stammt, auf den in der SAML-Anbieter-Entity verwiesen wird.
-
Wenn die Anfrage erfolgreich ist, gibt die AWS STS-API-Operation AssumeRoleWithSAML eine Reihe temporärer Sicherheitsanmeldeinformationen zurück, die Ihre Client-Anwendung verwendet, um signierte Anforderungen an Athena zu stellen.
Ihre Anwendung verfügt nun über Informationen zum aktuellen Benutzer und kann programmgesteuert auf Athena zugreifen.
-