Zum Inhalt springen

SCRAM auf PostgreSQL in Jitterbit privaten Agenten

Einführung

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

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 postgresql.conf- und pg_hba.conf-Dateien 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 dessen Wert von md5 in scram-sha-256.

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

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

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

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

Teil 2: Benutzerpasswörter aktualisieren

  1. Listen Sie in einer psql-Sitzung die 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 privaten Agentensystem sollten nur zwei Benutzer aufgelistet sein: postgres und jitterbit.

    Erwartete Ausgabe
      rolname  | has_scram
    -----------+-----------
     postgres  | f
     jitterbit | f
    (2 rows)
    
  2. Für jedes Konto, bei dem has_scram auf f steht, aktualisieren Sie die Passwörter mit dem folgenden Befehl:

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

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

    Tipp

    Sie können das bestehende Passwort jedes Kontos wiederverwenden.

Teil 3: PgBouncer neu konfigurieren (falls installiert)

Wenn Sie PgBouncer verwenden, befolgen Sie diese Schritte:

  1. Holen Sie sich den SCRAM-Überprüfungs-Hash-String und notieren Sie ihn:

    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, die sich normalerweise in /opt/jitterbit/pgbouncer/share/doc/pgbouncer/ unter Linux und in C:\Program Files\Jitterbit Agent\pgbouncer unter Windows befindet.

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

    Beispiel users.txt mit originalem 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 privaten Agenten neu:

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