Ir para o conteúdo

SCRAM no PostgreSQL em agentes privados do Jitterbit

Introdução

Esta página explica como alterar a criptografia de senha da sua instalação do PostgreSQL de MD5 para SCRAM. Siga os passos destas seções em sequência. (Execute o comando SQL como o usuário administrador do PostgreSQL.)

Pré-requisitos

  • A senha do administrador do PostgreSQL.

  • Para instalações no Windows, acesso a uma conta de administrador do Microsoft Windows. Para instalações no Linux, uma conta com privilégios de root.

Parte 1: Reconfigurar o PostgreSQL

  1. Em uma sessão psql, verifique o método de criptografia atual:

    SHOW password_encryption;
    
    Saída esperada
     password_encryption
    ---------------------
     md5
    (1 row)
    
  2. Edite os arquivos postgresql.conf e pg_hba.conf da instância do PostgreSQL. Esses arquivos geralmente estão localizados no diretório /opt/jitterbit/DataInterchange/pgsql/data no Linux e Docker, e na pasta C:\Program Files\PostgreSQL\X\data no Windows (onde X é o número da versão principal).

    • No postgresql.conf, encontre o parâmetro password_encryption e altere seu valor de md5 para scram-sha-256.

    • No pg_hba.conf, altere os valores nas colunas METHOD de md5 para scram-sha-md5 para as conexões desejadas.

  3. Em uma sessão psql, recarregue a configuração:

    SELECT pg_reload_conf();
    
  4. Verifique novamente o método de criptografia atual:

    SHOW password_encryption;
    
    Saída esperada
     password_encryption
    ---------------------
     scram-sha-256
    (1 row)
    

Parte 2: Atualizar senhas de usuários

  1. Em uma sessão psql, liste as contas que utilizam criptografia de senha MD5:

    SELECT rolname, rolpassword ~ '^SCRAM-SHA-256$' AS has_scram FROM pg_authid WHERE rolcanlogin;
    

    Dica

    Em um sistema padrão de agente privado, devem haver apenas dois usuários listados, postgres e jitterbit.

    Saída esperada
      rolname  | has_scram
    -----------+-----------
     postgres  | f
     jitterbit | f
    (2 rows)
    
  2. Para cada conta com has_scram mostrando f, atualize suas senhas usando o seguinte comando:

    ALTER ROLE <username> PASSWORD '<password>';
    
    • <username>: O nome de usuário do PostgreSQL do usuário.

    • <password>: Uma nova senha para o usuário.

    Dica

    Você pode reutilizar a senha existente de cada conta.

Parte 3: Reconfigurar PgBouncer (se instalado)

Se você estiver usando PgBouncer, siga estas etapas:

  1. Obtenha a string de hash do verificador SCRAM e registre-a:

    SELECT rolname, rolpassword FROM pg_authid WHERE rolname = 'jitterbit';
    

    Anote o valor de rolpassword. (Deve começar com SCRAM-SHA-256.)

  2. Edite o arquivo users.txt do PgBouncer, geralmente localizado em /opt/jitterbit/pgbouncer/share/doc/pgbouncer/ no Linux, e C:\Program Files\Jitterbit Agent\pgbouncer no Windows.

    Substitua o valor do hash pelo valor copiado da etapa anterior.

    Exemplo users.txt com hash original
    "jitterbit" "md5b51676b2b6ff8113190a8e4df1b3a144"
    
    Exemplo users.txt com hash atualizado
    "jitterbit" "SCRAM-SHA-256$4096:DaRaCof9KFmKvfxW/OIAsg==$gAmuj8MsIamBk/MsLmCrg2FO9FXeFBx+vmm0cUxXkXw=:mlH5eE3+AEdSniA0NPocfSt1BbcLAryftXhYWbMsaS0="
    

Parte 4: Reiniciar serviços

Reinicie o agente privado:

jitterbit restart
"C:\Program Files\Jitterbit Agent\StopServices.bat"
"C:\Program Files\Jitterbit Agent\StartServices.bat"