Integration von Active Directory in AlloyDB Omni schlägt fehl
Wenn Active Directory nicht funktioniert, gehen Sie so vor, um das Problem zu beheben:
Überprüfen Sie die Keytab-Datei. Prüfen Sie, ob Sie mit dem erhaltenen Keytab eine Verbindung zum Active Directory-Server herstellen können:
kinit -kt PATH_TO_KEYTAB_FILE postgres/DBCLUSTER_HOST@REALM
Host überprüfen
Achten Sie darauf, dass der Host, den Sie beim Generieren der Keytab-Datei verwendet haben, mit dem Host im psql-Befehl übereinstimmt, wie im folgenden Beispiel gezeigt:
KTPass /princ postgres/DBCLUSTER_HOST@REALM /Pass PASSWORD /mapuser postgres /crypto ALL /ptype KRB5_NT_Principal /out OUTPUT_PATH psql -h DBCLUSTER_HOST -d DB_NAME -U USERNAME@REALM
Achten Sie darauf, dass
DBCLUSTER_HOST
in beiden Befehlen identisch ist.Prüfen Sie die Datei
krb5.conf
.Prüfen Sie den Inhalt der Datei
krb5.conf
auf dem Client. Prüfen Sie, ob der Inhalt der Dateikrb5.conf
für Ihre Konfiguration korrekt ist.cat /etc/krb5.conf
Die erwartete Ausgabe ist:
[libdefaults] default_realm = REALM [realms] REALM = { kdc = KDC_HOST admin_server = ADMIN_SERVER } [domain_realm] HOST_DOMAIN_1 = REALM HOST_DOMAIN_2 = REALM
Prüfen Sie die HBA-Einträge und den Status.
Führen Sie die folgenden Befehle aus und senden Sie die Logs an das AlloyDB Omni-Produktteam.
psql -h DBCLUSTER_HOST -U postgres -d postgres
psql
fordert Sie auf, das Passwort despostgres
-Nutzers einzugeben:Password for user postgres:
psql
gibt die folgende Ausgabe zurück:psql (17.5 (Ubuntu 17.5-0ubuntu0.25.04.1), server 16.3) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off, ALPN: none) Type "help" for help.
Führen Sie den folgenden Befehl in der Eingabeaufforderung
psql
aus:postgres=# table pg_hba_file_rules ;
Es wird eine Ausgabe zurückgegeben, die etwa so aussieht:
rule_number | file_name | line_number | type | database | user_name | address | netmask | auth_method | options | error -------------+--------------------------------------+-------------+---------+----------+--------------------+-----------+-----------------------------------------+-------------+--------------------------+----------------------------------------------------- 1 | /var/lib/postgresql/data/pg_hba.conf | 1 | host | {all} | {alloydbadmin} | 127.0.0.1 | 255.255.255.255 | trust | | | /var/lib/postgresql/data/pg_hba.conf | 2 | hostssl | {all} | {alloydbadmin} | ::1 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | trust | | hostssl record cannot match because SSL is disabled | /var/lib/postgresql/data/pg_hba.conf | 3 | hostssl | {all} | {alloydbpgbouncer} | 0.0.0.0 | 0.0.0.0 | cert | {clientcert=verify-full} | hostssl record cannot match because SSL is disabled | /var/lib/postgresql/data/pg_hba.conf | 4 | hostssl | {all} | {alloydbpgbouncer} | ::1 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | cert | {clientcert=verify-full} | hostssl record cannot match because SSL is disabled | /var/lib/postgresql/data/pg_hba.conf | 5 | hostssl | {all} | {alloydbadmin} | all | | reject | | hostssl record cannot match because SSL is disabled | /var/lib/postgresql/data/pg_hba.conf | 6 | | | | | | | | invalid CIDR mask in address "0.0.0.0/1000" 2 | /var/lib/postgresql/data/pg_hba.conf | 7 | local | {all} | {all} | | | trust | |
Prüfen Sie die Fehlermeldungen in der Spalte
error
. Sie können Ihnen helfen, Konfigurationsprobleme zu erkennen.Geben Sie die Logs auf der Debug-Ebene
krb5
aus.export KRB5_TRACE=/dev/stderr kinit AD_USER@REALM psql -h DBCLUSTER_HOST -d DB_NAME -U USERNAME@REALM
psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: role "user2" does not exist
Beschreibung
Dieser Fehler tritt auf, wenn für einen Systemnutzer, der versucht, eine Verbindung herzustellen, kein PostgreSQL-Nutzer erstellt wurde oder keine Rolle zugeordnet ist.
Empfohlene Korrektur
Erstellen Sie in PostgreSQL eine Rolle mit dem erforderlichen Nutzernamen oder fügen Sie der Datei pg_ident.conf
einen Eintrag für diesen Nutzer hinzu.
psql (16.3)
Type "help" for help.
postgres=# CREATE ROLE user2 WITH LOGIN;
CREATE ROLE
Der Serverneustart schlägt mit dem Fehler „could not load /var/lib/postgresql/data/pg_hba.conf“ fehl.
Beschreibung
Der Serverneustart ist fehlgeschlagen, da pg_hba.conf
ungültige Einträge enthält.
Empfohlene Korrektur
Prüfen Sie die Datei pg_hba.conf
auf ungültige Einträge.
FATAL: LDAP-Gruppensynchronisierung fehlgeschlagen
Beschreibung
Die LDAP-Synchronisierung schlägt fehl, wenn sich der Nutzer anmeldet.
Empfohlene Korrektur
Melden Sie sich als Nutzer
postgres
an und führen Sie Folgendes aus:CREATE EXTENSION google_pg_auth;
In der Datei
postgresql.log
finden Sie Informationen dazu, warum die LDAP-Anmeldung fehlgeschlagen ist.cat /obs/diagnostic/postgresql.log | grep google_pg_auth