Falla la integración de Active Directory con AlloyDB Omni
Cuando Active Directory no funciona, sigue estos pasos para resolver el problema:
Verifica el archivo keytab. Asegúrate de que puedas conectarte al servidor de Active Directory con el archivo keytab que obtuviste:
kinit -kt PATH_TO_KEYTAB_FILE postgres/DBCLUSTER_HOST@REALM
Verifica el host.
Asegúrate de que el host que usaste cuando generaste el archivo keytab sea el mismo host en el comando psql, como se muestra en el siguiente ejemplo:
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
Asegúrate de que
DBCLUSTER_HOST
sea el mismo en ambos comandos.Verifica el archivo
krb5.conf
.Verifica el contenido del archivo
krb5.conf
en el cliente. Asegúrate de que el contenido del archivokrb5.conf
sea correcto para tu configuración.cat /etc/krb5.conf
El siguiente es el resultado esperado:
[libdefaults] default_realm = REALM [realms] REALM = { kdc = KDC_HOST admin_server = ADMIN_SERVER } [domain_realm] HOST_DOMAIN_1 = REALM HOST_DOMAIN_2 = REALM
Verifica las entradas y el estado del HBA.
Ejecuta los siguientes comandos y envía los registros al equipo de productos de AlloyDB Omni.
psql -h DBCLUSTER_HOST -U postgres -d postgres
psql
te solicita la contraseña del usuariopostgres
:Password for user postgres:
psql
muestra el siguiente resultado: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.
Ejecuta el siguiente comando en el mensaje de
psql
:postgres=# table pg_hba_file_rules ;
Se devuelve un resultado similar al siguiente ejemplo.
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 | |
Revisa los mensajes de error en la columna
error
, que pueden ayudarte a identificar problemas de configuración.Imprime los registros de nivel de depuración
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
Descripción
Este error se produce cuando un usuario del sistema que intenta conectarse no tiene un usuario de PostgreSQL creado o no tiene un rol asignado.
Corrección recomendada
Crea un rol en PostgreSQL con el nombre de usuario requerido o agrega una entrada para este usuario al archivo pg_ident.conf
.
psql (16.3)
Type "help" for help.
postgres=# CREATE ROLE user2 WITH LOGIN;
CREATE ROLE
El reinicio del servidor falla con el error: "could not load /var/lib/postgresql/data/pg_hba.conf"
Descripción
No se pudo reiniciar el servidor porque pg_hba.conf
contiene entradas no válidas.
Corrección recomendada
Verifica si hay entradas no válidas en el archivo pg_hba.conf
.
FATAL: No se pudo sincronizar el grupo de LDAP
Descripción
La sincronización de LDAP falla cuando el usuario intenta acceder.
Corrección recomendada
Accede como el usuario
postgres
y ejecuta lo siguiente:CREATE EXTENSION google_pg_auth;
Revisa el archivo
postgresql.log
para obtener información sobre el motivo por el que falló el acceso con LDAP.cat /obs/diagnostic/postgresql.log | grep google_pg_auth