SCRAM en PostgreSQL en agentes privados de Jitterbit
Introducción
Esta página explica cómo cambiar la encriptación de contraseñas de tu instalación de PostgreSQL de MD5 a SCRAM-SHA-256. Sigue los pasos en estas secciones en secuencia. (Ejecuta el comando SQL como el usuario administrador de PostgreSQL.)
Los agentes privados utilizan la encriptación de contraseñas MD5 por defecto para la instancia de PostgreSQL incluida. En Windows, los agentes instalados con el instalador silencioso utilizan SCRAM-SHA-256 en su lugar.
Requisitos previos
-
Para instalaciones en Windows, acceso a una cuenta de administrador de Microsoft Windows. Para instalaciones en Linux, una cuenta con privilegios de root.
Parte 1: Reconfigurar PostgreSQL
-
En una sesión de
psql, verifica el método de encriptación actual:SHOW password_encryption;Salida esperadapassword_encryption --------------------- md5 (1 row) -
Edita los archivos
postgresql.confypg_hba.confde la instancia de PostgreSQL. Estos suelen estar ubicados en el directorio/opt/jitterbit/DataInterchange/pgsql/dataen Linux y Docker, y en la carpetaC:\Program Files\PostgreSQL\X\dataen Windows (dondeXes el número de versión principal).-
En
postgresql.conf, encuentra el parámetropassword_encryptiony cambia su valor demd5ascram-sha-256. -
En
pg_hba.conf, cambia los valores en las columnasMETHODdemd5ascram-sha-256para las conexiones deseadas.
-
-
En una sesión de
psql, recarga la configuración:SELECT pg_reload_conf(); -
Vuelve a verificar el método de encriptación actual:
SHOW password_encryption;Salida esperadapassword_encryption --------------------- scram-sha-256 (1 row)
Parte 2: Actualizar contraseñas de usuarios
-
En una sesión de
psql, lista las cuentas que utilizan encriptación de contraseñas MD5:SELECT rolname, rolpassword ~ '^SCRAM-SHA-256$' AS has_scram FROM pg_authid WHERE rolcanlogin;Consejo
En un sistema de agente privado estándar, solo deberían haber dos usuarios listados,
postgresyjitterbit.Salida esperadarolname | has_scram -----------+----------- postgres | f jitterbit | f (2 rows) -
Para cada cuenta con
has_scrammostrandof, actualiza sus contraseñas usando el siguiente comando:ALTER ROLE <username> PASSWORD '<password>';-
<username>: El nombre de usuario de PostgreSQL del usuario. -
<password>: Una nueva contraseña para el usuario.
Consejo
Puedes reutilizar la contraseña existente de cada cuenta.
-
Part 3: Reconfigurar PgBouncer
Para reconfigurar PgBouncer, sigue estos pasos:
-
Obtén la cadena de hash del verificador SCRAM y regístrala:
SELECT rolname, rolpassword FROM pg_authid WHERE rolname = 'jitterbit';Toma nota del valor de
rolpassword. (Debería comenzar conSCRAM-SHA-256.) -
Edita el archivo
users.txtde PgBouncer, que generalmente se encuentra en/opt/jitterbit/pgbouncer/share/doc/pgbouncer/en Linux, yC:\Program Files\Jitterbit Agent\pgbounceren Windows.Reemplaza el valor del hash con el valor copiado del paso anterior.
Ejemplo de users.txt con hash original"jitterbit" "md5b51676b2b6ff8113190a8e4df1b3a144"Ejemplo de users.txt con hash actualizado"jitterbit" "SCRAM-SHA-256$4096:DaRaCof9KFmKvfxW/OIAsg==$gAmuj8MsIamBk/MsLmCrg2FO9FXeFBx+vmm0cUxXkXw=:mlH5eE3+AEdSniA0NPocfSt1BbcLAryftXhYWbMsaS0="
Part 4: Reiniciar servicios
Reinicia el agente privado:
jitterbit restart
"C:\Program Files\Jitterbit Agent\StopServices.bat"
"C:\Program Files\Jitterbit Agent\StartServices.bat"