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_HOSTin beiden Befehlen identisch ist.Prüfen Sie die Datei
krb5.conf.Prüfen Sie den Inhalt der Datei
krb5.confauf dem Client. Prüfen Sie, ob der Inhalt der Dateikrb5.conffü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 = REALMPrü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
psqlfordert Sie auf, das Passwort despostgres-Nutzers einzugeben:Password for user postgres:
psqlgibt 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
psqlaus: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
krb5aus.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
postgresan und führen Sie Folgendes aus:CREATE EXTENSION google_pg_auth;
In der Datei
postgresql.logfinden Sie Informationen dazu, warum die LDAP-Anmeldung fehlgeschlagen ist.cat /obs/diagnostic/postgresql.log | grep google_pg_auth