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.
Einrichten der Kerberos-Authentifizierung für PostgreSQL-DB-Instances
Um die Kerberos-Authentifizierung einzurichten, führen Sie die folgenden Schritte aus.
Themen
Schritt 1: Erstellen Sie ein Verzeichnis mit AWS Managed Microsoft AD
AWS Directory Service erstellt ein vollständig verwaltetes Active Directory in der AWS Cloud. Wenn Sie ein AWS Managed Microsoft AD Verzeichnis erstellen, AWS Directory Service erstellt zwei Domänencontroller und DNS-Server für Sie. Die Verzeichnisserver werden in verschiedenen Subnetzen in einer VPC erstellt. Diese Redundanz trägt dazu bei, dass Ihr Verzeichnis auch im Fehlerfall erreichbar bleibt.
Wenn Sie ein AWS Managed Microsoft AD Verzeichnis erstellen, führt der AWS Directory Service die folgenden Aufgaben in Ihrem Namen aus:
-
Richtet ein Active Directory in Ihrer VPC ein.
-
Erstellt ein Konto für den Verzeichnisadministrator mit dem Benutzernamen
Admin
und dem angegebenen Passwort. Mit diesem Konto verwalten Sie das Verzeichnis.Wichtig
Stellen Sie sicher, dass Sie dieses Passwort speichern. AWS Directory Service speichert dieses Passwort nicht und es kann nicht abgerufen oder zurückgesetzt werden.
-
Erstellt eine Sicherheitsgruppe für die Verzeichniscontroller. Die Sicherheitsgruppe muss die Kommunikation mit der PostgreSQL-DB- zulassen.
AWS Erstellt beim Start AWS Directory Service for Microsoft Active Directory eine Organisationseinheit (OU), die alle Objekte Ihres Verzeichnisses enthält. Diese OU erhält den NetBIOS-Namen, den Sie beim Erstellen des Verzeichnisses eingegeben haben, und befindet sich im Domänenstamm. Der Domänenstamm gehört und wird von diesem verwaltet AWS.
Das Admin
Konto, das mit Ihrem AWS Managed Microsoft AD Verzeichnis erstellt wurde, verfügt über Berechtigungen für die gängigsten Verwaltungsaktivitäten Ihrer Organisationseinheit:
-
Erstellen, Aktualisieren oder Löschen von Benutzern
-
Hinzufügen von Ressourcen zu Ihrer Domäne, etwa Datei- oder Druckserver, und anschließendes Gewähren der zugehörigen Ressourcenberechtigungen für Benutzer in der OU
-
Zusätzliche OUs Container erstellen
-
Delegieren von Befugnissen
-
Wiederherstellen von gelöschten Objekten aus dem Active Directory-Papierkorb
-
Führen Sie Active Directory- und DNS-Module (Domain Name Service) für Windows PowerShell im Active Directory-Webdienst aus
Das Admin
-Konto hat auch die Berechtigung, die folgenden domänenweiten Aktivitäten durchzuführen:
-
Verwalten von DNS-Konfigurationen (Hinzufügen, Entfernen oder Aktualisieren von Datensätzen, Zonen und Weiterleitungen)
-
Aufrufen von DNS-Ereignisprotokollen
-
Anzeigen von Sicherheitsereignisprotokollen
Um ein Verzeichnis zu erstellen mit AWS Managed Microsoft AD
-
Wählen Sie im Navigationsbereich AWS Directory Service -Konsole
den Eintrag Directories (Verzeichnisse) und wählen Sie Set up directory (Verzeichnis einrichten) aus. -
Wählen Sie AWS Managed Microsoft AD. AWS Managed Microsoft AD ist die einzige Option, die derzeit für die Verwendung mit RDS unterstützt wird.
-
Wählen Sie Weiter aus.
-
Geben Sie auf der Seite Enter directory information (Verzeichnisinformationen eingeben) die folgenden Informationen ein:
- Edition
-
Wählen Sie die Edition aus, die Ihre Anforderungen erfüllt.
- DNS-Name des Verzeichnisses
-
Den vollständig qualifizierten Namen für das Verzeichnis, z. B.
corp.example.com
. - NetBIOS-Name des Verzeichnisses
-
Ein optionaler Kurzname für das Verzeichnis, z. B.
CORP
. - Verzeichnisbeschreibung
-
Eine optionale Beschreibung des Verzeichnisses.
- Administratorpasswort
-
Das Passwort für den Verzeichnisadministrator. Mit der Verzeichniserstellung wird ein Administratorkonto mit dem Benutzernamen
Admin
und diesem Passwort angelegt.Das Passwort für den Verzeichnisadministrator darf nicht das Wort "admin" enthalten. Beachten Sie beim Passwort die Groß- und Kleinschreibung und es muss 8 bis 64 Zeichen lang sein. Zudem muss es mindestens ein Zeichen aus dreien der vier folgenden Kategorien enthalten:
-
Kleinbuchstaben (a–z)
-
Großbuchstaben (A–Z)
-
Zahlen (0–9)
-
Nicht-alphanumerische Zeichen (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)
-
- Passwort bestätigen
-
Geben Sie das Administratorpasswort erneut ein.
Wichtig
Stellen Sie sicher, dass Sie dieses Passwort speichern. AWS Directory Service speichert dieses Passwort nicht und es kann nicht abgerufen oder zurückgesetzt werden.
-
Wählen Sie Weiter aus.
-
Geben Sie auf der Seite Choose VPC and subnets (VPC und Subnetze wählen) die folgenden Informationen an.
- VPC
-
Wählen Sie die VPC für das Verzeichnis aus. Sie können PostgreSQL-DB-Instances in derselben VPC oder in einer anderen VPC erstellen.
- Subnetze
-
Wählen Sie Subnetze für die Verzeichnis-Server aus. Die beiden Subnetze müssen zu verschiedenen Availability-Zonen gehören.
-
Wählen Sie Weiter aus.
-
Überprüfen Sie die Verzeichnisinformationen. Wenn Änderungen erforderlich sind, klicken Sie auf Previous (Zurück) und nehmen Sie die Änderungen vor. Wenn die Informationen richtig sind, wählen Sie Create directory (Verzeichnis erstellen).
Es dauert einige Minuten, bis das Verzeichnis erstellt wurde. Wenn es erfolgreich erstellt wurde, ändert sich der Wert Status in Active (Aktiv).
Um Informationen über das Verzeichnis anzuzeigen, wählen Sie die Verzeichnis-ID in der Verzeichnisauflistung aus. Notieren Sie sich den Wert Directory ID. Sie benötigen diesen Wert, wenn Sie Ihre PostgreSQL DB-Instance erstellen oder ändern.

Schritt 2: (Optional) Erstellen einer Vertrauensbeziehung zwischen Ihrem On-Premises Active Directory und AWS Directory Service
Wenn Sie Ihr eigenes lokales Microsoft Active Directory nicht verwenden möchten, fahren Sie mit for Schritt 3: Erstellen Sie eine IAM-Rolle für RDS für den Zugriff auf AWS Directory Service.
Um die Kerberos-Authentifizierung mit Ihrem lokalen Active Directory zu erhalten, müssen Sie eine vertrauensvolle Domänenbeziehung mithilfe einer Gesamtvertrauensstellung zwischen Ihrem lokalen Microsoft Active Directory und dem AWS Managed Microsoft AD Verzeichnis (erstellt in) einrichten. Schritt 1: Erstellen Sie ein Verzeichnis mit AWS Managed Microsoft AD Die Vertrauensstellung kann unidirektional sein, wobei das AWS Managed Microsoft AD Verzeichnis dem lokalen Microsoft Active Directory vertraut. Die Vertrauensstellung kann auch bidirektional erfolgen, wobei beide Active Directories einander vertrauen. Weitere Informationen zum Einrichten von Vertrauensstellungen mithilfe von finden Sie unter Wann AWS Directory Service sollte eine Vertrauensstellung eingerichtet werden? im Administratorhandbuch.AWS Directory Service
Anmerkung
Wenn Sie ein lokales Microsoft Active Directory verwenden, stellen Windows-Clients eine Verbindung über den Domänennamen des AWS Directory Service im Endpunkt her und nicht über rds.amazonaws.com her. Weitere Informationen hierzu finden Sie unter Herstellen einer Verbindung zu PostgreSQL mit Kerberos-Authentifizierung.
Stellen Sie sicher, dass der lokale Microsoft Active Directory-Domänenname ein DNS-Suffix-Routing enthält, das der neu erstellten Vertrauensstellung entspricht. Im folgenden Screenshot wird ein Beispiel gezeigt.

Schritt 3: Erstellen Sie eine IAM-Rolle für RDS für den Zugriff auf AWS Directory Service
Damit Amazon RDS Sie anrufen AWS Directory Service kann, benötigt Ihr AWS Konto eine IAM-Rolle, die die verwaltete IAM-Richtlinie verwendet. AmazonRDSDirectoryServiceAccess
Diese Rolle ermöglicht es Amazon RDS, Aufrufe von AWS Directory Service durchzuführen.
Wenn Sie mit dem eine DB-Instance erstellen AWS Management Console und Ihr Konsolen-Benutzerkonto über die iam:CreateRole
entsprechende Berechtigung verfügt, erstellt die Konsole automatisch die benötigte IAM-Rolle. In diesem Fall lautet der Rollenname rds-directoryservice-kerberos-access-role
. Andernfalls müssen Sie die IAM-Rolle manuell erstellen. Wenn Sie diese IAM-Rolle erstellenDirectory Service
, wählen Sie die AWS verwaltete Richtlinie aus und fügen Sie AmazonRDSDirectoryServiceAccess
sie ihr hinzu.
Weitere Informationen zum Erstellen von IAM-Rollen für einen Dienst finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS Dienst im IAM-Benutzerhandbuch.
Anmerkung
Die für die Windows-Authentifizierung für RDS for Microsoft SQL Server verwendete IAM-Rolle kann nicht für Amazon RDS for PostgreSQL verwendet werden.
Alternativ können Sie Richtlinien mit den erforderlichen Berechtigungen erstellen, anstatt die verwaltete Richtlinie AmazonRDSDirectoryServiceAccess
zu verwenden. In diesem Fall muss die IAM-Rolle die folgende IAM-Vertrauensrichtlinie haben.
Die Rolle muss auch über die folgende IAM-Rollenrichtlinie verfügen.
Wenn Sie sich anmelden möchten AWS-Regionen, verwenden Sie regionsspezifische Dienstprinzipale in den Vertrauensrichtlinien für IAM-Rollen. Wenn Sie eine Vertrauensrichtlinie für Dienste in diesen Regionen erstellen, geben Sie den Regionalcode im Dienstprinzipal an.
Das folgende Beispiel zeigt eine Vertrauensrichtlinie, die regionsspezifische Dienstprinzipale umfasst:
Ersetzen Sie REGION-CODE durch den Code für Ihre spezifische Region. Verwenden Sie beispielsweise die folgenden Service Principals für die Region Asien-Pazifik (Melbourne):
"Service": [ "directoryservice.rds.ap-southeast-4.amazonaws.com", "rds.ap-southeast-4.amazonaws.com" ]
Schritt 4: Anlegen und Konfigurieren von Benutzern
Sie können Benutzer mit dem Tool „Active Directory Users and Computers“ erstellen. Dieses Tool ist ein Active Directory Domain Service und ein Active Directory Lightweight Directory Service. Weitere Informationen finden Sie unter Hinzufügen von Benutzern und Computern zur Active-Directory-Domain
Um Benutzer in einem AWS Directory Service Verzeichnis zu erstellen, müssen Sie mit einer Windows-basierten EC2 Amazon-Instance verbunden sein, die Mitglied des AWS Directory Service Verzeichnisses ist. Gleichzeitig müssen Sie als Benutzer angemeldet sein, der über Rechte zum Erstellen von Benutzern verfügt. Weitere Informationen finden Sie unter Erstellen eines Benutzers im AWS Directory Service Administration Guide.
Schritt 5: Aktivieren des VPC-übergreifenden Datenverkehrs zwischen dem Verzeichnis und der DB-Instance
Wenn Sie beabsichtigen, das Verzeichnis und die DB-Instance in derselben VPC zu platzieren, überspringen Sie diesen Schritt und fahren Sie mit Schritt 6: Erstellen oder Ändern von PostgreSQL-DB- fort.
Das folgende Verfahren ermöglicht den Datenverkehr zwischen VPCs mithilfe von VPC-Peering. Folgen Sie den Anweisungen unter Was ist VPC Peering? im Handbuch zu Amazon Virtual Private Cloud-Peering.
Aktivieren des VPC-übergreifenden Datenverkehrs mit VPC Peering
-
Richten Sie geeignete VPC-Routing-Regeln ein, um sicherzustellen, dass Netzwerk-Datenverkehr in beide Richtungen fließen kann.
-
Stellen Sie sicher, dass die Sicherheitsgruppe der DB-Instance eingehenden Datenverkehr von der Sicherheitsgruppe des Verzeichnisses empfangen kann.
-
Stellen Sie sicher, dass keine ACL-Regel (Network Access Control List) zum Blockieren des Datenverkehrs vorhanden ist.
Wenn ein anderes AWS Konto Eigentümer des Verzeichnisses ist, müssen Sie das Verzeichnis gemeinsam nutzen.
Um das Verzeichnis von mehreren AWS Konten gemeinsam zu nutzen
-
Beginnen Sie mit der gemeinsamen Nutzung des Verzeichnisses mit dem AWS Konto, unter dem die DB-Instance erstellt werden soll. Folgen Sie dazu den Anweisungen im AWS Directory Service Administratorhandbuch Tutorial: Teilen Ihres AWS verwalteten Microsoft AD-Verzeichnisses für einen nahtlosen EC2 Domänenbeitritt.
-
Melden Sie sich mit dem Konto für die DB-Instance bei der AWS Directory Service Konsole an und stellen Sie sicher, dass die Domain den
SHARED
Status hat, bevor Sie fortfahren. -
Notieren Sie sich den Wert der Verzeichnis-ID, während Sie mit dem Konto für die DB-Instance bei der AWS Directory Service Konsole angemeldet sind. Sie verwenden diese Verzeichnis-ID, um die DB-Instance mit der Domäne zu verbinden.
Schritt 6: Erstellen oder Ändern von PostgreSQL-DB-
Erstellen oder ändern Sie PostgreSQL-DB-Instances für die Verwendung mit Ihrem Verzeichnis. Sie können die Konsole, CLI oder RDS-API verwenden, um DB-Instances einem Verzeichnis zuzuordnen. Sie können dafür eine der folgenden Möglichkeiten auswählen:
-
Erstellen Sie eine neue PostgreSQL-DB-Instance mithilfe der Konsole, des create-db-instanceCLI-Befehls oder der Operation Create DBInstance RDS API. Detaillierte Anweisungen finden Sie unter Erstellen einer Amazon RDS-DB-Instance.
-
Ändern Sie eine vorhandene PostgreSQL-DB-Instance mithilfe der Konsole, des modify-db-instanceCLI-Befehls oder der Operation Modify DBInstance RDS API. Detaillierte Anweisungen finden Sie unter Ändern einer Amazon RDS DB-Instance.
-
Stellen Sie mithilfe der Konsole, des CLI-Befehls -db-snapshot oder des API-Vorgangs Restore From RDS eine restore-db-instance-fromPostgreSQL-DB-Instance aus einem DB-Snapshot wieder her DBInstance. DBSnapshot Detaillierte Anweisungen finden Sie unter Wiederherstellung auf einer DB-Instance.
-
Stellen Sie eine PostgreSQL-DB-Instance point-in-time mithilfe der Konsole, des Befehls restore-db-instance-to- point-in-time CLI oder der Operation Restore DBInstance ToPointInTime RDS API in a wieder her. Detaillierte Anweisungen finden Sie unter Wiederherstellung einer DB-Instance zu einem bestimmten Zeitpunkt für Amazon RDS.
Die Kerberos-Authentifizierung wird nur für PostgreSQL-DB--Instances in einer VPC unterstützt. Der DB-Cluster kann sich in derselben VPC wie das Verzeichnis oder in einer anderen VPC befinden. Die DB-Instance muss eine Sicherheitsgruppe verwenden, die ausgehenden Datenverkehr innerhalb der VPC des Verzeichnisses zulässt, damit die DB-Instance mit dem Verzeichnis kommunizieren kann.
Wenn Sie die Konsole verwenden, ändern oder wiederherstellen, um eine DB-Instance zu erstellen, wählen Sie im Abschnitt Datenbankauthentifizierung die Option Passwort- und Kerberos-Authentifizierung aus. Dann wählen Sie Verzeichnis durchsuchen. Wählen Sie das Verzeichnis aus oder wählen Sie Erstellen eines neuen Verzeichnisses, um den Directory Service zu verwenden.

Wenn Sie den verwenden AWS CLI, sind die folgenden Parameter erforderlich, damit die das von Ihnen erstellte Verzeichnis verwenden kann:
-
Für den
--domain
-Parameter verwenden Sie den Domänenbezeichner („d-*“-Bezeichner), der beim Erstellen des Verzeichnisses generiert wurde. -
Verwenden Sie für den
--domain-iam-role-name
-Parameter die von Ihnen erstellte Rolle, die die verwaltete IAM-RichtlinieAmazonRDSDirectoryServiceAccess
verwendet.
Beispielsweise ändert der folgende CLI-Befehl eine DB-Instance zur Verwendung eines Verzeichnisses.
aws rds modify-db-instance --db-instance-identifier
mydbinstance
--domain d-Directory-ID
--domain-iam-role-namerole-name
Wichtig
Wenn Sie eine DB-Instance ändern, um die Kerberos-Authentifizierung zu aktivieren, starten Sie die DB-Instance neu, nachdem Sie die Änderung vorgenommen haben.
Schritt 7: Erstellen von PostgreSQL-Benutzern für Ihre Kerberos-Prinzipale
Zu diesem Zeitpunkt ist Ihre DB-Instance von RDS für PostgreSQL mit der AWS Managed Microsoft AD -Domain verbunden. Die Benutzer, die Sie in dem Verzeichnis in Schritt 4: Anlegen und Konfigurieren von Benutzern erstellt haben, müssen als PostgreSQL-Datenbankbenutzer eingerichtet sein und über Berechtigungen verfügen, um sich bei der Datenbank anzumelden. Dazu melden Sie sich als Datenbankbenutzer mit rds_superuser
-Rechten an. Wenn Sie beispielsweise beim Erstellen Ihrer DB-Instance von RDS für PostgreSQL die Standardeinstellungen akzeptiert haben, verwenden Sie postgres
, wie in den folgenden Schritten gezeigt.
So erstellen Sie PostgreSQL-Datenbankbenutzer für Ihre Kerberos-Prinzipale
-
Verwenden Sie
psql
, um eine Verbindung mit dem DB-Instance-Endpunkt von RDS für PostgreSQL mitpsql
herzustellen. Im folgenden Beispiel wird daspostgres
-Standardkonto für dierds_superuser
-Rolle verwendet.psql --host=
cluster-instance-1.111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres --password -
Erstellen Sie einen Datenbankbenutzernamen für jeden Kerberos-Prinzipal (Active-Directory-Benutzername), der Zugriff auf die Datenbank haben soll. Verwenden Sie den kanonischen Benutzernamen (Identität), wie er in der Active-Directory-Instance definiert ist, d. h. einen
alias
in Kleinbuchstaben (Benutzername in Active Directory) und den Namen der Active-Directory-Domain für diesen Benutzernamen in Großbuchstaben. Der Active-Directory-Benutzername ist ein extern authentifizierter Benutzer. Setzen Sie den Namen daher in Anführungszeichen, wie im Folgenden gezeigt.postgres=>
CREATE USER "
username
@CORP.EXAMPLE.COM
" WITH LOGIN;CREATE ROLE
-
Weisen Sie dem Datenbankbenutzer die
rds_ad
-Rolle zu.postgres=>
GRANT rds_ad TO "username
@CORP.EXAMPLE.COM
";GRANT ROLE
Nachdem Sie alle PostgreSQL-Benutzer für Ihre Active-Directory-Benutzeridentitäten erstellt haben, können Benutzer mit ihren Kerberos-Anmeldeinformationen auf die DB-Instance von RDS für PostgreSQL zugreifen.
Es ist erforderlich, dass die Datenbankbenutzer, die sich mit Kerberos authentifizieren, dies von Client-Computern aus tun, die Mitglieder der Active Directory-Domäne sind.
Datenbankbenutzer, denen die rds_ad
-Rolle zugewiesen wurde, können nicht auch über die rds_iam
-Rolle verfügen. Dies gilt auch für verschachtelte Mitgliedschaften. Weitere Informationen finden Sie unter IAM-Datenbankauthentifizierung für MariaDB, MySQL und PostgreSQL.
Schritt 8: Konfigurieren eines PostgreSQL-Clients
Gehen Sie folgendermaßen vor, um einen PostgreSQL-Client zu konfigurieren:
-
Erstellen Sie eine krb5.conf-Datei (oder eine vergleichbare Datei), um auf die Domäne zu verweisen.
-
Stellen Sie sicher, dass der Datenverkehr zwischen dem Client-Host und fließen kann AWS Directory Service. Verwenden Sie ein Netzwerk-Dienstprogramm wie Netcat für die folgenden Aufgaben:
-
Überprüfen Sie den Datenverkehr über DNS für Port 53.
-
Überprüfen Sie den Datenverkehr TCP/UDP für Port 53 und für Kerberos, einschließlich der Ports 88 und 464 für. AWS Directory Service
-
-
Stellen Sie sicher, dass der Datenverkehr zwischen dem Client-Host und der DB-Instance über den Datenbank-Port fließen kann. Verwenden Sie beispielsweise psql, um eine Verbindung herzustellen und auf die Datenbank zuzugreifen.
Im Folgenden finden Sie einen krb5.conf-Beispielinhalt für. AWS Managed Microsoft AD
[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM
Nachfolgend ein Beispiel für den Inhalt von krb5.conf für ein lokales Microsoft Active Directory.
[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } ONPREM.COM = { kdc = onprem.com admin_server = onprem.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM .onprem.com = ONPREM.COM onprem.com = ONPREM.COM .rds.amazonaws.com = EXAMPLE.COM .amazonaws.com.rproxy.govskope.ca.cn = EXAMPLE.COM .amazon.com = EXAMPLE.COM