Tutorial: Konfiguration des Verbundzugriffs für Okta-Benutzer auf Athena mithilfe von Lake Formation und JDBC - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tutorial: Konfiguration des Verbundzugriffs für Okta-Benutzer auf Athena mithilfe von Lake Formation und JDBC

Dieses Tutorial zeigt Ihnen, wie Sie Okta AWS Lake Formation, AWS Identity and Access Management Berechtigungen und den JDBC Athena-Treiber konfigurieren, um die SAML basierte Verbundnutzung von Athena zu ermöglichen. Lake Formation bietet dem Benutzer vor Ort eine detaillierte Zugriffskontrolle über die Daten, die in Athena verfügbar sind. SAML Um diese Konfiguration einzurichten, verwendet das Tutorial die Okta Developer Console, die Lake Formation AWS IAM Formation-Konsolen und das SQL Workbench/J-Tool.

Voraussetzungen

In diesem Tutorial wird davon ausgegangen, dass Sie Folgendes gemacht haben:

Schritt 1: Erstellen eines Okta-Kontos

In diesem Tutorial wird Okta als SAML basierter Identitätsanbieter verwendet. Wenn Sie noch kein Okta-Konto besitzen, können Sie ein kostenloses erstellen. Ein Okta-Konto ist erforderlich, damit Sie eine Okta-Anwendung für die Authentifizierung erstellen können. SAML

So erstellen Sie ein Okta-Konto
  1. Um Okta zu verwenden, navigieren Sie zur Anmeldeseite für Okta-Entwickler und erstellen Sie ein kostenloses Okta-Testkonto. Der Developer Edition Service ist bis zu den von Okta unter developer.okta.com/pricing angegebenen Grenzen kostenlos.

  2. Wenn Sie die Aktivierungs-E-Mail erhalten, aktivieren Sie Ihr Konto.

    Ihnen wird ein Okta-Domain-Name zugewiesen. Speichern Sie den Domain-Namen als Referenz. Später verwenden Sie den Domainnamen (<okta-idp-domain>) in der JDBC Zeichenfolge, die mit Athena verbunden ist.

Schritt 2: Hinzufügen von Benutzern und Gruppen zu Okta

In diesem Schritt verwenden Sie die Okta-Konsole, um die folgenden Aufgaben auszuführen:

  • Erstellen Sie zwei Okta-Benutzer.

  • Erstellen von zwei Okta-Gruppen

  • Fügen Sie jeder Okta-Gruppe einen Okta-Benutzer hinzu.

So fügen Sie Okta Benutzer hinzu
  1. Nachdem Sie Ihr Okta-Konto aktiviert haben, melden Sie sich als Administrator bei der zugewiesenen Okta-Domain an.

  2. Wählen Sie im linken Navigationsbereich Verzeichnis und dann Personen aus.

  3. Wählen Sie Person hinzufügen, um einen neuen Benutzer hinzuzufügen, der über den JDBC Treiber auf Athena zugreift.

    Wählen Sie Person hinzufügen aus.
  4. Geben Sie im Dialogfeld Person hinzufügen die erforderlichen Informationen ein.

    • Geben Sie die Werte für Vorname und Nachname ein. Dieses Tutorial verwendet athena-okta-user.

    • Geben Sie einen Benutzernamen und eine primäre E-Mail-Adresse ein. Dieses Tutorial verwendet athena-okta-user@anycompany.com.

    • Wählen Sie für Passwort die Option Von Administrator festgelegt aus und geben Sie dann ein Passwort ein. In diesem Tutorial wird die Option für Benutzer muss Kennwort bei der ersten Anmeldung ändern deaktiviert; Ihre Sicherheitsanforderungen können variieren.

    Hinzufügen eines Benutzers zur Okta-Anwendung
  5. Wählen Sie Save and Add Another (Speichern und weitere hinzufügen).

  6. Geben Sie die Informationen für einen anderen Benutzer ein. In diesem Beispiel wird der Business Analyst-Benutzer hinzugefügt athena-ba-user@anycompany.com.

    Hinzufügen eines Benutzers zur Okta-Anwendung
  7. Wählen Sie Save (Speichern) aus.

Im folgenden Verfahren gewähren Sie über den JDBC Athena-Treiber Zugriff für zwei Okta-Gruppen, indem Sie eine Gruppe „Business Analysts“ und eine Gruppe „Developer“ hinzufügen.

So fügen Sie Okta-Gruppen hinzu
  1. Wählen Sie im Okta-Navigationsbereich Verzeichnis und dann Gruppen aus.

  2. Wählen Sie auf der Seite Gruppen die Option Gruppe hinzufügen aus.

    Wählen Sie Add Group (Gruppe hinzufügen).
  3. Geben Sie im Dialogfeld Gruppe hinzufügen die erforderlichen Informationen ein.

    • Geben Sie als Namen Folgendes ein lf-business-analyst.

    • Geben Sie für Gruppenbeschreibung Folgendes ein Business Analysts.

    Hinzufügen einer Okta-Gruppe
  4. Wählen Sie Add Group (Gruppe hinzufügen).

  5. Wählen Sie auf der Seite Gruppen erneut Gruppe hinzufügen aus. Dieses Mal geben Sie Informationen für die Entwicklergruppe ein.

  6. Geben Sie die erforderlichen Informationen ein.

    • Geben Sie als Namen ein lf-developer.

    • Geben Sie für Gruppenbeschreibung Folgendes ein Developers.

  7. Wählen Sie Add Group (Gruppe hinzufügen).

Nachdem Sie zwei Benutzer und zwei Gruppen haben, können Sie jeder Gruppe einen Benutzer hinzufügen.

So fügen Sie Benutzer Gruppen hinzu
  1. Wählen Sie auf der Seite Gruppen die soeben erstellte lf-developer-Gruppe aus. Sie fügen dieser Gruppe einen der Okta-Benutzer hinzu, die Sie als Entwickler erstellt haben.

    Wählen Sie lf-developer.
  2. Wählen Sie Manage People (Verwalten von Personen).

    Wählen Sie Manage People (Verwalten von Personen).
  3. Wählen Sie aus der Liste „Keine Mitglieder“ die Option aus athena-okta-user.

    Wählen Sie einen Benutzer aus, der zur Mitgliederliste hinzugefügt werden soll.

    Der Eintrag für den Benutzer wird von der Liste Keine Mitglieder links in die Liste Mitglieder rechts verschoben.

    Okta-Benutzer zu einer Okta-Gruppe hinzugefügt.
  4. Wählen Sie Save (Speichern) aus.

  5. Wählen Sie Zurück zur Gruppe oder wählen Sie Verzeichnis und dann Gruppen aus.

  6. Wählen Sie die lf-business-analystGruppe aus.

  7. Wählen Sie Manage People (Verwalten von Personen).

  8. Fügen Sie die athena-ba-userzur Mitgliederliste der lf-business-analystGruppe hinzu und wählen Sie dann Speichern aus.

  9. Wählen Sie Zurück zur Gruppe oder wählen Sie Verzeichnis, Gruppen.

    Auf der Seite Gruppen wird jetzt angezeigt, dass jede Gruppe einen Okta-Benutzer hat.

    Jeder Okta-Gruppe in der Okta-Konsole wurde ein Benutzer hinzugefügt.

Schritt 3: Richten Sie eine Okta-Anwendung für SAML die Authentifizierung ein

In diesem Schritt verwenden Sie die Okta-Entwicklerkonsole, um die folgenden Aufgaben auszuführen:

  • Fügen Sie eine SAML Anwendung zur Verwendung mit AWS hinzu.

  • Weisen Sie die Anwendung dem Okta-Benutzer zu.

  • Weisen Sie die Anwendung einer Okta-Gruppe zu.

  • Laden Sie die resultierenden Metadaten des Identitätsanbieters zur späteren Verwendung mit AWS herunter.

Um eine SAML Authentifizierungsanwendung hinzuzufügen
  1. Wählen Sie im Okta-Navigationsbereich Applications, Applications aus, damit Sie eine Okta-Anwendung für die SAML Authentifizierung bei Athena konfigurieren können.

  2. Klicken Sie auf Browse App Catalog (Durchsuchen von App-Katalog).

  3. Geben Sie in das Suchfeld Redshift ein.

  4. Wählen Sie Amazon Web Services Redshift. Die Okta-Anwendung in diesem Tutorial verwendet die bestehende SAML Integration für Amazon Redshift.

    Wählen Sie Amazon Web Services Redshift.
  5. Wählen Sie auf der Amazon Web Services Redshift-Seite Hinzufügen aus, um eine SAML basierte Anwendung für Amazon Redshift zu erstellen.

    Wählen Sie Hinzufügen, um eine SAML basierte Anwendung zu erstellen.
  6. Geben Sie für Anwendungsmarkierung Athena-LakeFormation-Okta ein und wählen Sie dann Fertig aus.

    Geben Sie einen Namen für die Okta-Anwendung ein.

Nachdem Sie nun eine Okta-Anwendung erstellt haben, können Sie sie den von Ihnen erstellten Benutzern und Gruppen zuweisen.

So weisen Sie die Anwendung Benutzern und Gruppen zu
  1. Wählen Sie auf der Anwendungsseite die LakeFormationAthena-Okta-Anwendung aus.

  2. Wählen Sie auf der Registerkarte Zuweisungen Zuweisen, Personen zuweisen.

    Wählen Sie Zuweisen, Personen zuordnen.
  3. Suchen Sie im Dialogfeld Athena- LakeFormation -Okta Personen zuweisen nach dem athena-okta-userBenutzer, den Sie zuvor erstellt haben.

  4. Wählen Sie Zuordnen, um den Benutzer der Anwendung zuzuordnen.

    Wählen Sie Assign (Zuweisen).
  5. Wählen Sie Save and Go Back (Speichern und zurückkehren).

  6. Wählen Sie Erledigt aus.

  7. Wählen Sie auf der Registerkarte Zuweisungen für die LakeFormationAthena-Okta-Anwendung die Optionen Zuweisen, Zu Gruppen zuweisen aus.

  8. Wählen Sie „Zuweisenlf-business-analyst, um die LakeFormationAthena-Okta-Anwendung der lf-business-analystGruppe zuzuweisen, und wählen Sie dann „Fertig“.

    Zuweisen einer Okta-Anwendung zu einer Okta-Benutzergruppe

    Die Gruppe wird in der Liste der Gruppen für die Anwendung angezeigt.

    Die Okta-Anwendung wird der Okta-Gruppe zugewiesen.

Jetzt können Sie die Metadaten der Identitätsanbieteranwendung für die Verwendung mit AWS herunterladen.

So laden Sie die Anwendungsmetadaten herunter
  1. Wählen Sie die Registerkarte Sign On (Anmelden) der Okta-Anwendung und klicken Sie dann mit der rechten Maustaste auf Identity Provider metadata (Metadaten des Identitätsanbieters).

    Klicken Sie mit der rechten Maustaste auf Identity Provider metadata (Metadaten des Identitätsanbieters).
  2. Wählen Sie „Link speichern unter“, um die Metadaten des Identitätsanbieters, die im XML Format vorliegen, in einer Datei zu speichern. Geben Sie ihm einen Namen, den Sie kennen (z. B. Athena-LakeFormation-idp-metadata.xml).

    Speichern der Metadaten des Identitätsanbieters

Schritt 4: Erstellen Sie eine AWS SAML Identitätsanbieter- und Lake Formation IAM Formation-Zugriffsrolle

In diesem Schritt verwenden Sie die AWS Identity and Access Management (IAM) -Konsole, um die folgenden Aufgaben auszuführen:

  • Erstellen Sie einen Identitätsanbieter für AWS.

  • Erstellen Sie eine IAM Rolle für den Zugriff auf Lake Formation.

  • Fügen Sie der Rolle die AmazonAthenaFullAccess verwaltete Richtlinie hinzu.

  • Fügen Sie der Rolle eine Richtlinie für Lake Formation und AWS Glue hinzu.

  • Fügen Sie der Rolle eine Richtlinie für Athena-Abfrageergebnisse hinzu.

Um einen AWS SAML Identitätsanbieter zu erstellen
  1. Melden Sie sich bei der Amazon Web Services Services-Kontokonsole als Amazon Web Services Services-Kontoadministrator an und navigieren Sie zur IAMKonsole (https://console.aws.amazon.com/iam/).

  2. Wählen Sie im Navigationsbereich Identitätsanbieter und dann Anbieter hinzufügen aus.

  3. Geben Sie auf dem Bildschirm Anbieter konfigurieren die folgenden Informationen ein:

    • Wählen Sie als Anbietertyp SAML.

    • Geben Sie für Anbietername AthenaLakeFormationOkta ein.

    • Verwenden Sie für ein Metadatendokument die Option Datei auswählen, um die heruntergeladene XML Metadatendatei des Identitätsanbieters (IdP) hochzuladen.

  4. Wählen Sie Add provider (Anbieter hinzufügen) aus.

Als Nächstes erstellen Sie eine IAM AWS Lake Formation Zugriffsrolle. Sie fügen der Rolle zwei Inline-Richtlinien hinzu. Eine Richtlinie gewährt Berechtigungen für den Zugriff auf Lake Formation und die AWS Glue APIs. Die andere Richtlinie bietet Zugriff auf Athena und den Speicherort der Athena-Abfrageergebnisse in Amazon S3.

Um eine IAM Rolle für den AWS Lake Formation Zugriff zu erstellen
  1. Wählen Sie im Navigationsbereich der IAM Konsole Rollen und anschließend Rolle erstellen aus.

  2. Führen Sie auf der Seite Rolle erstellen die folgenden Schritte aus:

    Konfiguration einer IAM Rolle für die Verwendung von SAML 2.0.
    1. Wählen Sie unter Typ der vertrauenswürdigen Entität auswählen die Option SAML2.0 Federation aus.

    2. Wählen Sie als SAMLAnbieter die Option aus AthenaLakeFormationOkta.

    3. Wählen Sie als SAMLAnbieter die Option Programmatik und AWS Management Console Zugriff zulassen aus.

    4. Wählen Sie Next: Permissions (Weiter: Berechtigungen) aus.

  3. Geben Sie auf der Seite Berechtigungsrichtlinien anhängen für Filterrichtlinien Athena ein.

  4. Wählen Sie die AmazonAthenaFullAccessverwaltete Richtlinie aus und klicken Sie dann auf Weiter: Tags.

    Anhängen der AmazonAthenaFullAccessverwalteten Richtlinie an die IAM Rolle.
  5. Wählen Sie auf der Seite Add tags (Tags hinzufügen) die Option Next: Review (Weiter: Prüfen) aus.

  6. Geben Sie auf der Seite Überprüfen in das Feld Rollenname einen Namen für die Rolle ein (z. B. Athena-LakeFormation-OktaRole), und wählen Sie dann Rolle erstellen aus.

    Geben Sie einen Namen für die IAM Rolle ein.

Als Nächstes fügen Sie Inline-Richtlinien hinzu, die den Zugriff auf Lake Formation- AWS Glue APIs und Athena-Abfrageergebnisse in Amazon S3 ermöglichen.

Wenn Sie IAM Richtlinien verwenden, stellen Sie sicher, dass Sie sich an IAM bewährte Methoden halten. Weitere Informationen finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch.

Um der Rolle für Lake Formation eine Inline-Richtlinie hinzuzufügen und AWS Glue
  1. Wählen Sie aus der Liste der Rollen in der IAM Konsole die neu erstellte ausAthena-LakeFormation-OktaRole.

  2. Wählen Sie auf der Seite Zusammenfassung für die Rolle auf der Registerkarte Berechtigungen die Option Inline-Richtlinie hinzufügen aus.

  3. Wählen Sie auf der Seite Richtlinie erstellen die Option JSON.

  4. Fügen Sie eine Inline-Richtlinie wie die folgende hinzu, die Zugriff auf Lake Formation und die bietet AWS Glue APIs.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase", "glue:GetUserDefinedFunction", "glue:GetUserDefinedFunctions" ], "Resource": "*" } }
  5. Wählen Sie Richtlinie prüfen.

  6. Geben Sie unter Name einen Namen für die Richtlinie ein (z. B. LakeFormationGlueInlinePolicy).

  7. Wählen Sie Create Policy (Richtlinie erstellen) aus.

So fügen Sie der Rolle für den Speicherort der Athena Abfrageergebnisse eine Inline-Richtlinie hinzu
  1. Wählen Sie auf der Seite Zusammenfassung für die Athena-LakeFormation-OktaRole-Rolle auf der Registerkarte Berechtigungen die Option Inline-Richtlinie hinzufügen aus.

  2. Wählen Sie auf der Seite Richtlinie erstellen die Option JSON.

  3. Fügen Sie eine Inline-Richtlinie wie die folgende hinzu, die der Rolle Zugriff auf den Speicherort der Athena-Abfrageergebnisse ermöglicht. Ersetzen Sie das <athena-query-results-bucket> Platzhalter im Beispiel mit dem Namen Ihres Amazon S3 S3-Buckets.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AthenaQueryResultsPermissionsForS3", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<athena-query-results-bucket>", "arn:aws:s3:::<athena-query-results-bucket>/*" ] } ] }
  4. Wählen Sie Richtlinie prüfen.

  5. Geben Sie unter Name einen Namen für die Richtlinie ein (z. B. AthenaQueryResultsInlinePolicy).

  6. Wählen Sie Create Policy (Richtlinie erstellen) aus.

Als Nächstes kopieren Sie die ARN Zugriffsrolle Lake Formation und die ARN des SAML Anbieters, den Sie erstellt haben. Diese sind erforderlich, wenn Sie die SAML Okta-Anwendung im nächsten Abschnitt des Tutorials konfigurieren.

Um die Rolle ARN und den SAML Identitätsanbieter zu kopieren ARN
  1. Wählen Sie in der IAM Konsole auf der Übersichtsseite für die Athena-LakeFormation-OktaRole Rolle das Symbol In die Zwischenablage kopieren neben Rolle ARN aus. Das ARN hat das folgende Format:

    arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
  2. Bewahren Sie das vollständige Dokument ARN sicher auf, damit Sie später darauf zurückgreifen können.

  3. Wählen Sie im Navigationsbereich der IAM Konsole Identity Providers aus.

  4. Wählen Sie den AthenaLakeFormationOktaAnbieter aus.

  5. Wählen Sie auf der Übersichtsseite das Symbol In die Zwischenablage kopieren neben Anbieter ARN aus. Das ARN sollte wie folgt aussehen:

    arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta
  6. Bewahren Sie das vollständige Dokument ARN sicher auf, damit Sie später darauf zurückgreifen können.

Schritt 5: Fügen Sie die IAM Rolle und den SAML Identity Provider zur Okta-Anwendung hinzu

In diesem Schritt kehren Sie zur Okta-Entwicklerkonsole zurück und führen die folgenden Aufgaben aus:

  • Fügen Sie der Okta-Anwendung Lake URL Formation-Attribute für Benutzer und Gruppen hinzu.

  • Fügen Sie der ARN Okta-Anwendung die ARN für den Identitätsanbieter und die für die IAM Rolle hinzu.

  • Kopieren Sie die Okta-Anwendungs-ID. Die Okta-Anwendungs-ID ist in dem JDBC Profil erforderlich, das eine Verbindung zu Athena herstellt.

So fügen Sie Lake URL Formation-Attribute für Benutzer und Gruppen zur Okta-Anwendung hinzu
  1. Melden Sie sich bei der Okta-Entwicklerkonsole an.

  2. Wählen Sie die Registerkarte Anwendungen und dann die Athena-LakeFormation-Okta-Anwendung aus.

  3. Wählen Sie auf der Registerkarte Sign On (Anmelden) für die Anwendung und dann Edit (Bearbeiten).

    Bearbeiten Sie die Okta-Anwendung.
  4. Wählen Sie Attribute (optional), um es zu erweitern.

    Hinzufügen eines Lake URL Formation-Attributs für den Benutzer zur Okta-Anwendung.
  5. Fügen Sie für Attributanweisungen (optional) das folgende Attribut hinzu:

    • Geben Sie unter Name https://lakeformation.amazon.com/SAML/Attributes/Username ein.

    • Geben Sie für Wert user.login ein

  6. Fügen Sie unter Gruppenattributanweisungen (optional) das folgende Attribut hinzu:

    • Geben Sie unter Name https://lakeformation.amazon.com/SAML/Attributes/Groups ein.

    • Geben Sie für Namensformat Basic ein

    • Wählen Sie für Filter die Option Entspricht Regex und geben Sie dann .* in das Filterfeld ein.

    Hinzufügen eines URL Gruppen-Attributs Lake Formation zur Okta-Anwendung.
  7. Scrollen Sie nach unten zum Abschnitt Erweiterte Anmeldeeinstellungen, in dem Sie der Okta-Anwendung den Identitätsanbieter und die IAM Rolle ARNs hinzufügen.

Um den ARNs für den Identitätsanbieter und die IAM Rolle zur Okta-Anwendung hinzuzufügen
  1. Geben Sie für Idp ARN und Role ARN den AWS Identitätsanbieter ARN und die Rolle ARN als kommagetrennte Werte im folgenden Format ein <saml-arn>,<role-arn>. Die kombinierte Zeichenfolge sollte wie folgt aussehen:

    arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta,arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
    Eingabe des Identitätsanbieters ARN und der IAM Rolle ARN in der Okta-Anwendung.
  2. Wählen Sie Save (Speichern) aus.

Als Nächstes kopieren Sie die Okta-Anwendungs-ID. Sie werden dies später für die JDBC Zeichenfolge benötigen, die eine Verbindung zu Athena herstellt.

So suchen und kopieren Sie die Okta-Anwendung-ID
  1. Wählen Sie das Symbol Allgemein der Okta-Anwendung.

    Wählen Sie das Symbol Allgemein der Okta-Anwendung.
  2. Scrollen Sie nach unten zum Abschnitt App-Einbettungslink.

  3. Kopieren Sie aus dem Feld Link einbetten den Teil mit der Okta-Anwendungs-ID von und speichern Sie ihn sicher. URL Die Okta-Anwendungs-ID ist der Teil URL hinter, amazon_aws_redshift/ aber vor dem nächsten Schrägstrich. Wenn beispielsweise der URL enthältamazon_aws_redshift/aaa/bbb, lautet die Anwendungs-ID. aaa

    Kopieren Sie die ID der Okta-Anwendung.
Anmerkung

Sie können den Einbettungslink nicht verwenden, um sich direkt bei der Athena-Konsole anzumelden, um Datenbanken anzuzeigen. Die Lake Formation Formation-Berechtigungen für SAML Benutzer und Gruppen werden nur erkannt, wenn Sie den ODBC Treiber JDBC oder verwenden, um Anfragen an Athena zu senden. Um die Datenbanken anzuzeigen, können Sie das SQL Workbench/J-Tool verwenden, das den JDBC Treiber verwendet, um eine Verbindung zu Athena herzustellen. Das SQL Workbench/J-Tool wird unter behandelt. Schritt 7: Überprüfen Sie den Zugriff über den Athena-Client JDBC

Schritt 6: Erteilen Sie Benutzer- und Gruppenberechtigungen über AWS Lake Formation

In diesem Schritt verwenden Sie die Lake Formation Formation-Konsole, um dem SAML Benutzer und der Gruppe Berechtigungen für eine Tabelle zu erteilen. Sie können folgende Aufgaben ausführen:

  • Geben Sie die Berechtigungen ARN des SAML Okta-Benutzers und die zugehörigen Benutzerberechtigungen für die Tabelle an.

  • Geben Sie die Berechtigungen ARN für die SAML Okta-Gruppe und die zugehörigen Gruppenberechtigungen für die Tabelle an.

  • Überprüfen Sie die Berechtigungen, die Sie erteilt haben.

So erteilen Sie dem Okta-Benutzer Berechtigungen in Lake Formation
  1. Melden Sie sich als Data-Lake-Administrator bei der AWS Management Console an.

  2. Öffnen Sie die Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/.

  3. Wählen Sie im Navigationsbereich Tabellen aus, und wählen Sie dann die Tabelle aus, für die Sie Berechtigungen erteilen möchten. Dieses Tutorial verwendet die nyctaxi-Tabelle aus der tripdb-Datenbank.

    Wählen Sie die Tabelle aus, für die Sie Berechtigungen erteilen möchten.
  4. Wählen Sie unter Aktionen die Option Gewähren aus.

    Wählen Sie Gewähren.
  5. Geben Sie im Dialogfeld Berechtigungen gewähren die folgenden Informationen ein:

    1. Geben Sie unter SAMLund QuickSight Amazon-Benutzer und -Gruppen den SAML Okta-Benutzer ARN im folgenden Format ein:

      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:user/<athena-okta-user>@<anycompany.com>
    2. Wählen Sie für Spalten für Filtertyp auswählen und optional Spalten einschließen oder Spalten ausschließen aus.

    3. Verwenden Sie das Dropdown-Menü Eine oder mehrere Spalten auswählen unter dem Filter, um die Spalten anzugeben, die Sie für den Benutzer ein- oder ausschließen möchten.

    4. Wählen Sie für Tabellenberechtigungen die Option Auswählen aus. Dieses Tutorial gewährt nur die SELECT-Berechtigung; Ihre Anforderungen können variieren.

      Erteilen von Berechtigungen auf Tabellen- und Spaltenebene an einen Okta-Benutzer.
  6. Wählen Sie Gewähren.

Jetzt führen Sie ähnliche Schritte für die Okta-Gruppe aus.

So erteilen Sie Berechtigungen in Lake Formation für die Okta-Gruppe
  1. Stellen Sie auf der Seite Tabellen der Lake-Formation-Konsole sicher, dass die nyctaxi-Tabelle noch ausgewählt ist.

  2. Wählen Sie unter Aktionen die Option Gewähren aus.

  3. Geben Sie im Dialogfeld Berechtigungen gewähren die folgenden Informationen ein:

    1. Geben Sie unter SAMLund QuickSight Amazon-Benutzer und -Gruppen die SAML Okta-Gruppe ARN im folgenden Format ein:

      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:group/lf-business-analyst
    2. Wählen Sie für Spalten, Filtertyp auswählen, Spalten einschließen aus.

    3. Wählen Sie für Eine oder mehrere Spalten auswählen die ersten drei Spalten der Tabelle aus.

    4. Wählen Sie für Tabellenberechtigungen die zu erteilenden spezifischen Zugriffsberechtigungen aus. Dieses Tutorial gewährt nur die SELECT-Berechtigung; Ihre Anforderungen können variieren.

      Erteilen von Tabellenberechtigungen für eine Okta-Gruppe
  4. Wählen Sie Gewähren.

  5. Um die von Ihnen erteilten Berechtigungen zu überprüfen, wählen Sie Aktionen, Berechtigungen anzeigen.

    Wählen Sie Berechtigungen anzeigen aus, um die erteilten Berechtigungen zu überprüfen.

    Auf der Seite mit den Datenberechtigungen für die nyctaxi Tabelle werden die Berechtigungen für athena-okta-userund die lf-business-analystGruppe angezeigt.

    Anzeigen der Berechtigungen, die dem Okta-Benutzer und der Gruppe erteilt wurden.

Schritt 7: Überprüfen Sie den Zugriff über den Athena-Client JDBC

Jetzt sind Sie bereit, einen JDBC Client zu verwenden, um als SAML Okta-Benutzer eine Testverbindung zu Athena herzustellen.

In diesem Abschnitt führen Sie die folgenden Aufgaben aus:

  • Bereiten Sie den Testclient vor — Laden Sie den JDBC Athena-Treiber herunter, installieren Sie SQL Workbench und fügen Sie den Treiber zu Workbench hinzu. In diesem Tutorial wird SQL Workbench verwendet, um über die Okta-Authentifizierung auf Athena zuzugreifen und die Lake Formation Formation-Berechtigungen zu überprüfen.

  • In Workbench: SQL

    • Erstellen Sie eine Verbindung für den Athena-Okta-Benutzer.

    • Führen Sie Testabfragen als Athena-Okta-Benutzer aus.

    • Erstellen und testen Sie eine Verbindung für den Benutzer des Business Analyst.

  • Fügen Sie in der Okta-Konsole den Business-Analyst-Benutzer der Entwicklergruppe hinzu.

  • Konfigurieren Sie in der Lake-Formation-Konsole Tabellenberechtigungen für die Entwicklergruppe.

  • Führen Sie in SQL Workbench Testabfragen als Business Analyst-Benutzer aus und überprüfen Sie, wie sich die Änderung der Berechtigungen auf die Ergebnisse auswirkt.

So bereiten Sie den Test-Client vor
  1. Laden Sie den Lake Formation Formation-kompatiblen JDBC Athena-Treiber (2.0.14 oder höher) von herunter und extrahieren Sie ihn. Connect zu Amazon Athena her mit JDBC

  2. Laden Sie das kostenlose SQLWorkbench/J SQL Query-Tool herunter und installieren Sie es, das unter einer modifizierten Apache 2.0-Lizenz erhältlich ist.

  3. Wählen Sie in SQL Workbench Datei und dann Treiber verwalten aus.

    Wählen Sie Manage Drivers aus.
  4. Führen Sie im Dialogfeld Treiber verwalten die folgenden Schritte aus:

    1. Wählen Sie das Symbol für den neuen Treiber.

    2. Geben Sie unter Name Athena ein.

    3. Suchen Sie unter Bibliothek nach der Simba JDBC .jar Athena-Datei, die Sie gerade heruntergeladen haben, und wählen Sie sie aus.

    4. Wählen Sie OK aus.

      Hinzufügen des JDBC Athena-Treibers zu SQL Workbench.

Sie können nun eine Verbindung für den Athena-Okta-Benutzer erstellen und testen.

So erstellen Sie eine Verbindung für den Okta-Benutzer
  1. Wählen Sie Datei, Verbindungsfenster.

    Wählen Sie Verbindungsfenster.
  2. Erstellen Sie im Dialogfeld Verbindungsprofil eine Verbindung, indem Sie die folgenden Informationen eingeben:

    • Geben Sie im Feld Name Athena_Okta_User_Connection ein.

    • Wählen Sie als Treiber den Simba Athena JDBC Driver aus.

    • Führen Sie für URLeinen der folgenden Schritte aus:

      • Um eine Verbindung zu verwendenURL, geben Sie eine einzeilige Verbindungszeichenfolge ein. Das folgende Beispiel fügt Zeilenumbrüche für eine bessere Lesbarkeit hinzu.

        jdbc:awsathena://AwsRegion=region-id; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider; user=athena-okta-user@anycompany.com; password=password; idp_host=okta-idp-domain; App_ID=okta-app-id; SSL_Insecure=true; LakeFormationEnabled=true;
      • Gehen Sie wie folgt vor, um eine AWS profilbasierte URL Verbindung zu verwenden:

        1. Konfigurieren Sie ein AWS Profil mit einer AWS Anmeldeinformationsdatei wie im folgenden Beispiel.

          [athena_lf_dev] plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider idp_host=okta-idp-domain app_id=okta-app-id uid=athena-okta-user@anycompany.com pwd=password
        2. Geben Sie für URLeine einzeilige Verbindungszeichenfolge wie im folgenden Beispiel ein. Das Beispiel fügt Zeilenumbrüche für eine bessere Lesbarkeit hinzu.

          jdbc:awsathena://AwsRegion=region-id; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; profile=athena_lf_dev; SSL_Insecure=true; LakeFormationEnabled=true;

      Beachten Sie, dass es sich bei diesen Beispielen um grundlegende Darstellungen der für die Verbindung mit Athena URL erforderlichen Funktionen handelt. Eine vollständige Liste der in der unterstützten Parameter finden Sie in der JDBCDokumentation. URL

    Die folgende Abbildung zeigt ein SQL Workbench-Verbindungsprofil, das eine Verbindung URL verwendet.

    Ein Verbindungsprofil in SQL Workbench.

Nachdem Sie eine Verbindung für den Okta-Benutzer hergestellt haben, können Sie diese testen, indem Sie einige Daten abrufen.

So testen Sie die Verbindung für den Okta-Benutzer
  1. Wählen Sie Test (Testen) und überprüfen Sie dann, ob die Verbindung erfolgreich ist.

  2. Führen Sie im Fenster SQL Workbench Statement den folgenden SQL DESCRIBE Befehl aus. Stellen Sie sicher, dass alle Spalten angezeigt werden.

    DESCRIBE "tripdb"."nyctaxi"
    Alle Spalten werden angezeigt.
  3. Führen Sie im Fenster SQL Workbench Statement den folgenden SQL SELECT Befehl aus. Stellen Sie sicher, dass alle Spalten angezeigt werden.

    SELECT * FROM tripdb.nyctaxi LIMIT 5
    Stellen Sie sicher, dass alle Spalten angezeigt werden.

Als Nächstes überprüfen Sie athena-ba-user, ob der als Mitglied der lf-business-analystGruppe nur Zugriff auf die ersten drei Spalten der Tabelle hat, die Sie zuvor in Lake Formation angegeben haben.

Um den Zugriff für die zu überprüfen athena-ba-user
  1. Erstellen Sie in SQL Workbench im Dialogfeld Verbindungsprofil ein anderes Verbindungsprofil.

    • Geben Sie als Verbindungsprofilnamen Athena_Okta_Group_Connection ein.

    • Wählen Sie als Treiber den Simba JDBC Athena-Treiber aus.

    • Führen Sie für URLeinen der folgenden Schritte aus:

      • Um eine Verbindung zu verwendenURL, geben Sie eine einzeilige Verbindungszeichenfolge ein. Das folgende Beispiel fügt Zeilenumbrüche für eine bessere Lesbarkeit hinzu.

        jdbc:awsathena://AwsRegion=region-id; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider; user=athena-ba-user@anycompany.com; password=password; idp_host=okta-idp-domain; App_ID=okta-application-id; SSL_Insecure=true; LakeFormationEnabled=true;
      • Gehen Sie wie folgt vor, um eine AWS profilbasierte URL Verbindung zu verwenden:

        1. Konfigurieren Sie ein AWS Profil mit einer Anmeldeinformationsdatei wie im folgenden Beispiel.

          [athena_lf_ba] plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider idp_host=okta-idp-domain app_id=okta-application-id uid=athena-ba-user@anycompany.com pwd=password
        2. Geben Sie für URLeine einzeilige Verbindungszeichenfolge wie die folgende ein. Das Beispiel fügt Zeilenumbrüche für eine bessere Lesbarkeit hinzu.

          jdbc:awsathena://AwsRegion=region-id; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; profile=athena_lf_ba; SSL_Insecure=true; LakeFormationEnabled=true;
  2. Wählen Sie Testen, um zu bestätigen, dass die Verbindung erfolgreich ist.

  3. Führen Sie im Fenster mit der SQLAnweisung dieselben DESCRIBE SELECT SQL Befehle aus wie zuvor und überprüfen Sie die Ergebnisse.

    Da athena-ba-useres ein Mitglied der lf-business-analystGruppe ist, werden nur die ersten drei Spalten zurückgegeben, die Sie in der Lake Formation Formation-Konsole angegeben haben.

    Es werden nur die ersten drei Spalten zurückgegeben.
    Daten aus den ersten drei Spalten.

Als nächstes kehren Sie zur Okta-Konsole zurück, um den athena-ba-user zur lf-developer-Okta-Gruppe hinzuzufügen.

Um das athena-ba-user zur Gruppe lf-developer hinzuzufügen
  1. Melden Sie sich bei der Okta-Konsole als Administrator der zugewiesenen Okta-Domain an.

  2. Wählen Sie Verzeichnis und dann Gruppen aus.

  3. Wählen Sie auf der Seite Gruppen die Gruppe lf-developer aus.

    Wählen Sie die lf-developer-Gruppe.
  4. Wählen Sie Manage People (Verwalten von Personen).

  5. Wählen Sie aus der Liste „Keine Mitglieder“ die aus, athena-ba-userum sie der Gruppe lf-developer hinzuzufügen.

  6. Wählen Sie Save (Speichern) aus.

Nun kehren Sie zur Lake Formation-Konsole zurück, um die Tabellenberechtigungen für die lf-developer-Gruppe zu konfigurieren.

Um Tabellenberechtigungen für die zu konfigurieren lf-developer-group
  1. Melden Sie sich als Data-Lake-Administrator bei der Lake-Formation-Konsole an.

  2. Wählen Sie im Navigationsbereich Tables (Tabellen) aus.

  3. Wählen Sie die nyctaxi-Tabelle aus.

  4. Wählen Sie Aktionen, Gewähren.

  5. Geben Sie im Dialogfeld Berechtigungen gewähren die folgenden Informationen ein:

    • Geben Sie für SAML QuickSight Amazon-Benutzer und -Gruppen die Okta SAML lf-developer group ARN im folgenden Format ein:

    • Wählen Sie für Spalten, Filtertyp auswählen, Spalten einschließen aus.

    • Wählen Sie die Spalte trip_type aus.

    • Wählen Sie für Tabellenberechtigungen die Option. SELECT

  6. Wählen Sie Gewähren.

Jetzt können Sie SQL Workbench verwenden, um die Änderung der Berechtigungen für die Gruppe lf-developer zu überprüfen. Die Änderung sollte sich in den verfügbaren Daten widerspiegeln athena-ba-user, die jetzt Mitglied der LF-Developer-Gruppe sind.

Um die Änderung der Berechtigungen für zu überprüfen athena-ba-user
  1. Schließen Sie das SQL Workbench-Programm, und öffnen Sie es erneut.

  2. Connect zum Profil für her athena-ba-user.

  3. Geben Sie im Fenster „Kontoauszug“ dieselben SQL Anweisungen aus, die Sie zuvor ausgeführt haben:

    Dieses Mal wird die Spalte trip_type angezeigt.

    Die vierte Spalte ist für die Abfrage verfügbar.

    Da athena-ba-useres jetzt sowohl Mitglied von lf-developer als auch von lf-business-analystgroups ist, bestimmt die Kombination der Lake Formation Formation-Berechtigungen für diese Gruppen, welche Spalten zurückgegeben werden.

    Die vierte Spalte in den Datenergebnissen.

Schlussfolgerung

In diesem Tutorial haben Sie die Athena-Integration AWS Lake Formation mit Okta als Anbieter konfiguriert. SAML Sie haben Lake Formation und IAM zur Steuerung der Ressourcen verwendet, die dem SAML Benutzer in Ihrem Data AWS Glue Lake-Datenkatalog zur Verfügung stehen.

Weitere Informationen finden Sie in den folgenden Ressourcen.