Amazonas Athena ist ein interaktiver Abfragedienst, der die direkte Analyse von Daten erleichtert Amazon Simple Storage-Service (Amazon S3) mit Standard-SQL. Cloud-Betriebsteams können nutzen AWS Identity and Access Management and (IAM)-Föderation zur zentralen Verwaltung des Zugriffs auf Athena. Dies vereinfacht die Verwaltung, da ein Verwaltungsteam den Benutzerzugriff auf Athena-Arbeitsgruppen über ein zentral verwaltetes Azure AD steuern kann, das mit einem lokalen Active Directory verbunden ist. Dieses Setup reduziert den Overhead für Cloud-Betriebsteams bei der Verwaltung von IAM-Benutzern. Athena unterstützt die Föderation mit Active Directory Federation Service (ADFS), PingFederate, Okta und der Microsoft Azure Active Directory (Azure AD)-Föderation.
In diesem Blogbeitrag wird veranschaulicht, wie Sie einen AWS IAM-Verbund mit Azure AD einrichten, der mit lokalem AD verbunden ist, und den Zugriff auf Athena-Arbeitsgruppenebene für verschiedene Benutzer konfigurieren. Wir werden zwei Szenarien behandeln:
- Von Azure AD verwaltete Benutzer und Gruppen sowie lokales AD.
- Lokale, über Active Directory verwaltete Benutzer und Gruppen, die mit Azure AD synchronisiert werden.
Wir behandeln nicht die Einrichtung der Synchronisierung zwischen lokalem AD und Azure AD mithilfe von Azure AD Connect. Weitere Informationen zur Integration von Azure AD mit einem AWS Managed AD finden Sie unter Aktivieren Sie Office 365 mit AWS Managed Microsoft AD ohne Benutzerkennwortsynchronisierung und wie man Azure AD mit einem lokalen AD integriert, finden Sie im Microsoft-Artikel Benutzerdefinierte Installation von Azure Active Directory Connect.
Lösungsüberblick
Mit dieser Lösung können Sie den IAM-Verbund mit Azure AD konfigurieren, der mit dem lokalen AD verbunden ist, und den Athena-Zugriff auf Arbeitsgruppenebene für Benutzer konfigurieren. Sie können den Zugriff auf die Arbeitsgruppe entweder durch eine lokale AD-Gruppe oder eine Azure AD-Gruppe steuern. Die Lösung besteht aus vier Abschnitten:
- Richten Sie Azure AD als Ihren Identitätsanbieter (IdP) ein:
- Richten Sie Azure AD als Ihren SAML-IdP für eine AWS-Einzelkonto-App ein.
- Konfigurieren Sie die Azure AD-App mit delegierten Berechtigungen.
- Richten Sie Ihren IAM-IdP und Ihre Rollen ein:
- Richten Sie einen IdP ein, der Azure AD vertraut.
- Richten Sie einen IAM-Benutzer mit Leserollenberechtigung ein.
- Richten Sie für jede Athena-Arbeitsgruppe eine IAM-Rolle und -Richtlinien ein.
- Benutzerzugriff in Azure AD einrichten:
- Richten Sie die automatische IAM-Rollenbereitstellung ein.
- Richten Sie den Benutzerzugriff auf die Athena-Arbeitsgruppenrolle ein.
- Zugriff auf Athena:
- Greifen Sie über das webbasierte Microsoft auf Athena zu Mein Apps-Portal.
- Greifen Sie über auf Athena zu SQL-Workbench/J ein kostenloses, DBMS-unabhängiges, plattformübergreifendes SQL-Abfragetool.
Das folgende Diagramm zeigt die Architektur der Lösung.
Der Lösungsworkflow umfasst die folgenden Schritte:
- Die Entwickler-Workstation stellt über einen SQL Workbench/j JDBC Athena-Treiber eine Verbindung zu Azure AD her, um ein SAML-Token anzufordern (zweistufiger OAuth-Prozess).
- Azure AD sendet den Authentifizierungsdatenverkehr über einen Azure AD-Passthrough-Agent oder ADFS zurück an die lokale Umgebung.
- Der Azure AD-Passthrough-Agent oder ADFS stellt eine Verbindung zum lokalen DC her und authentifiziert den Benutzer.
- Der Pass-Through-Agent oder ADFS sendet ein Erfolgstoken an Azure AD.
- Azure AD erstellt ein SAML-Token, das die zugewiesene IAM-Rolle enthält, und sendet es an den Client.
- Der Client stellt eine Verbindung her AWS-Sicherheitstoken-Service (AWS STS) und präsentiert das SAML-Token, um die Athena-Rolle zu übernehmen und temporäre Anmeldeinformationen zu generieren.
- AWS STS sendet temporäre Anmeldeinformationen an den Client.
- Der Client verwendet die temporären Anmeldeinformationen, um eine Verbindung zu Athena herzustellen.
Voraussetzungen:
Sie müssen die folgenden Anforderungen erfüllen, bevor Sie die Lösung konfigurieren:
- Führen Sie auf der Azure AD-Seite Folgendes aus:
- Richten Sie den Azure AD Connect-Server ein und synchronisieren Sie ihn mit dem lokalen AD
- Richten Sie den Azure AD-Passthrough oder die Microsoft ADFS-Föderation zwischen Azure AD und lokalem AD ein
- Erstellen Sie drei Benutzer (
user1
,user2
,user3
) und drei Gruppen (athena-admin-adgroup
,athena-datascience-adgroup
,athena-developer-adgroup
) für drei jeweilige Athena-Arbeitsgruppen
- Erstellen Sie auf der Athena-Seite drei Athena-Arbeitsgruppen:
athena-admin-workgroup
,athena-datascience-workgroup
,athena-developer-workgroup
Weitere Informationen zur Verwendung von Beispiel-Athena-Arbeitsgruppen finden Sie unter Ein öffentlicher Data Lake zur Analyse von COVID-19-Daten.
Richten Sie Azure AD ein
In diesem Abschnitt behandeln wir Azure AD-Konfigurationsdetails für Athena im Microsoft Azure-Abonnement. Hauptsächlich registrieren wir eine App, konfigurieren den Verbund, delegieren App-Berechtigungen und generieren ein App-Geheimnis.
Legen Sie Azure AD als SAML-IdP für eine AWS-Einzelkonto-App fest
Führen Sie die folgenden Schritte aus, um Azure AD als Ihren SAML-IdP einzurichten:
- Melden Sie sich bei der an Azure-Portal mit globalen Azure AD-Administratoranmeldeinformationen.
- Auswählen Azure Active Directory.
- Auswählen Geschäftliche Anwendungen.
- Auswählen
Neue Bewerbung.
- Suchen Sie nach HEIF-Bilderweiterungen.
Amazon
in der Suchleiste. - Auswählen AWS-Einzelkontozugriff.
- Aussichten für Benennen, eingeben
Athena-App
. - Auswählen Erstellen.
- Im Erste Schritte Abschnitt, unter Einmaliges Anmelden einrichten, wählen Los geht´s.
- Aussichten für Wählen Sie eine Single-Sign-On-Methode aus, wählen SAML.
- Aussichten für Grundlegende SAML-Konfiguration, wählen Bearbeiten.
- Aussichten für Identifikator (Entitäts-ID), eingeben
https://signin.aws.amazon.com/saml#1
. - Auswählen
Speichern.
- Der SAML-SignaturzertifikatZ. Federation-Metadaten-XML, wählen Herunterladen.
Diese Datei ist erforderlich, um im nächsten Abschnitt Ihren IAM-IdP zu konfigurieren. Speichern Sie diese Datei auf Ihrem lokalen Computer, um sie später bei der Konfiguration von IAM auf AWS zu verwenden.
Konfigurieren Sie Ihre Azure AD-App mit delegierten Berechtigungen
Führen Sie die folgenden Schritte aus, um Ihre Azure AD-App zu konfigurieren:
- Auswählen Azure Active Directory.
- Auswählen App-Registrierungen und Alle Anwendungen.
- Suchen und wählen Athena-App.
- Beachten Sie die Werte für Anwendungs-ID (Client-ID) und Verzeichnis (Mieter) ID.
Sie benötigen diese Werte in der JDBC-Verbindung, wenn Sie eine Verbindung zu Athena herstellen.
- Der API-Berechtigungen, wählen Berechtigung hinzufügen.
- Auswählen Microsoft Graph und Delegierte Berechtigungen.
- Aussichten für Wählen Sie Berechtigungen aus, suchen Sie nach
user.read
. - Aussichten für Mitglied, wählen Benutzer.Lesen.
- Auswählen
Berechtigung hinzufügen.
- Auswählen
Erteilen Sie die Zustimmung des Administrators und Ja.
- Auswählen Authentifizierung und Eine Plattform hinzufügen.
- Auswählen
Mobile und Desktop-Anwendungen.
- Der Benutzerdefinierte Weiterleitungs-URIs, eingeben
http://localhost/athena
. - Auswählen Einrichtung.
- Auswählen Zertifikate & Geheimnisse und Neues Kundengeheimnis.
- Geben Sie eine Beschreibung ein.
- Aussichten für Läuft ab, wählen 24 Monate.
- Kopieren Sie den Client-Geheimniswert, der beim Konfigurieren der JDBC-Verbindung verwendet werden soll.
Richten Sie den IAM-IdP und die Rollen ein
In diesem Abschnitt behandeln wir die IAM-Konfiguration im AWS-Konto. Hauptsächlich erstellen wir einen IAM-Benutzer, Rollen und Richtlinien.
Richten Sie einen IdP ein, der Azure AD vertraut
Führen Sie die folgenden Schritte aus, um Ihren IdP so einzurichten, dass er Azure AD vertraut:
- Wählen Sie in der IAM-Konsole Identitätsanbieter im Navigationsbereich.
- Auswählen Anbieter hinzufügen.
- Aussichten für Anbietertyp, wählen SAML.
- Aussichten für Name des Anbieters, eingeben
AzureADAthenaProvider
. - Aussichten für Metadatendokument, laden Sie die vom Azure-Portal heruntergeladene Datei hoch.
- Auswählen Anbieter hinzufügen.
Richten Sie einen IAM-Benutzer mit Leserollenberechtigung ein
Um Ihren IAM-Benutzer einzurichten, führen Sie die folgenden Schritte aus:
- Wählen Sie in der IAM-Konsole Nutzer im Navigationsbereich.
- Auswählen Benutzer hinzufügen.
- Aussichten für Benutzername, eingeben
ReadRoleUser
. - Aussichten für ZugangsartWählen Programmatischer Zugriff.
- Auswählen Weiter: Berechtigungen.
- Aussichten für Berechtigungen festlegen, wählen Fügen Sie vorhandene Richtlinien direkt hinzu.
- Auswählen Richtlinie erstellen.
- Auswählen JSON und geben Sie die folgende Richtlinie ein, die Lesezugriff zum Aufzählen von Rollen in IAM gewährt:
- Auswählen Weiter: Tags.
- Auswählen Weiter: Überprüfen.
- Aussichten für Name und Vorname, eingeben
readrolepolicy
. - Auswählen Richtlinie erstellen.
- Auf dem Benutzer hinzufügen Suchen Sie auf der Registerkarte „Rolle“ nach der Rolle und wählen Sie sie aus
readrole
. - Auswählen Weiter: Tags.
- Auswählen Weiter: Überprüfen.
- Auswählen Benutzer erstellen.
- Laden Sie die CSV-Datei herunter, die die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel enthält.
Wir verwenden diese bei der Konfiguration der automatischen Azure AD-Bereitstellung.
Richten Sie für jede Athena-Arbeitsgruppe eine IAM-Rolle und -Richtlinien ein
Führen Sie die folgenden Schritte aus, um IAM-Rollen und -Richtlinien für Ihre Athena-Arbeitsgruppen einzurichten:
- Wählen Sie in der IAM-Konsole Rollen im Navigationsbereich.
- Auswählen Rolle erstellen.
- Aussichten für Wählen Sie den Typ der vertrauenswürdigen Entität aus, wählen SAML 2.0-Verbund.
- Aussichten für SAML-Anbieter, wählen AzureADAthenaProvider.
- Auswählen Erlauben Sie den programmgesteuerten und AWS Management Console-Zugriff.
- Der Anforderungen, wählen Wesentliche.
- Auswählen SAML:aud.
- Aussichten für AnforderungenWählen StringEquals.
- Aussichten für Wert, eingeben
http://localhost/athena
. - Auswählen Weiter: Berechtigungen.
- Auswählen Richtlinie erstellen.
- Auswählen JSON und geben Sie die folgende Richtlinie ein (geben Sie den ARN Ihrer Arbeitsgruppe an):
Die Richtlinie gewährt vollen Zugriff auf die Athena-Arbeitsgruppe. Es basiert auf der Von AWS verwaltete Richtlinie AmazonAthenaFullAccess
und Beispielrichtlinien für Arbeitsgruppen.
- Auswählen Weiter: Tags.
- Auswählen Weiter: Überprüfen.
- Aussichten für Name und Vorname, eingeben
athenaworkgroup1policy
. - Auswählen Richtlinie erstellen.
- Auf dem Rolle erstellen Registerkarte, suchen nach
athenaworkgroup1policy
und wählen Sie die Richtlinie aus. - Auswählen Weiter: Tags.
- Auswählen Weiter: Überprüfen.
- Auswählen Rolle erstellen.
- Aussichten für Name und Vorname, eingeben
athenaworkgroup1role
. - Auswählen Rolle erstellen.
Richten Sie den Benutzerzugriff in Azure AD ein
In diesem Abschnitt richten wir die automatische Bereitstellung ein und weisen Benutzer der App über das Microsoft Azure-Portal zu.
Richten Sie die automatische IAM-Rollenbereitstellung ein
Führen Sie die folgenden Schritte aus, um die automatische IAM-Rollenbereitstellung einzurichten:
- Melden Sie sich bei der an Azure-Portal mit globalen Azure AD-Administratoranmeldeinformationen.
- Auswählen Azure Active Directory.
- Auswählen Geschäftliche Anwendungen und wählen Sie Athena-App.
- Auswählen
Benutzerkonten bereitstellen.
- Im Provisioning Wählen Sie im Abschnitt Los geht´s.
- Aussichten für Bereitstellungsmodus, wählen automatische.
- Erweitern Sie die Funktionalität der Administrator-Anmeldeinformationen und bevölkern Kundengeheimnis und Geheimes Token mit der Zugangsschlüssel-ID und dem geheimen Zugangsschlüssel von
ReadRoleUser
, Bzw. - Auswählen Verbindung testen und Speichern.
- Auswählen Starten Sie die Bereitstellung.
Der erste Zyklus kann einige Zeit dauern. Danach werden die IAM-Rollen in Azure AD ausgefüllt.
Richten Sie den Benutzerzugriff auf die Athena-Arbeitsgruppenrolle ein
Um den Benutzerzugriff auf die Arbeitsgruppenrolle einzurichten, führen Sie die folgenden Schritte aus:
- Anmelden bei Azure-Portal mit globalen Azure AD-Administratoranmeldeinformationen.
- Auswählen Azure Active Directory.
- Auswählen Geschäftliche Anwendungen und wählen Sie Athena-App.
- Auswählen Weisen Sie Benutzer und Gruppen zu und Benutzer/Gruppe hinzufügen.
- Der Benutzer und Gruppen, wählen Sie die Gruppe aus, der Sie Athena-Berechtigungen zuweisen möchten. Für diesen Beitrag verwenden wir
athena-admin-adgroup
; Alternativ können Sie Benutzer1 auswählen. - Auswählen Auswählen.
- Aussichten für Wählen Sie eine Rolle aus, wählen Sie die Rolle aus
athenaworkgroup1role
. - Auswählen Auswählen.
- Auswählen Weisen.
Greifen Sie auf Athena zu
In diesem Abschnitt zeigen wir, wie Sie über die AWS-Konsole und das Entwicklertool SQL Workbench/J auf Athena zugreifen
Greifen Sie über das webbasierte Microsoft My Apps-Portal auf Athena zu
Um über das Microsoft My Apps-Portal auf Athena zuzugreifen, führen Sie die folgenden Schritte aus:
- Anmelden bei Azure-Portal mit globalen Azure AD-Administratoranmeldeinformationen.
- Auswählen Azure Active Directory
- Auswählen Geschäftliche Anwendungen und wählen Sie Athena-App.
- Auswählen
- Ferienhäuser.
- Kopieren Sie den Wert für Benutzerzugriffs-URL.
- Öffnen Sie einen Webbrowser und geben Sie die URL ein.
Der Link leitet Sie zu einer Azure-Anmeldeseite weiter.
- Melden Sie sich mit den lokalen Benutzeranmeldeinformationen an.
Sie werden zu weitergeleitet AWS-Managementkonsole.
Greifen Sie mit SQL Workbench/J auf Athena zu
In stark regulierten Organisationen ist es internen Benutzern nicht gestattet, über die Konsole auf Athena zuzugreifen. In solchen Fällen können Sie SQL Workbench/J verwenden, ein Open-Source-Tool, das die Verbindung zu Athena über einen JDBC-Treiber ermöglicht.
- Laden Sie die neueste Athena JDBC-Treiber (Wählen Sie den passenden Treiber basierend auf Ihrer Java-Version).
- Laden Sie SQL-Workbench/J.
- Öffnen Sie SQL Workbench/J.
- Auf dem Reichen Sie das Menü, wählen Sie Fenster verbinden.
- Auswählen Treiber verwalten.
- Aussichten für Name und VornameGeben Sie einen Namen für Ihren Treiber ein.
- Navigieren Sie zu dem Ordner, in den Sie den Treiber heruntergeladen und entpackt haben.
- Auswählen
OK.
Nachdem wir nun den Athena-Treiber konfiguriert haben, ist es an der Zeit, eine Verbindung zu Athena herzustellen. Sie müssen die Verbindungs-URL, den Benutzernamen und das Passwort eingeben.
Verwenden Sie die folgende Verbindungszeichenfolge, um mit einem Benutzerkonto ohne MFA eine Verbindung zu Athena herzustellen (geben Sie die zuvor im Beitrag erfassten Werte an):
Um eine Verbindung über ein Benutzerkonto mit aktivierter MFA herzustellen, verwenden Sie den Browser Azure AD Credentials Provider. Sie müssen die Verbindungs-URL erstellen und den Benutzernamen Benutzername und das Passwort eingeben
Verwenden Sie die folgende Verbindungszeichenfolge, um eine Verbindung zu Athena mit einem Benutzerkonto herzustellen, für das MFA aktiviert ist (geben Sie die zuvor erfassten Werte an):
Ersetzen Sie den roten Text durch Details, die Sie zuvor im Artikel gesammelt haben.
Wenn die Verbindung hergestellt ist, können Sie Abfragen an Athena ausführen.
Proxy-Konfiguration
Wenn Sie über einen Proxyserver eine Verbindung zu Athena herstellen, stellen Sie sicher, dass der Proxyserver Port 444 zulässt. Die Ergebnissatz-Streaming-API verwendet Port 444 auf dem Athena-Server für ausgehende Kommunikation. Stellen Sie die ein ProxyHost
-Eigenschaft mit der IP-Adresse oder dem Hostnamen Ihres Proxyservers verknüpfen. Stellen Sie die ein ProxyPort
-Eigenschaft auf die Nummer des TCP-Ports, den der Proxyserver verwendet, um auf Clientverbindungen zu warten. Siehe den folgenden Code:
Zusammenfassung
In diesem Beitrag haben wir die IAM-Föderation mit Azure AD konfiguriert, das mit lokalem AD verbunden ist, und einen granularen Zugriff auf eine Athena-Arbeitsgruppe eingerichtet. Wir haben uns auch angeschaut, wie man über die Konsole mit dem Microsoft My Apps-Webportal und dem SQL Workbench/J-Tool auf Athena zugreift. Wir haben auch besprochen, wie die Verbindung über einen Proxy funktioniert. Die gleiche Verbundinfrastruktur kann auch für die ODBC-Treiberkonfiguration genutzt werden. Sie können auch die Anweisungen in diesem Beitrag verwenden, um SAML-basierten Azure IdP einzurichten, um den Verbundzugriff auf Athena Workgroups zu ermöglichen.
Über den Autor
Niraj Kumar ist Principal Technical Account Manager für Finanzdienstleistungen bei AWS, wo er Kunden dabei unterstützt, Workloads auf AWS auf sichere und robuste Weise zu entwerfen, zu entwerfen, zu erstellen, zu betreiben und zu unterstützen. Er verfügt über mehr als 20 Jahre vielfältige IT-Erfahrung in den Bereichen Unternehmensarchitektur, Cloud und Virtualisierung, Sicherheit, IAM, Lösungsarchitektur sowie Informationssysteme und -technologien. In seiner Freizeit ist er gerne Mentor, coacht, wandert, schaut sich mit seinem Sohn Dokumentarfilme an und liest jeden Tag etwas anderes.
- '
- &
- 100
- 11
- 420
- 7
- 9
- Zugang
- Konto
- Action
- aktiv
- Active Directory
- Ad
- Administrator
- Alle
- Zulassen
- Amazon
- Analyse
- Bienen
- App
- Anwendungen
- Apps
- Architektur
- Artikel
- Authentifizierung
- AWS
- Azure
- Blog
- Browser
- bauen
- Fälle
- Cloud
- Code
- Kommunikation
- Verbindung
- Verbindungen
- Konnektivität
- Zustimmung
- COVID-19
- Referenzen
- Cross-Plattform-
- Kunden
- technische Daten
- Datensee
- Tag
- dc
- Design
- Entwickler:in / Unternehmen
- Dokumentationen
- Fahrer
- Unternehmen
- ERFAHRUNGEN
- Felder
- Revolution
- Finanzdienstleistungen
- Frei
- voller
- Global
- für Balkonkraftwerke Reduzierung
- Gruppe an
- Ultraschall
- Hilfe
- HTTPS
- IAM
- Identitätsschutz
- Information
- Infrastruktur
- interaktive
- IP
- IP Address
- IT
- Javac
- Wesentliche
- neueste
- Niveau
- LINK
- aus einer regionalen
- Standorte
- sah
- Management
- MFA
- Microsoft
- Mobil
- Navigation
- Office 365
- Organisationen
- Passwort
- Plugin
- Politik durchzulesen
- Datenschutzrichtlinien
- Portal
- Principal
- Resorts
- Stellvertreter
- Öffentlichkeit
- Lesebrillen
- umleiten
- Voraussetzungen:
- Ressourcen
- Führen Sie
- Suche
- Sicherheitdienst
- Leistungen
- kompensieren
- Einfacher
- sie sind
- SQL
- Erklärung
- storage
- Streaming
- Abonnement
- Erfolg
- Support
- Unterstützt
- Systeme und Techniken
- Technische
- Technologies
- vorübergehend
- Zeit
- Zeichen
- der Verkehr
- Nutzer
- Wert
- Netz
- Web-Browser
- Arbeitsablauf.
- Werk
- Jahr