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 aufgeführt sein: postgres und jitterbit.

    Erwartete Ausgabe
      rolname  | has_scram
    -----------+-----------
     postgres  | f
     jitterbit | f
    (2 rows)
    
  2. Für jedes Konto, bei dem has_scram f anzeigt, 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-Verifier-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 Hashwert 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"