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.
Azure
Sie können Microsoft Azure AD als Identitätsanbieter verwenden, um auf Ihren Amazon-Redshift-Cluster zuzugreifen. Dieses Tutorial zeigt Ihnen, wie Sie Azure als Identitätsanbieter (IdP) für den Zugriff auf Ihren Amazon Redshift Redshift-Cluster verwenden können.
Weitere Informationen zum Verbinden des Amazon-Redshift-Zugriffs mit Microsoft-Azure-AD-Single-Sign-On finden Sie im folgenden Video.
Schritt 1: Richten Sie Azure und Ihr AWS Konto so ein, dass sie sich gegenseitig vertrauen
Das folgende Verfahren beschreibt, wie Sie eine Vertrauensbeziehung einrichten.
So richten Sie Azure AD und Ihr AWS Konto so ein, dass sie sich gegenseitig vertrauen
-
Erstellen oder verwenden Sie einen vorhandenen Amazon-Redshift-Cluster, mit dem sich Ihre Azure-AD-Benutzer verbinden können. Um die Verbindung zu konfigurieren, werden bestimmte Eigenschaften dieses Clusters benötigt, z. B. die Clusterkennung. Weitere Informationen finden Sie unter Erstellen eines Clusters.
-
Richten Sie ein Azure Active Directory, Gruppen und Benutzer ein, die AWS im Microsoft Azure-Portal verwendet werden.
-
Fügen Sie Amazon Redshift als Unternehmensanwendung im Microsoft Azure-Portal hinzu, um es für Single Sign-On an der AWS Konsole und die Verbundanmeldung bei Amazon Redshift zu verwenden. Wählen Sie Enterprise application (Unternehmensanwendung).
-
Wählen Sie +New Application (+Neue Anwendung). Die Seite „Add an application (Anwendung hinzufügen)“ wird angezeigt.
-
Suchen Sie im Suchfeld nach
AWS
. -
Wählen Sie Amazon Web Services (AWS) und dann Add (Hinzufügen) aus. Dadurch wird die AWS -Anwendung erstellt.
-
Wählen Sie unter Manage (Verwalten) die Option Single Sign-onaus.
-
Wählen Sie SAML. Die Seite „Amazon Web Services (AWS) | SAML-based Sign-on“ wird angezeigt.
-
Wählen Sie Yes (Ja) um zur Seite „Setup Single-Sign-On with SAML (Single-Sign-On mit SAML einrichten)“ fortzufahren. Auf dieser Seite wird die Liste vorkonfigurierter Attribute angezeigt, die sich auf Single Sign-On beziehen.
-
Wählen Sie für Basic SAML Configuration (Grundlegende SAML-Konfiguration) das Bearbeitungssymbol und dann Save (Speichern).
-
Wenn Sie für mehrere Anwendungen konfigurieren, geben Sie einen ID-Wert ein. Geben Sie z. B. ei
. Beachten Sie, dass ab der zweiten Anwendung dieses Format mit einem # -Zeichen verwendet werden muss, um einen eindeutigen SPN-Wert anzugeben.https://signin.aws.amazon.com/saml#2
-
Wählen Sie im Abschnitt User Attributes and Claims (Benutzerattribute und Anträge) das Bearbeitungssymbol aus.
Standardmäßig sind der Unique User Identifier (UID), die Rolle und die Ansprüche vorkonfiguriert RoleSessionName. SessionDuration
-
Wählen Sie + Add new claim (+ Neuen Antrag hinzufügen), um einen Antrag für Datenbankbenutzer hinzuzufügen.
Geben Sie unter Name
DbUser
ein.Geben Sie für Namespace
https://redshift.amazon.com/SAML/Attributes
ein.Wählen Sie unter Source (Quelle) die Option Attribute (Attribut) aus.
Wählen Sie für Source attribute (Quellattribut) user.userprincipalname aus. Wählen Sie dann Save (Speichern) aus.
-
Wählen Sie + Neuen Anspruch hinzufügen, um einen Anspruch hinzuzufügen. AutoCreate
Geben Sie unter Name
AutoCreate
ein.Geben Sie für Namespace
https://redshift.amazon.com/SAML/Attributes
ein.Wählen Sie unter Source (Quelle) die Option Attribute (Attribut) aus.
Wählen Sie für Source attribute (Quellattribut) „true“. Wählen Sie dann Save (Speichern) aus.
Hier ist
Ihr AWS -Konto,123456789012
ist eine von Ihnen erstellte IAM-Rolle undAzureSSO
ist der IAM-Anbieter.AzureADProvider
Name des Antrags Wert Eindeutige Benutzer-ID (Namens-ID)
user.userprincipalname
https://aws.amazon.com/SAML/Attributes/SessionDuration
„900“
https://aws.amazon.com/SAML/Attributes/Role
arn:aws:iam: :role/, arn:aws:iam: :saml-provider/
123456789012
AzureSSO
123456789012
AzureADProvider
https://aws.amazon.com/SAML/Attributes/RoleSessionName
user.userprincipalname
https://redshift.amazon.com/SAML/Attributes/AutoCreate
„true“
https://redshift.amazon.com/SAML/Attributes/DbGroups
user.assignedroles
https://redshift.amazon.com/SAML/Attributes/DbUser
user.userprincipalname
-
Fügen Sie unter App Registration (App-Registrierung) >
> Authentication (Authentifizierung) die Option Mobile And Desktop Application (Mobile und Desktop-Anwendung) hinzu. Geben Sie die URL als „http://localhost/redshift/“ an.your-application-name
-
Wählen Sie im Abschnitt SAML Signing Certificate (SAML-Signaturzertifikat) die Option Download (Herunterladen) aus, um die XML-Datei für die Verbundmetadaten herunterzuladen und zu speichern, die beim Erstellen eines IAM-SAML-Identitätsanbieters verwendet werden soll. Diese Datei wird verwendet, um die Single-Sign-On-Verbundidentität zu erstellen.
-
Erstellen Sie auf der IAM-Konsole einen IAM SAML-Identitätsanbieter. Das Metadatendokument, das Sie bereitstellen, ist die XML-Datei für Verbundmetadaten, die Sie beim Einrichten der Azure Enterprise-Anwendung gespeichert haben. Ausführliche Schritte finden Sie unter Erstellen und Verwalten eines IAM-Identitätsanbieters (Konsole) im IAM-Benutzerhandbuch.
-
Erstellen Sie auf der IAM-Konsole eine IAM-Rolle für SAML 2.0-Verbund. Detaillierte Schritte finden Sie unter Erstellen einer Rolle für SAML im IAM-Benutzerhandbuch.
Erstellen Sie eine IAM-Richtlinie, die Sie an die IAM-Rolle anhängen können, die Sie für den SAML 2.0-Verbund auf der IAM-Konsole erstellt haben. Ausführliche Schritte finden Sie unter Erstellen von IAM-Richtlinien (Konsole) im IAM-Benutzerhandbuch.
Ändern Sie die folgende Richtlinie (im JSON-Format) für Ihre Umgebung:
Ersetzen Sie die AWS Region Ihres Clusters durch.
us-west-1
Ersetzen Sie Ihr AWS Konto durch
.123456789012
Ersetzen Sie
durch Ihre Cluster-ID (odercluster-identifier
*
für alle Cluster).Ersetzen Sie Ihre Datenbank (oder
*
alle Datenbanken) durch
.dev
Ersetzen Sie den eindeutigen Bezeichner Ihrer IAM-Rolle durch
.AROAJ2UCCR6DPCEXAMPLE
Geben Sie anstelle von Ihre Mandanten- oder Unternehmens-E-Mail-Domäne ein
.example.com
Geben Sie anstelle von die Datenbankgruppe ein, der Sie den Benutzer zuweisen möchten
.my_dbgroup
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:
us-west-1
:123456789012
:dbname:cluster-identifier
/dev
", "arn:aws:redshift:us-west-1
:123456789012
:dbuser:cluster-identifier
/${redshift:DbUser}", "arn:aws:redshift:us-west-1
:123456789012
:cluster:cluster-identifier
" ], "Condition": { "StringEquals": { "aws:userid": "AROAJ2UCCR6DPCEXAMPLE
:${redshift:DbUser}@example.com
" } } }, { "Effect": "Allow", "Action": "redshift:CreateClusterUser", "Resource": "arn:aws:redshift:us-west-1
:123456789012
:dbuser:cluster-identifier
/${redshift:DbUser}" }, { "Effect": "Allow", "Action": "redshift:JoinGroup", "Resource": "arn:aws:redshift:us-west-1
:123456789012
:dbgroup:cluster-identifier
/my_dbgroup
" }, { "Effect": "Allow", "Action": [ "redshift:DescribeClusters", "iam:ListRoles" ], "Resource": "*" } ] }Diese Richtlinie gewährt Berechtigungen wie folgt:
Der erste Abschnitt erteilt der API-Operation
GetClusterCredentials
die Berechtigung, temporäre Anmeldeinformationen für den angegebenen Cluster abzurufen. In diesem Beispiel ist die Ressource
mit Datenbankcluster-identifier
im Kontodev
und in AWS -Region123456789012
. Die Klauselus-west-1
${redshift:DbUser}
ermöglicht es nur Benutzern, die dem in Azure AD angegebenenDbUser
-Wert entsprechen, eine Verbindung herzustellen.Die Bedingungsklausel erzwingt, dass nur bestimmte Benutzer temporäre Anmeldeinformationen erhalten. Dies sind Benutzer unter der Rolle, die durch die eindeutige ID der Rolle
im IAM-Konto angegeben wird, das durch eine E-Mail-Adresse in der E-Mail-Domäne Ihres Unternehmens identifiziert wird. Weitere Informationen zu Unique IDs finden Sie unter Unique IDs im IAM-Benutzerhandbuch.AROAJ2UCCR6DPCEXAMPLE
Ihr Setup mit Ihrem IdP (in diesem Fall Azure AD) bestimmt, wie die Bedingungsklausel geschrieben wird. Wenn die E-Mail Ihres Mitarbeiters
johndoe@example.com
lautet, stellen Sie${redshift:DbUser}
zuerst auf das Superfeld ein, das dem Benutzernamenjohndoe
des Mitarbeiters entspricht. Stellen Sie dann das AWS -SAML-FeldRoleSessionName
auf das Superfeld ein, das mit der Mitarbeiter-E-Mail-Adressejohndoe@example.com
übereinstimmt, damit diese Bedingung funktioniert. Berücksichtigen Sie bei diesem Ansatz Folgendes:Wenn Sie
${redshift:DbUser}
als E-Mail des Mitarbeiters festlegen, entfernen Sie das@example.com
im JSON-Beispiel,um demRoleSessionName
zu entsprechen.Wenn Sie die
RoleSessionId
auf nur den Benutzernamen des Mitarbeiters eingestellt haben, entfernen Sie die@example.com
im Beispiel, um demRoleSessionName
zu entsprechen.Im JSON-Beispiel sind
${redshift:DbUser}
undRoleSessionName
beide auf die E-Mail des Mitarbeiters festgelegt. In diesem JSON-Beispiel wird der Amazon-Redshift-Datenbankbenutzername mit@example.com
verwendet, um den Benutzer für den Zugriff auf den Cluster anzumelden.
Der zweite Abschnitt erteilt die Berechtigung zum Erstellen eines
dbuser
-Namens im angegebenen Cluster. In diesem Beispiel beschränkt JSON die Erstellung auf${redshift:DbUser}
.Der dritte Abschnitt erteilt die Berechtigung zur Angabe, welcher
dbgroup
ein Benutzer beitreten kann. In diesem JSON-Beispiel kann ein Benutzer der Gruppemy_dbgroup
im angegebenen Cluster beitreten.Der vierte Abschnitt berechtigt Aktionen, die der Benutzer für alle Ressourcen ausführen kann. In diesem JSON-Beispiel können Benutzer anrufen,
redshift:DescribeClusters
um Clusterinformationen wie den Cluster-Endpunkt, die AWS Region und den Port abzurufen. Auch ermöglicht es Benutzern,iam:ListRoles
aufzurufen, um zu überprüfen, welche Rollen ein Benutzer übernehmen kann.
Schritt 2: Richten Sie JDBC oder ODBC für die Authentifizierung bei Azure ein
So richten Sie JDBC für die Authentifizierung bei Microsoft Azure AD ein:
-
Konfigurieren Sie Ihren Datenbankclient für die Verbindung mit Ihrem Cluster über JDBC mithilfe von Azure AD Single Sign-On.
Sie können jeden Client verwenden, der mithilfe eines JDBC-Treibers eine Verbindung mit Azure AD Single Sign-On herstellt oder eine Sprache wie Java verwendet, um über ein Skript eine Verbindung herzustellen. Informationen zur Installation und Konfiguration finden Sie unter Konfigurieren einer Verbindung für JDBC-Treiberversion 2.1 für Amazon Redshift.
Sie können beispielsweise SQLWorkbench /J als Client verwenden. Wenn Sie SQLWorkbench /J konfigurieren, verwendet die URL Ihrer Datenbank das folgende Format.
jdbc:redshift:iam://
cluster-identifier
:us-west-1
/dev
Wenn Sie SQLWorkbench /J als Client verwenden, gehen Sie wie folgt vor:
-
Starten Sie SQL Workbench/J. Fügen Sie auf der Seite Select Connection Profile (Verbindungsprofil auswählen) eine Profile Group (Profilgruppe) namens
AzureAuth
hinzu. -
Geben Sie für Connection Profile (Verbindungsprofil)
Azure
ein. -
Wählen Sie Manage Drivers (Treiber verwalten) und dann Amazon Redshift aus. Wählen Sie das Symbol Open Folder (Ordner öffnen) neben Library (Bibliothek) und dann die entsprechende JDBC-JAR-Datei aus.
-
Fügen Sie auf der Seite Select Connection Profile (Verbindungsprofil auswählen) dem Verbindungsprofil Informationen wie folgt hinzu:
-
Geben Sie für User (Benutzer) Ihren Microsoft Azure-Benutzernamen ein. Dies ist der Benutzername des Microsoft Azure-Kontos, das Sie für die einmalige Anmeldung (Single-Sign-On) verwenden und das über die Berechtigung für den Cluster verfügt, für den Sie sich authentifizieren möchten.
-
Geben Sie für Password (Passwort) Ihr Microsoft Azure-Passwort ein.
-
Wählen Sie für Driver (Treiber) die Option Amazon Redshift (com.amazon.redshift.jdbc.Driver) aus.
-
Geben Sie für URL
jdbc:redshift:iam://
ein.your-cluster-identifier
:your-cluster-region
/your-database-name
-
-
Wählen Sie Extended Properties (Erweiterte Eigenschaften), um den Verbindungseigenschaften wie folgt zusätzliche Informationen hinzuzufügen:
Fügen Sie für die Single-Sign-On-Konfiguration von Azure AD zusätzliche Informationen wie folgt hinzu:
-
Geben Sie für plugin_name
com.amazon.redshift.plugin.AzureCredentialsProvider
ein. Dieser Wert gibt an, dass der Treiber Azure AD Single Sign-On als Authentifizierungsmethode verwenden soll. -
Geben Sie für idp_tenant
ein. Wird nur für Microsoft Azure AD verwendet. Dies ist der Mandantenname Ihres Unternehmens, der auf Ihrem Azure AD konfiguriert ist. Dieser Wert kann entweder der Mandantenname oder die eindeutige ID des Mandanten mit Bindestrichen sein.your-idp-tenant
-
Geben Sie für client_secret
ein. Wird nur für Microsoft Azure AD verwendet. Dies ist Ihr Client-Secret der Amazon-Redshift-Anwendung, das Sie beim Einrichten der Azure-Single-Sign-On-Konfiguration erstellt haben. Dies gilt nur für das com.amazon.redshift.plugin. AzureCredentialsProviderPlugin.your-azure-redshift-application-client-secret
-
Geben Sie für client_id
ein. Wird nur für Microsoft Azure AD verwendet. Dies ist die Client-ID (mit Bindestrichen) der Amazon-Redshift-Anwendung, die Sie beim Einrichten der Azure-Single-Sign-On-Konfiguration erstellt haben.your-azure-redshift-application-client-id
Fügen Sie für Single Sign-On von Azure AD mit MFA-Konfiguration den Verbindungseigenschaften wie folgt zusätzliche Informationen hinzu:
-
Geben Sie für plugin_name
com.amazon.redshift.plugin.BrowserAzureCredentialsProvider
ein. Dies signalisiert dem Treiber, dass Single Sign-On für Azure AD mit MFA als Authentifizierungsmethode verwendet werden soll. -
Geben Sie für idp_tenant
ein. Wird nur für Microsoft Azure AD verwendet. Dies ist der Mandantenname Ihres Unternehmens, der auf Ihrem Azure AD konfiguriert ist. Dieser Wert kann entweder der Mandantenname oder die eindeutige ID des Mandanten mit Bindestrichen sein.your-idp-tenant
-
Geben Sie für client_id
ein. Diese Option wird nur für Microsoft Azure AD verwendet. Dies ist die Client-ID (mit Bindestrichen) der Amazon-Redshift-Anwendung, die Sie beim Einrichten von Single Sign-On für Azure AD mit MFA-Konfiguration erstellt haben.your-azure-redshift-application-client-id
-
Geben Sie bei listen_port „
“ ein. Dies ist der Port, den der lokale Server überwacht. Der Standardwert ist 7890.your-listen-port
-
Geben Sie für idp_response_timeout
ein. Dies ist die Anzahl der Sekunden, für die vor dem Timeout gewartet werden muss, wenn der IdP-Server eine Antwort zurücksendet. Die Mindestanzahl von Sekunden muss 10 sein. Wenn es länger dauert, eine Verbindung mit dem Server herzustellen, als durch diesen Schwellenwert angegeben, wird die Verbindung abgebrochen.the-number-of-seconds
-
-
Fehlerbehebung
Beachten Sie Folgendes, um Probleme mit dem Browser Azure AD-Plugin zu beheben.
-
Zur Verwendung des Browser-Azure AD-Plug-ins müssen Sie die in der Anforderung angegebene Antwort-URL so festlegen, dass sie mit der für Ihre Anwendung konfigurierten Antwort-URL übereinstimmt. Navigieren Sie im Microsoft Azure-Portal zur Seite Set up Single Sign-On with SAML (Single Sign-On mit SAML einrichten). Überprüfen Sie dann, ob der Wert unter Reply URL (Antwort-URL) auf „http://localhost/redshift/“ festgelegt ist.
-
Wenn Sie einen IdP-Mandantenfehler erhalten, überprüfen Sie, ob der Name unter IdP Tenant (IdP-Mandant mit dem Domänennamen übereinstimmt, den Sie ursprünglich zum Einrichten von Active Directory in Microsoft Azure verwendet haben.
Navigieren Sie unter Windows zum Bereich Connection Settings (Verbindungseinstellungen) der Seite Amazon Redshift ODBC DSN Setup (DSN-Einrichtung von Amazon-Redshift-ODBC). Überprüfen Sie dann, ob der für den IdP (Azure) konfigurierte Mandantenname Ihres Unternehmens mit dem Domänennamen übereinstimmt, den Sie ursprünglich zum Einrichten von Active Directory in Microsoft Azure verwendet haben.
Suchen Sie unter macOS und Linux die Datei odbc.ini. Überprüfen Sie dann, ob der für den IdP (Azure) konfigurierte Mandantenname Ihres Unternehmens mit dem Domänennamen übereinstimmt, den Sie ursprünglich zum Einrichten von Active Directory in Microsoft Azure verwendet haben.
-
Wenn Sie eine Fehlermeldung erhalten, dass die in der Anfrage angegebene Antwort-URL nicht mit der für Ihre Anwendung URLs konfigurierten Antwort übereinstimmt, überprüfen Sie, ob die Umleitung URIs mit der Antwort-URL übereinstimmt.
Navigieren Sie im Microsoft Azure-Portal zur Seite App registration (App-Registrierung) Ihrer Anwendung. Überprüfen Sie dann, ob die Weiterleitung URIs mit der Antwort-URL übereinstimmt.
-
Wenn Sie einen unerwarteten Fehler wegen fehlender Autorisierung erhalten, überprüfen Sie, ob Sie die Konfiguration der Mobil- und Desktopanwendungen abgeschlossen haben.
Navigieren Sie im Microsoft Azure-Portal zur Seite App registration (App-Registrierung) Ihrer Anwendung. Gehen Sie dann zu Authentifizierung und überprüfen Sie, ob Sie die Mobil- und Desktop-Anwendungen so konfiguriert haben, dass sie http://localhost/redshift/ als Umleitung verwenden URIs.