L'intégration d'Active Directory à AlloyDB Omni échoue
Lorsque Active Directory ne fonctionne pas, procédez comme suit pour résoudre le problème :
Vérifiez le fichier keytab. Assurez-vous de pouvoir vous connecter au serveur Active Directory à l'aide du fichier keytab que vous avez obtenu :
kinit -kt PATH_TO_KEYTAB_FILE postgres/DBCLUSTER_HOST@REALM
Validez l'hôte.
Assurez-vous que l'hôte que vous avez utilisé lorsque vous avez généré le fichier keytab est le même que celui de la commande psql, comme indiqué dans l'exemple suivant :
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
Assurez-vous que
DBCLUSTER_HOST
est identique dans les deux commandes.Vérifiez le fichier
krb5.conf
.Vérifiez le contenu du fichier
krb5.conf
sur le client. Assurez-vous que le contenu du fichierkrb5.conf
est correct pour votre configuration.cat /etc/krb5.conf
Voici le résultat attendu :
[libdefaults] default_realm = REALM [realms] REALM = { kdc = KDC_HOST admin_server = ADMIN_SERVER } [domain_realm] HOST_DOMAIN_1 = REALM HOST_DOMAIN_2 = REALM
Vérifiez les entrées et l'état du HBA.
Exécutez les commandes suivantes et envoyez les journaux à l'équipe produit AlloyDB Omni.
psql -h DBCLUSTER_HOST -U postgres -d postgres
psql
vous invite à saisir le mot de passe de l'utilisateurpostgres
:Password for user postgres:
psql
renvoie le résultat suivant :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.
Exécutez la commande suivante dans l'invite
psql
:postgres=# table pg_hba_file_rules ;
Un résultat semblable à l'exemple suivant est renvoyé.
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 | |
Consultez les messages d'erreur dans la colonne
error
, qui peuvent vous aider à identifier les problèmes de configuration.Imprimez les journaux de niveau de débogage
krb5
.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
Description
Cette erreur se produit lorsqu'un utilisateur système qui tente de se connecter n'a pas créé d'utilisateur PostgreSQL ou n'a pas mappé de rôle.
Solution recommandée
Créez un rôle dans PostgreSQL avec le nom d'utilisateur requis ou ajoutez une entrée pour cet utilisateur au fichier pg_ident.conf
.
psql (16.3)
Type "help" for help.
postgres=# CREATE ROLE user2 WITH LOGIN;
CREATE ROLE
Le redémarrage du serveur échoue avec l'erreur "could not load /var/lib/postgresql/data/pg_hba.conf"
Description
Le redémarrage du serveur a échoué, car le fichier pg_hba.conf
contient des entrées non valides.
Solution recommandée
Recherchez les entrées non valides dans le fichier pg_hba.conf
.
FATAL : Échec de la synchronisation du groupe LDAP
Description
La synchronisation LDAP échoue lorsque l'utilisateur tente de se connecter.
Solution recommandée
Connectez-vous en tant qu'utilisateur
postgres
et exécutez la commande suivante :CREATE EXTENSION google_pg_auth;
Consultez le fichier
postgresql.log
pour savoir pourquoi la connexion LDAP a échoué.cat /obs/diagnostic/postgresql.log | grep google_pg_auth