Zum Inhalt springen

SCRAM auf PostgreSQL in Jitterbit Private Agents

Einführung

Diese Seite erklärt, wie man die Passwortverschlüsselung der PostgreSQL-Installation von MD5 zu SCRAM-SHA-256 ändert. Führen Sie die Schritte in diesen Abschnitten der Reihe nach aus. (Führen Sie den SQL-Befehl als PostgreSQL-Admin-Benutzer aus.)

Private Agents verwenden standardmäßig MD5-Passwortverschlüsselung für die gebündelte PostgreSQL-Instanz. Unter Windows verwenden Agents, die mit dem Silent Installer installiert wurden, stattdessen SCRAM-SHA-256.

Voraussetzungen

  • Das PostgreSQL-Admin-Passwort.

  • Für Windows-Installationen Zugriff auf ein Microsoft Windows-Administratorkonto. Für Linux-Installationen ein Konto mit Root-Rechten.

Teil 1: PostgreSQL neu konfigurieren

  1. Überprüfen Sie in einer psql-Sitzung die aktuelle Verschlüsselungsmethode:

    SHOW password_encryption;
    
    Erwartete Ausgabe
     password_encryption
    ---------------------
     md5
    (1 row)
    
  2. Bearbeiten Sie die Dateien postgresql.conf und pg_hba.conf der PostgreSQL-Instanz. Diese befinden sich normalerweise im Verzeichnis /opt/jitterbit/DataInterchange/pgsql/data unter Linux und Docker sowie im Ordner C:\Program Files\PostgreSQL\X\data unter Windows (wobei X die Hauptversionsnummer ist).

    • Suchen Sie in postgresql.conf den Parameter password_encryption und ändern Sie seinen Wert von md5 zu scram-sha-256.

    • Ändern Sie in pg_hba.conf die Werte in den Spalten METHOD von md5 zu scram-sha-256 für die gewünschten Verbindungen.

  3. Laden Sie in einer psql-Sitzung die Konfiguration neu:

    SELECT pg_reload_conf();
    
  4. Überprüfen Sie die aktuelle Verschlüsselungsmethode erneut:

    SHOW password_encryption;
    
    Erwartete Ausgabe
     password_encryption
    ---------------------
     scram-sha-256
    (1 row)
    

Teil 2: Benutzerkennwörter aktualisieren

  1. Listen Sie in einer psql-Sitzung Konten auf, die MD5-Passwortverschlüsselung verwenden:

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

    Tipp

    In einem standardmäßigen Private Agent-System sollten nur zwei Benutzer aufgelistet sein: postgres und jitterbit.

    Erwartete Ausgabe
      rolname  | has_scram
    -----------+-----------
     postgres  | f
     jitterbit | f
    (2 rows)
    
  2. Aktualisieren Sie für jedes Konto mit has_scram als f die Kennwörter mit dem folgenden Befehl:

    ALTER ROLE <username> PASSWORD '<password>';
    
    • <username>: Der PostgreSQL-Benutzername des Benutzers.

    • <password>: Ein neues Passwort für den Benutzer.

    Tipp

    Sie können das vorhandene Passwort jedes Kontos wiederverwenden.

Teil 3: PgBouncer neu konfigurieren

Um PgBouncer neu zu konfigurieren, führen Sie diese Schritte aus:

  1. Rufen Sie die SCRAM-Verifier-Hash-Zeichenkette ab und notieren Sie sie:

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

    Notieren Sie den Wert von rolpassword. (Er sollte mit SCRAM-SHA-256 beginnen.)

  2. Bearbeiten Sie die Datei users.txt von PgBouncer, normalerweise unter /opt/jitterbit/pgbouncer/share/doc/pgbouncer/ auf Linux und C:\Program Files\Jitterbit Agent\pgbouncer unter Windows.

    Ersetzen Sie den Hash-Wert durch den Wert, den Sie im vorherigen Schritt kopiert haben.

    Beispiel users.txt mit ursprünglichem Hash
    "jitterbit" "md5b51676b2b6ff8113190a8e4df1b3a144"
    
    Beispiel users.txt mit aktualisiertem Hash
    "jitterbit" "SCRAM-SHA-256$4096:DaRaCof9KFmKvfxW/OIAsg==$gAmuj8MsIamBk/MsLmCrg2FO9FXeFBx+vmm0cUxXkXw=:mlH5eE3+AEdSniA0NPocfSt1BbcLAryftXhYWbMsaS0="
    

Teil 4: Dienste neu starten

Starten Sie den Private Agent neu:

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