Im ersten Beitrag dieser Serie Föderieren Sie den Zugriff auf Ihren Amazon Redshift-Cluster mit Active Directory Federation Services (AD FS): Teil 1haben Sie die auf Microsoft Active Directory Federation Services (AD FS) und Security Assertion Markup Language (SAML) basierende Authentifizierung eingerichtet und den SAML-Verbund mithilfe eines Webbrowsers getestet.
In Teil 2, Sie haben gelernt, ein einzurichten Amazon RedShift Cluster und verwenden Sie die Verbundauthentifizierung mit AD FS, um eine Verbindung über ein JDBC-SQL-Clienttool herzustellen.
In diesem Beitrag gehen wir die Schritte zur Konfiguration durch Amazon Redshift-Abfrage-Editor v2 um mit AD FS Federation SSO zu arbeiten.
Unternehmen möchten ihren Endbenutzern wie Datenanalysten, Datenwissenschaftlern und Datenbankentwicklern die Verwendung des Abfrageeditors v2 ermöglichen, um Self-Service-Analysen zu beschleunigen. Mit dem Abfrageeditor v2 von Amazon Redshift können Benutzer Daten erkunden, analysieren und gemeinsam daran arbeiten. Mit dem Abfrageeditor können Sie Datenbanken, Schemata und Tabellen erstellen und Daten aus Amazon Simple Storage Service (Amazon S3) laden, indem Sie den COPY-Befehl oder einen Assistenten verwenden. Sie können mehrere Datenbanken durchsuchen und Abfragen in Ihrem Amazon Redshift Data Warehouse oder Data Lake ausführen oder Verbundabfragen an operative Datenbanken ausführen, z Amazonas-Aurora.
In diesem Beitrag zeigen wir, wie Sie Ihr Unternehmens-Active Directory (AD) und den SAML 2.0 AD FS-Identitätsanbieter (IdP) verwenden können, um Ihren Benutzern den einfachen Zugriff auf Amazon Redshift-Cluster über den Abfrageeditor v2 unter Verwendung von Unternehmensbenutzernamen zu ermöglichen, ohne Datenbankbenutzer verwalten zu müssen und Passwörter. Wir zeigen auch, wie Sie den Zugriff Ihrer Benutzer auf die Verwendung nur des Abfrageeditors beschränken können, ohne ihnen Zugriff auf die Ausführung von Administratorfunktionen zu gewähren AWS-Managementkonsole.
Lösungsüberblick
Nachdem Sie die in erläuterten Schritte ausgeführt haben Teil 1, Sie richten ein tiefe Verbindung für Verbundbenutzer über SAML 2.0 RelayState
Parameter in AD FS. Sie verwenden den Benutzer, den Sie in Ihrem AD in Teil 1 eingerichtet haben (Bob
), um sich mithilfe von AD FS zu authentifizieren und den Zugriff auf Datenbankobjekte basierend auf der Gruppe zu steuern, der der Benutzer zugewiesen ist. Sie testen auch, ob Benutzer Bob
ist in Amazon Redshift-Datenbankgruppen integriert, wie in AD-Gruppen gesteuert.
Am Ende dieses Beitrags haben Sie einen eindeutigen Deep-Link erstellt, der den Benutzer authentifiziert Bob
mithilfe von AD FS und leitet sie direkt an die Konsole des Abfrageeditors v2 weiter, wo sie mithilfe der Verbund-SSO-Option authentifiziert werden.
Der Anmeldevorgang läuft wie folgt ab:
- Der Benutzer wählt einen Deep-Link, der zur Authentifizierung zum IdP weiterleitet, wobei die Informationen über die Ziel-URL (in unserem Fall Abfrageeditor v2) darin eingebettet sind
RelayState
Parameter. Der Benutzer gibt seine Zugangsdaten auf der Anmeldeseite ein. - Ihr IdP (im Fall AD FS) überprüft die Identität des Benutzers in Ihrer Organisation.
- Ihr IdP generiert eine SAML-Authentifizierungsantwort, die Behauptungen zur Identifizierung des Benutzers und Attribute über den Benutzer enthält. Der IdP sendet diese Antwort an den Browser des Benutzers.
- Der Browser des Benutzers wird auf die umgeleitet AWS-Einzelanmeldung Endpunkt und veröffentlicht die SAML-Behauptung und die
RelayState
Parameters. - Der Endpunkt ruft die auf
AssumeRoleWithSAML
API-Aktion zum Anfordern temporärer Anmeldeinformationen von AWS Identity and Access Management and (IAM)-Rolle, die in der SAML-Assertion angegeben ist, und erstellt eine Anmelde-URL für die Abfrage-Editor-v2-Konsole, die diese Anmeldeinformationen verwendet. Die IAM-Rolle vertraut der SAML-Verbundentität und verfügt außerdem über eine Richtlinie, die Zugriff auf den Abfrageeditor V2 hat. Wenn die SAML-Authentifizierungsantwort Attribute enthält, die mehreren IAM-Rollen zugeordnet sind, wird der Benutzer zunächst aufgefordert, die Rolle auszuwählen, die für den Zugriff auf die Konsole des Abfrageeditors v2 verwendet werden soll. Die Anmelde-URL ist diejenige, die von angegeben wirdRelayState
Parameters. - AWS sendet die Anmelde-URL als Weiterleitung zurück an den Browser des Benutzers.
- Der Browser des Benutzers wird an die vom Amazon Redshift Query Editor v2 definierte Konsole umgeleitet
RelayState
Parameters.
Das folgende Diagramm veranschaulicht diesen Ablauf.
In diesem Beitrag führen wir Sie durch die folgenden Schritte:
- Richten Sie die
Sales
Gruppe in AD und richten Sie die einPrincipalTag
Anspruchsregeln in AD FS. - Aktualisieren Sie die IAM-Rollen.
- Erstellen Sie die SSO-URL, um Benutzer zu authentifizieren und zur Amazon Redshift Query Editor v2-Konsole umzuleiten.
- Richten Sie die Amazon Redshift-Datenbank ein Gruppen und Berechtigungen für den Amazon-Redshift-Cluster.
- Richten Sie Amazon Redshift Query Editor v2 so ein, dass die Verbundauthentifizierung mit AD FS verwendet wird, um eine direkte Verbindung über die Schnittstelle des Query Editors herzustellen.
- Fragen Sie Amazon-Redshift-Objekte ab, um Ihre Autorisierung zu validieren.
Voraussetzungen:
Führen Sie für diese exemplarische Vorgehensweise die folgenden erforderlichen Schritte aus:
- Erstellen Sie einen Amazon-Redshift-Cluster. Anweisungen finden Sie unter Erstellen Sie einen Amazon Redshift-Beispielcluster oder führen Sie die Schritte in aus Teil 2 dieser Serie.
- Führen Sie die Schritte aus Teil 1 So richten Sie einen SAML-Verbund mit AD FS ein:
- Richten Sie einen AD-Domänencontroller mithilfe eines ein AWS CloudFormation Vorlage auf einem Windows 2016 Amazon Elastic Compute-Cloud (Amazon EC2)-Instanz.
- Konfigurieren Sie den Verbund in AD FS.
- Konfigurieren Sie AWS als vertrauende Partei mit AD FS mithilfe eines IAM-SAML-Anbieters und SAML-Rollen mit einer angehängten Richtlinie, um den Zugriff auf den Amazon-Redshift-Cluster zu ermöglichen.
- Anspruchsregeln konfigurieren.
- Testen Sie die SAML-Authentifizierung mit einem Webbrowser.
- Stellen Sie sicher, dass Ihr IdP dies unterstützt
RelayState
und ist aktiviert. Wenn Sie AD FS 2.0 verwenden, müssen Sie eines davon herunterladen und installieren Update-Rollup 3 or Update-Rollup 2 von Microsoft, um das zu aktivierenRelayState
Parameters.
Konfigurieren Sie AD und AD FS
Nachdem Sie Ihre AD FS- und AD-Dienste konfiguriert haben, indem Sie den Anweisungen in folgen Teil 1können Sie die folgenden AD-Gruppen- und Anspruchsregeln einrichten.
In diesem Beitrag verwenden Sie den Benutzer Bob
Melden Sie sich bei Amazon Redshift an und prüfen Sie, ob Bob
kann auf die zugreifen Sales
und Marketing
Schemata auf dem Amazon-Redshift-Cluster. Um das zu erstellen sales
Gruppe und weisen Sie den Benutzer zu Bob@adfsredshift.com
Melden Sie sich dazu bei Ihrem AD FS-Server (Amazon EC2-Computer) an, den Sie in Teil 1 erstellt haben, und führen Sie mit dem Windows-Befehlstool den folgenden Befehl aus:
Jetzt können Sie Ihre benutzerdefinierten Anspruchsregeln erstellen: PrincipalTag:RedshiftDbUser
und PrincipalTag:RedshiftDbGroup
.
PrincipalTag:RedshiftDbUser
Die benutzerdefinierte Anspruchsregel PrincipalTag:RedshiftDbUser
wird dem universellen Prinzipalnamen in AD FS zugeordnet. Wenn sich ein Benutzer über Verbund-SSO authentifiziert, wird diese Anspruchsregel dem Benutzernamen zugeordnet. Wenn der Benutzer nicht in der Amazon-Redshift-Datenbank vorhanden ist, wird der Benutzer automatisch erstellt. Die Option zum automatischen Erstellen wird durch eine IAM-Richtlinie gewährt, die der IAM-Rolle zugeordnet ist. Der CreateClusterUser
Die Berechtigung ermöglicht die automatische Erstellung des Benutzers (Sie richten dies als Teil von Teil 1 als Voraussetzung ein).
Führen Sie die folgenden Schritte aus, um Ihre benutzerdefinierte Anspruchsregel zu erstellen:
-
- Wählen Sie in der AD FS-Verwaltungskonsole die Option aus Vertrauenden Partei Trusts.
- Auswählen Anspruchsausstellungsrichtlinie bearbeiten.
- Auswählen Wählen Sie Regeltyp.
- Aussichten für Anspruchsregelvorlage, wählen Senden Sie Ansprüche mithilfe einer benutzerdefinierten Regel.
- Auswählen Weiter.
- Aussichten für Name der Anspruchsregel, eingeben
RedshiftDbUser
. - Fügen Sie die folgende benutzerdefinierte Regel hinzu:
- Auswählen Endziel.
- Erfassen Sie die Anspruchsregeln, die in einer SAML-Assertionsantwort über Ihren Browser gesendet werden. Anweisungen finden Sie unter So zeigen Sie eine SAML-Antwort in Ihrem Browser zur Fehlerbehebung an.
In meinem Beispiel verwende ich das folgende SAML-Attribut für RedshiftDbUser PrincipalTag
:
PrincipalTag:RedshiftDbGroup
Die benutzerdefinierte Anspruchsregel PrincipalTag:RedshiftDbGroup
besteht aus AD-Gruppen, denen der Benutzer angehört. Diese Regel wird den Amazon-Redshift-Datenbankgruppen zugeordnet. Die Namen der AD-Gruppen und der Amazon-Redshift-Datenbankgruppen sollten übereinstimmen. JoinGroup
Die in der IAM-Richtlinie festgelegte Berechtigung ermöglicht es dem Benutzer, eine Datenbankgruppe zu übernehmen, und ist sitzungsbasiert. Wenn der Benutzer mehreren Gruppen in der AD-Gruppe zugeordnet ist, sollte die SAML-Assertionsantwort diese Gruppen als getrennte Werte und nicht als Mehrfachwertansprüche senden. Die folgenden Schritte veranschaulichen, wie AD-Gruppen als getrennte Werte gesendet werden.
In diesem Beispiel der Benutzer Bob
ist dem zugeordnet marketing
und sales
Gruppen. Der folgende Code zeigt, wie mehrere Gruppen über die SAML-Antwort gesendet werden, wenn der Benutzer mehreren Gruppen angehört, und wie mit der Situation umgegangen wird, wenn ein Benutzer in keiner bestimmten Gruppe vorhanden ist.
- Befolgen Sie die gleichen Schritte wie im vorherigen Abschnitt, um die Regel zu erstellen
Marketing
, indem Sie den folgenden Code für die benutzerdefinierte Regel verwenden: - Erstellen Sie die Regel
MarketingNotExists
unter Verwendung des folgenden Codes: - Erstellen Sie die Regel
sales
unter Verwendung des folgenden Codes: - Erstellen Sie die Regel
SalesNotExists
unter Verwendung des folgenden Codes: - Erstellen Sie die Regel
RedshiftDbGroups
unter Verwendung des folgenden Codes:
Der folgende Screenshot zeigt die Liste der Regeln, die ich in meinem AD FS erstellt habe. Beachten Sie die Anzahl der Regeln und die Reihenfolge, in der sie positioniert sind. Im Rahmen dieses Beitrags haben wir die Regeln 6–11 erstellt.
Wenn Sie eine ähnliche SAML-Antwort für sehen RedshiftDbGroups
, dein Setup ist gut:
Wenn ein Benutzer in einer der Gruppen nicht vorhanden ist, wird ein leerer Wert an die Anspruchsregel übergeben. Wenn beispielsweise der Benutzer bob aus dem entfernt wird marketing
Gruppe, die SAML-Antwort für PrincipalTag:RedshiftDbGroup
wäre :sales
.
IAM-Rollen aktualisieren
In Teil 1 In dieser Serie haben Sie zwei IAM-Rollen erstellt: ADFZ-Dev
und ADFZ-Production
. Diese beiden Rollen sind noch nicht mit Berechtigungen für den Abfrageeditor eingerichtet. In diesem Abschnitt aktualisieren Sie diese Rollen mit Abfrage-Editor-Berechtigungen.
Der Amazon Redshift-Abfrageeditor v2 bietet mehrere verwaltete Richtlinien für den Zugriff auf den Abfrageeditor. Eine Liste aller verwalteten Richtlinien finden Sie unter Konfigurieren Ihres AWS-Kontos. Für diesen Beitrag fügen wir die bei AmazonRedshiftQueryEditorV2ReadSharing
verwaltete Richtlinie für die Rollen.
- Wählen Sie in der IAM-Konsole Rollen im Navigationsbereich.
- Wählen Sie die Rolle
ADFZ-Dev
. - Auswählen
Berechtigungen hinzufügen und dann Richtlinien anhängen.
- Der Andere Berechtigungsrichtlinien, suche nach dem
AmazonRedshiftQueryEditorV2ReadSharing
verwaltete Richtlinie. - Wählen Sie die Richtlinie aus und wählen Sie Richtlinien anhängen.
- Ändern Sie die Vertrauensbeziehungen für Ihre Rolle und fügen Sie sie hinzu
sts:TagSession
. Während der Rollenauswahl Vertrauensbeziehungen und klicken Sie auf Vertrauensrichtlinie bearbeiten.Bei der Verwendung von Sitzungs-Tags müssen Vertrauensrichtlinien für alle Rollen, die mit den IdP-Passing-Tags verbunden sind, die haben sts:TagSession Erlaubnis. Für Rollen ohne diese Berechtigung in der Vertrauensrichtlinie wird dieAssumeRole
Betrieb schlägt fehl. - Wählen Sie Richtlinie aktualisieren.
- Wiederholen Sie diese Schritte, um das anzubringen
AmazonRedshiftQueryEditorV2ReadSharing
verwaltete Richtlinie zur ADFZ-Produktionsrolle hinzufügen.
Beschränken des Benutzerzugriffs nur auf den Abfrageeditor
Wenn Sie möchten, dass Benutzer nur auf den Abfrageeditor zugreifen, aktualisieren Sie die Richtlinie redshift-marketing
die Sie in Teil 1 des Blogbeitrags erstellt haben, siehe unten.
Hinweis: Sobald die Aktualisierung erfolgt ist, verlieren Benutzer Administratorrechte, beispielsweise zum Erstellen eines Clusters.
Ersetzen Sie die Regions-, Konto- und Clusterparameter. Diese benutzerdefinierte Richtlinie gewährt Zugriff auf Amazon Redshift, um Cluster-Anmeldeinformationen abzurufen, Benutzer zu erstellen und Benutzern den Beitritt zu Gruppen zu ermöglichen.
Es gibt ein paar wichtige Dinge zu beachten:
- Die Gruppenmitgliedschaft gilt nur für die Dauer der Benutzersitzung.
- Es gibt kein
CreateGroup
Berechtigung, da Gruppen manuell erstellt und DB-Berechtigungen gewährt werden müssen.
Generieren Sie die SSO-Ziel-URL als Amazon Redshift Query Editor v2-Konsole
In diesem Schritt erstellen Sie die Anmelde-URL für den AD FS-IdP, um Benutzer zur Konsole des Amazon Redshift-Abfrageeditors v2 umzuleiten. Anweisungen finden Sie unter So verwenden Sie SAML, um Verbundbenutzer automatisch zu einer bestimmten AWS-Managementkonsolenseite weiterzuleiten.
Um den Endbenutzern ein umfassendes SSO-Erlebnis zu bieten, kann die SAML-Antwort einen optionalen Parameter namens „ RelayState
. Dieser Parameter enthält die Ziel-URL.
Microsoft stellt ein Tool zur Verfügung, das beim Generieren dieser SSO-URLs für AD FS hilft AD FS 2.0 RelayState-Generator.
Um diese URL zu erstellen, benötigen Sie drei Informationen:
- IdP-URL-Zeichenfolge – Die Zeichenfolge liegt im Format vor
https://ADFSSERVER/adfs/ls/idpinitiatedsignon.aspx
. Für diesen Beitrag verwenden wirhttps://EC2AMAZ-F9TJOIC.adfsredshift.com/adfs/ls/IdpInitiatedSignOn.aspx
. - Kennung der vertrauenden Partei – Für AWS ist dies der Fall
urn:amazon:webservices
. - Relay-Status oder Ziel-App - Dies ist das AWS-Managementkonsole URL, zu der Ihre authentifizierten Benutzer weitergeleitet werden sollen. In diesem Fall ist es so
https://eu-west-1.console.aws.amazon.com/sqlworkbench/home?
. Für diesen Beitrag verwenden wir dieeu-west-1
Region, aber Sie können dies nach Bedarf anpassen.
Ich habe die Anweisungen in befolgt So verwenden Sie SAML, um Verbundbenutzer automatisch zu einer bestimmten AWS-Managementkonsolenseite weiterzuleiten und nutzte den AD FS 2.0 RelayState Generator, um die im folgenden Screenshot gezeigte URL zu generieren.
Das Folgende ist ein Beispiel für die endgültige URL, die Sie verwenden, um sich zu authentifizieren und auch zum Amazon Redshift-Abfrageeditor v2 umgeleitet zu werden (diese URL funktioniert in Ihrem Setup nicht, da sie speziell für einen AD FS-Server in meinem Konto erstellt wurde). : https://EC2AMAZ-F9TJOIC.adfsredshift.com/adfs/ls/IdpInitiatedSignOn.aspx?RelayState=RPID%3Durn%253Aamazon%253Awebservices%26RelayState%3Dhttps%253A%252F%252Feu-west-1.console.aws.amazon.com%252Fsqlworkbench%252Fhome%253Fregion%253Deu-west-1%2523%252Fclient
Sie können diese URL jetzt speichern und von überall aus verwenden, wo Sie Ihren AD FS-Server erreichen können. Nachdem Sie die URL in einen Browser eingegeben haben, authentifizieren Sie sich zunächst bei AD FS und werden dann zur Konsole des Amazon Redshift-Abfrageeditors v2 weitergeleitet.
Richten Sie DB-Gruppen im Amazon-Redshift-Cluster ein
In diesem Schritt richten Sie Ihre Amazon Redshift-Datenbankgruppe ein. Dieser Schritt ist erforderlich, da der Benutzer bei der Authentifizierung Teil einer Amazon-Redshift-DB-Gruppe mit den entsprechenden Berechtigungen für ein Schema oder eine Tabelle (oder Ansicht) sein muss.
In Active Directory der Benutzer Bob
ist Teil von zwei Gruppen: Sales
und Marketing
. In Ihrer Amazon-Redshift-Datenbank gibt es drei Datenbankgruppen: Sales
, Marketing
und Finance
.
Wenn Benutzer Bob
Meldet sich der Benutzer über die föderierte Authentifizierung an, übernimmt der Benutzer die Sales
und Marketing
Datenbankgruppen, sodass dieser Benutzer Tabellen in beiden Datenbankgruppen abfragen kann Sales
und Marketing
Schemata. Weil der Benutzer Bob
ist nicht Teil der Finance
Gruppe, wenn sie versuchen, auf die zuzugreifen Finance
Schema erhalten sie eine Fehlermeldung, dass die Berechtigung verweigert wurde.
Das folgende Diagramm veranschaulicht diese Konfiguration.
Führen Sie die folgenden Schritte aus, um Ihre DB-Gruppen einzurichten:
- Verbinden als
awsuser
(ein Superuser). - Erstellen Sie drei Datenbankgruppen:
- Erstellen Sie drei Schemata:
- Erstellen Sie in jedem Schema eine Tabelle:
- Fügen Sie Beispieldaten in die drei Tabellen ein:
- Überprüfen Sie, ob die Daten in den Tabellen verfügbar sind:
Sie können nun entsprechende Berechtigungen für die einrichten sales
, finance
und marketing
Gruppen. Gruppen sind Sammlungen von Benutzern, denen alle mit der Gruppe verbundenen Berechtigungen gewährt werden. Sie können Gruppen verwenden, um Berechtigungen nach Jobfunktion zuzuweisen. Sie können beispielsweise unterschiedliche Gruppen für Vertrieb, Verwaltung und Support erstellen und den Benutzern jeder Gruppe den entsprechenden Zugriff auf die Daten gewähren, die sie für ihre Arbeit benötigen. Sie können Berechtigungen auf Gruppenebene gewähren oder entziehen. Diese Änderungen gelten für alle Mitglieder der Gruppe, mit Ausnahme von Superuser.
- Geben Sie die folgenden SQL-Abfragen ein, um Zugriff auf alle Tabellen im zu gewähren
sales
Schema zur Vertriebsgruppe, Zugriff auf alle Tabellen in dermarketing
Schema zumarketing
Gruppe und Zugriff auf alle Tabellen in derfinance
Schema zufinance
Gruppe:
Greifen Sie über die Verbundauthentifizierung auf den Amazon Redshift-Abfrageeditor v2 zu
Nachdem Sie nun Ihre SAML-Integration, die Deep-Link-Einrichtung sowie die Konfiguration von DB-Gruppen und Zugriffsrechten abgeschlossen haben, können Sie den Amazon Redshift-Abfrage-Editor v2 so einrichten, dass er die Verbundauthentifizierung mit AD FS verwendet, um eine direkte Verbindung über die Abfrage-Editor-Schnittstelle herzustellen.
- Navigieren Sie zu der Deep-Link-URL, die Sie zuvor erstellt haben.
Sie werden zur AD FS-Anmeldeseite weitergeleitet. - Melden Sie sich an als
bob@adfsredshift.com
.
Für diesen Beitrag habe ich von einem Amazon EC2-Computer aus auf diese URL zugegriffen, Sie können jedoch von jedem Ort aus darauf zugreifen, an dem Sie den AD FS-IdP erreichen können.
Nachdem AD FS Sie erfolgreich authentifiziert hat, leitet es zum AWS SSO-Endpunkt weiter und veröffentlicht die SAML-Behauptung undRelayState
Parameter. Da Sie auf der AWS-Seite zwei IAM-Rollen konfiguriert haben, werden Sie aufgefordert, eine Rolle auszuwählen. - Wählen Sie eine Rolle aus (in diesem Beispiel
ADFZ-Dev
) und wähle Anmelden.
AWS sendet die Anmelde-URL, die darauf basiertRelayState
Wert als Weiterleitung an Ihren Browser zurück. Ihr Browser wird automatisch zur Konsole des Abfrageeditors v2 weitergeleitet. - Klicken Sie mit der rechten Maustaste auf Ihren Amazon-Redshift-Cluster (für diesen Beitrag:
redshift-cluster-1
) und wähle Verbindung bearbeiten.
Der Wert für Benutzername wird automatisch ausgefüllt, und Verbundzugriff wird automatisch ausgewählt. - Auswählen
Verbindung bearbeiten um die Verbindung zu speichern und sich bei der Datenbank anzumelden.
Nachdem Sie sich erfolgreich angemeldet haben, können Sie die Datenbankobjekte im linken Bereich durchsuchen. - Testen Sie die Verbindung, indem Sie die folgende Abfrage ausführen:
Der folgende Screenshot zeigt die Ausgabe.
Die Ausgabe zeigt, dass der Benutzer bob@adfsredshift.com
wurde mit AD FS authentifiziert. Der Benutzer ist auch dem beigetreten marketing
und Sales
Gruppen, wie vom AD FS erzwungen PrincipalTag:RedshiftDbGroups
Anspruchsregel und die damit verbundene Richtlinie ADFZ-Dev
Rolle, die der Benutzer während dieser Sitzung einnimmt.
Führen Sie Abfragen aus, um die Autorisierung über Verbundgruppen zu überprüfen
In diesem letzten Schritt validieren Sie, wie die in AD konfigurierten Gruppen und Mitgliedschaften nahtlos in die Amazon-Redshift-Datenbankgruppen integriert werden.
Führen Sie die folgende Abfrage für aus marketing
und sales
Schema:
Die folgenden Screenshots zeigen die Ausgabe:
Die vorherigen Bilder zeigen diesen AD-Benutzer Bob
ist Teil der AD-Gruppe RSDB-marketing
und RSDB-sales
, die den DB-Gruppen zugeordnet sind marketing
und sales
. Diese DB-Gruppen haben ausgewählten Zugriff auf die Schemata Marketing und Vertrieb und alle Tabellen in diesen Schemata. Daher kann der Benutzer die Tabellen erfolgreich abfragen.
Um eine Abfrage für die auszuführen finance
Geben Sie für das Schema den folgenden Code ein:
Der folgende Screenshot zeigt die Ausgabe.
Die Ausgabe zeigt das Bob
ist nur ein Teil der AD-Gruppen RSDB-marketing
und RSDB-sales
. Aufgrund der Art und Weise, wie die Anspruchsregel eingerichtet ist, Bob
hat keinen Zugriff auf die Datenbankgruppe finance
, und daher gibt die Abfrage den Fehler „Berechtigung verweigert“ zurück.
Aufräumen
Um zukünftige Gebühren zu vermeiden, löschen Sie die Ressourcen, indem Sie den CloudFormation-Stack löschen. Dadurch werden alle Ressourcen Ihres AWS-Kontos bereinigt, in dem Sie es eingerichtet haben Teil 1.
Zusammenfassung
In diesem Beitrag haben wir gezeigt, wie man einen AD FS-Server einrichtet und anders konfiguriert PrincipalTag
Attribute, die für den Amazon Redshift-Abfrageeditor v2 verwendet werden, und generieren Sie eine SSO-URL mit dem Abfrageeditor als Zielort. Anschließend stellten Sie über einen Datenbankbenutzer mit Administratorrechten eine Verbindung zum Amazon-Redshift-DB-Cluster her, um DB-Gruppen und -Berechtigungen einzurichten, und nutzten eine Verbundbenutzerauthentifizierung mit AD FS, um mehrere Abfragen auszuführen. Mit dieser Lösung können Sie den Zugriff auf Ihre Amazon Redshift-Datenbankobjekte durch die nahtlose Verwendung von AD-Gruppen und Mitgliedschaften steuern.
Wenn Sie Feedback oder Fragen haben, hinterlassen Sie diese bitte in den Kommentaren.
Über die Autoren
Sumeet Joshi ist ein Analytics Specialist Solutions Architect mit Sitz in New York. Er ist spezialisiert auf den Aufbau umfangreicher Data-Warehousing-Lösungen. Er verfügt über mehr als 16 Jahre Erfahrung im Bereich Data Warehousing und Analyse.
Bhanu Pittampally ist ein Analytics Specialist Solutions Architect mit Sitz in Dallas. Er ist auf den Aufbau analytischer Lösungen spezialisiert. Sein Hintergrund liegt seit über 14 Jahren im Bereich Daten und Analytik. Sein LinkedIn-Profil ist zu finden hier.
Erol Murtezaoglu, Technical Product Manager bei AWS, ist ein neugieriger und enthusiastischer Denker mit einem Drang nach Selbstverbesserung und Lernen. Er verfügt über einen starken und bewährten technischen Hintergrund in Softwareentwicklung und -architektur, der mit dem Bestreben, kommerziell erfolgreiche Produkte zu liefern, in Einklang gebracht wird. Erol schätzt den Prozess des Verstehens von Kundenbedürfnissen und -problemen sehr, um Lösungen zu liefern, die die Erwartungen übertreffen.
Yanis Telaoumaten ist Softwareentwicklungsingenieur bei AWS. Seine Leidenschaften sind die Entwicklung zuverlässiger Software und Tools, mit denen andere Ingenieure effizienter arbeiten können. In den vergangenen Jahren arbeitete er an Identität, Sicherheit und Zuverlässigkeit von Redshift-Diensten