Datenbankauthentifizierung mit Babelfish für Aurora PostgreSQL - Amazon Aurora

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.

Datenbankauthentifizierung mit Babelfish für Aurora PostgreSQL

Babelfish für Aurora PostgreSQL unterstützt zwei Möglichkeiten zum Authentifizieren von Datenbankbenutzern. Die Passwort-Authentifizierung ist standardmäßig für alle Babelfish-DB-Cluster verfügbar. Sie können auch Kerberos-Authentifizierung für denselben DB-Cluster hinzufügen.

Passwort-Authentifizierung mit Babelfish

Babelfish for Aurora PostgreSQL unterstützt die Passwortauthentifizierung. Passwörter werden verschlüsselt auf der Festplatte gespeichert. Weitere Informationen über die Authentifizierung in einem Aurora-PostgreSQL-Cluster finden Sie unter Sicherheit in Amazon Aurora PostgreSQL.

Sie werden möglicherweise jedes Mal aufgefordert, wenn Sie eine Verbindung zu Babelfish herstellen. Jeder Benutzer, der zu Aurora PostgreSQL migriert oder auf Aurora erstellt wurde, kann dieselben Anmeldeinformationen sowohl am SQL Server-Port als auch am PostgreSQL-Port verwenden. Babelfish erzwingt keine Passwortrichtlinien, aber wir empfehlen Ihnen, Folgendes zu tun:

  • Es muss sich um ein komplexes Passwort mit mindestens acht (8) Zeichen handeln.

  • Durchsetzen einer Richtlinie zum Ablauf des Kennworts.

Verwenden Sie den Befehl SELECT * FROM pg_user;, um eine vollständige Liste der Datenbankbenutzer zu überprüfen.

Kerberos-Authentifizierung mit Babelfish

Die Version 15.2 von Babelfish für Aurora PostgreSQL unterstützt die Authentifizierung bei Ihrem DB-Cluster mithilfe von Kerberos. Diese Methode ermöglicht es Ihnen, die Microsoft Windows-Authentifizierung zum Authentifizieren von Benutzern zu verwenden, wenn diese eine Verbindung mit Ihrer Babelfish-Datenbank herstellen. Dazu müssen Sie Ihren DB-Cluster so konfigurieren, dass AWS Directory Service for Microsoft Active Directory für die Kerberos-Authentifizierung verwendet wird. Weitere Informationen finden Sie unter Was ist AWS Directory Service im AWS Directory Service-Administratorhandbuch.

Einrichten der Kerberos-Authenifizierung

Der DB-Cluster von Babelfish für Aurora PostgreSQL kann eine Verbindung über zwei verschiedene Ports herstellen, die Einrichtung der Kerberos-Authentifizierung ist jedoch ein einmaliger Vorgang. Daher müssen Sie zuerst die Kerberos-Authentifizierung für Ihren DB-Cluster einrichten. Weitere Informationen finden Sie unter Einrichten der Kerberos-Authentifizierung. Stellen Sie nach Abschluss der Einrichtung sicher, dass Sie mithilfe von Kerberos eine Verbindung mit einem PostgreSQL-Client herstellen können. Weitere Informationen finden Sie unter Herstellen einer Verbindung mithilfe der Kerberos-Authentifizierung.

Anmeldung und Benutzerbereitstellung in Babelfish

Windows-Anmeldungen, die über den Tabular Data Stream (TDS)-Port erstellt wurden, können entweder mit dem TDS-Port oder dem PostgreSQL-Port verwendet werden. Zunächst muss die Anmeldung, die Kerberos für die Authentifizierung verwenden kann, vom TDS-Port aus bereitgestellt werden, bevor sie von den T-SQL-Benutzern und -Anwendungen genutzt werden, um eine Verbindung mit einer Babelfish-Datenbank herzustellen. Beim Erstellen von Windows-Anmeldungen können Administratoren die Anmeldung entweder mit dem DNS-Domain-Namen oder dem NetBIOS-Domain-Namen angeben. In der Regel ist die NetBIOS-Domain die Subdomain des DNS-Domain-Namens. Wenn der DNS-Domain-Name beispielsweise CORP.EXAMPLE.COM lautet, kann die NetBIOS-Domain CORP sein. Wenn das NetBIOS-Domain-Namenformat für eine Anmeldung bereitgestellt wird, muss eine Zuordnung zum DNS-Domain-Namen vorhanden sein.

Verwalten der Zuordnung von NetBIOS-Domain-Namen zum DNS-Domain-Namen

Um Zuordnungen zwischen dem NetBIOS-Domain-Namen und dem DNS-Domain-Namen zu verwalten, bietet Babelfish gespeicherte Systemprozeduren zum Hinzufügen, Entfernen und Kürzen von Zuordnungen. Nur ein Benutzer mit einer sysadmin-Rolle kann diese Verfahren ausführen.

Verwenden Sie die von Babelfish bereitgestellte gespeicherte Systemprozedur babelfish_add_domain_mapping_entry, um eine Zuordnung zwischen NetBIOS und DNS-Domain-Namen zu erstellen. Beide Argumente müssen einen gültigen Wert haben und dürfen nicht NULL sein.

EXEC babelfish_add_domain_mapping_entry 'netbios_domain_name', 'fully_qualified_domain_name'

Das folgende Beispiel zeigt, wie die Zuordnung zwischen dem NetBIOS-Namen CORP und dem DNS-Domain-Namen CORP.EXAMPLE.COM erstellt wird.

EXEC babelfish_add_domain_mapping_entry 'corp', 'corp.example.com'

Verwenden Sie die gespeicherte Systemprozedur „babelfish_remove_domain_mapping_entry“, um einen vorhandenen Zuordnungseintrag zu löschen.

EXEC babelfish_remove_domain_mapping_entry 'netbios_domain_name'

Das folgende Beispiel zeigt, wie Sie die Zuordnung für den NetBIOS-Namen CORP entfernen.

EXEC babelfish_remove_domain_mapping_entry 'corp'

Verwenden Sie die gespeicherte Systemprozedur babelfish_truncate_domain_mapping_table, um alle vorhandenen Zuordnungseinträge zu löschen:

EXEC babelfish_truncate_domain_mapping_table

Verwenden Sie die folgende Abfrage, um alle Zuordnungen zwischen NetBIOS und dem DNS-Domain-Namen anzuzeigen.

SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;

Verwalten von Anmeldungen

Erstellen von Anmeldungen

Stellen Sie über den TDS-Endpunkt eine Verbindung mit der DB her, indem Sie eine Anmeldung verwenden, die über die entsprechenden Berechtigungen verfügt. Wenn kein Datenbankbenutzer für die Anmeldung angelegt wurde, wird die Anmeldung dem Gastbenutzer zugeordnet. Wenn der Gastbenutzer nicht aktiviert ist, schlägt der Anmeldeversuch fehl.

Erstellen Sie eine Windows-Anmeldung mit der folgenden Abfrage. Die Option FROM WINDOWS ermöglicht die Authentifizierung mit Active Directory.

CREATE LOGIN login_name FROM WINDOWS [WITH DEFAULT_DATABASE=database]

Das folgende Beispiel zeigt das Erstellen einer Anmeldung für den Active Directory-Benutzer [corp\test1] mit der Standarddatenbank db1.

CREATE LOGIN [corp\test1] FROM WINDOWS WITH DEFAULT_DATABASE=db1

In diesem Beispiel wird davon ausgegangen, dass eine Zuordnung zwischen der NetBIOS-Domain CORP und dem DNS-Domain-Namen CORP.EXAMPLE.COM besteht. Wenn es keine Zuordnung gibt, müssen Sie den DNS-Domain-Namen [CORP.EXAMPLE.COM\test1] angeben.

Anmerkung

Anmeldungen, die auf Active-Directory-Benutzern basieren, sind auf Namen mit weniger als 21 Zeichen beschränkt.

Löschen von Anmeldung

Um eine Anmeldung zu löschen, verwenden Sie dieselbe Syntax wie für jede beliebige Anmeldung, wie im folgenden Beispiel gezeigt:

DROP LOGIN [DNS domain name\login]
Ändern von Anmeldungen

Wenn Sie eine Anmeldung ändern möchten, verwenden Sie dieselbe Syntax wie für jede beliebige Anmeldung, wie im folgenden Beispiel gezeigt:

ALTER LOGIN [DNS domain name\login] { ENABLE|DISABLE|WITH DEFAULT_DATABASE=[master] }

Der Befehl ALTER LOGIN unterstützt eingeschränkte Optionen für Windows-Anmeldungen, darunter folgende:

  • DISABLE – zum Deaktivieren einer Anmeldung. Sie können eine deaktivierte Anmeldung nicht für die Authentifizierung verwenden.

  • ENABLE – zum Aktivieren einer deaktivierten Anmeldung.

  • DEFAULT_DATABASE – zum Ändern der Standarddatenbank einer Anmeldung.

Anmerkung

Die gesamte Passwortverwaltung erfolgt über AWS Directory Service, sodass der Befehl ALTER LOGIN Datenbankadministratoren nicht erlaubt, Passwörter für Windows-Logins zu ändern oder festzulegen.

Herstellen einer Verbindung mit Babelfish für Aurora PostgreSQL mit Kerberos-Authentifizierung

Normalerweise authentifizieren sich die Datenbankbenutzer, die die Kerberos-Authentifizierung nutzen, über ihren Client-Computer. Diese Computer sind Mitglieder der Active-Directory-Domain. Sie verwenden die Windows-Authentifizierung von ihren Client-Anwendungen aus, um auf den Server von Babelfish für Aurora PostgreSQL am TDS-Port zuzugreifen.

Herstellen einer Verbindung mit Babelfish für Aurora PostgreSQL am PostgreSQL-Port mit Kerberos-Authentifizierung

Sie können Anmeldungen, die über den TDS-Port erstellt wurden, entweder mit dem TDS-Port oder dem PostgreSQL-Port verwenden. PostgreSQL verwendet für Benutzernamen jedoch standardmäßig Vergleiche unter Berücksichtigung der Groß- und Kleinschreibung. Damit Aurora PostgreSQL Kerberos-Benutzernamen ohne Berücksichtigung von Groß- und Kleinschreibung interpretiert, müssen Sie den Parameter krb_caseins_users in der benutzerdefinierten Babelfish-Cluster-Parametergruppe auf true festlegen. Dieser Parameter ist standardmäßig auf false festgelegt. Weitere Informationen finden Sie unter Konfigurieren von Benutzernamen, bei denen die Groß-/Kleinschreibung unterschieden wird. Darüber hinaus müssen Sie den Anmeldebenutzernamen im Format <login@DNS domain name> über die PostgreSQL-Client-Anwendungen angeben. Das Format <DNS domain name\login> kann nicht verwendet werden.

Häufig auftretende Fehler

Sie können Gesamtstruktur-Vertrauensstellungen zwischen Ihrem On-Premises Microsoft Active Directory und dem AWS Managed Microsoft AD konfigurieren. Weitere Informationen finden Sie unter Erstellen einer Vertrauensstellung. Anschließend müssen Sie eine Verbindung über einen speziellen Domain-spezifischen Endpunkt herstellen, anstatt die Amazon-Domain rds.amazonaws.com im Host-Endpunkt zu verwenden. Wenn Sie nicht den richtigen Domain-spezifischen Endpunkt verwenden, wird möglicherweise folgende Fehlermeldung angezeigt:

Error: “Authentication method "NTLMSSP" not supported (Microsoft SQL Server, Error: 514)"

Dieser Fehler tritt auf, wenn der TDS-Client das Serviceticket für die angegebene Endpunkt-URL nicht zwischenspeichern kann. Weitere Informationen finden Sie unter Herstellen einer Verbindung mithilfe der Kerberos-Authentifizierung.