Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Konfigurieren benutzerdefinierter Truststore- oder Keystore-Dateien für Datenintegrationsjobs

Stellen Sie benutzerdefinierte Truststore- oder Keystore-Dateien für Datenintegrationsjobs bereit, die in Ihrer Dynamic Engine-Umgebung ausgeführt werden, um eine sichere Verbindung zu gewährleisten.

Warum und wann dieser Vorgang ausgeführt wird

Um eine sichere Verbindung zu externen Diensten für Ihren Job herzustellen, können Sie während der Umgebungsimplementierung einen eigenen Truststore oder sowohl einen Truststore als auch einen Keystore angeben.

Prozedur

  1. Erstellen Sie die Truststore- oder Keystore-Datei, die von Ihren Datenintegrationsjobs verwendet werden soll.

    Example

    Beispiel: Ihre Jobs müssen eine Verbindung zu einer MySQL-Datenbank herstellen und der benutzerdefinierte Truststore muss die Serveridentität verifizieren. Sie können das Befehlszeilendienstprogramm keytool verwenden, um die Truststore- und Keystore-Dateien zu generieren. Dann muss der von Ihren Jobs verwendete Truststore das Zertifikat der Zertifizierungsstelle enthalten, mit dem das MySQL-Serverzertifikat signiert wurde, damit Ihre Dynamic Engine-Umgebung als MySQL-Client die Serveridentität validieren kann.

    Anweisungen zu keytool finden Sie unter Keytool. Anweisungen zum Einrichten der SSL-Verbindung für MySQL finden Sie in der MySQL-Dokumentation.

    InformationshinweisAnmerkung: Informationen zu Keystore und Truststore:
    • Server-Keystore und Client-Truststore: Im Server-Keystore werden der private Schlüssel und die Zertifikatskette des Servers gespeichert. Der Client-Truststore muss entweder das signierte Zertifikat des Servers (mit keytool -export aus dem Server-Keystore exportiert) oder das Zertifikat der Zertifizierungsstelle enthalten, mit dem das Serverzertifikat signiert wurde, damit der Client die Serveridentität validieren kann.

      Zur Laufzeit verifiziert der TLS-Stack (Transport Layer Security) des Clients, ob dem Serverzertifikat vertraut werden kann. Hierzu folgt er der Zertifikatskette des Servers über etwaige Zwischenzertifikate, bis ein Zertifikat gefunden wird, dem im Truststore bereits vertraut wird. Wenn diese Verifizierung fehlschlägt, wird die sichere Verbindung (Handshake) abgebrochen. Der Client stellt also nur eine Verbindung her, wenn er das Serverzertifikat mit einem Eintrag im Truststore abgleichen kann.

  2. Erstellen Sie eine benutzerdefinierte Wertedatei, um die Truststore-Datei oder sowohl die Truststore- als auch den Keystore-Dateien in der Dynamic Engine-Umgebung bereitzustellen.

    Example

    In diesem Beispiel wird nur die Truststore-Datei verwendet.
    DYN_ENGINE_ENV_ID=<environment-id>
    STORE_TYPE=truststore
    STORE_FILE=${keystoreFolder}/job-truststore.pc12
    STORE_PASSWORD=${jobTruststorePassword}
    STORE_FILE_TYPE=$(keytool -list -keystore "$STORE_FILE" \
    -storepass "$STORE_PASSWORD" 2>/dev/null | awk -F': ' '/Keystore type/{print $2}')
    cat <<EOF > $DYN_ENGINE_ENV_ID-custom-$STORE_TYPE-values.yaml
    configuration:
      $STORE_TYPE:
        enabled: true
        data: $(base64 -i $STORE_FILE | tr -d '\n')
        password: $STORE_PASSWORD
        type: $STORE_FILE_TYPE
    EOF       
    Ersetzen Sie die Variablenwerte wie für Ihre Umgebung und Anmeldeinformationen erforderlich.
    InformationshinweisTipp: In manchen Fällen müssen Ihre Jobs sowohl einen Trustrore (zum Überprüfen der Identität des externen Systems) als auch einen Keystore (zum Authentifizieren bei diesem externen System) angeben. In diesen Szenarios erstellen Sie eine Wertedatei sowohl für den Truststore als auch für den Keystore:
    # Create the truststore values file
    DYN_ENGINE_ENV_ID=<environment-id>
    STORE_TYPE=truststore
    STORE_FILE=${keystoreFolder}/job-truststore.pc12
    STORE_PASSWORD=${jobTruststorePassword}
    STORE_FILE_TYPE=$(keytool -list -keystore "$STORE_FILE" \
    -storepass "$STORE_PASSWORD" 2>/dev/null | awk -F': ' '/Keystore type/{print $2}')
    cat <<EOF > $DYN_ENGINE_ENV_ID-custom-$STORE_TYPE-values.yaml
    configuration:
      $STORE_TYPE:
        enabled: true
        data: $(base64 -i $STORE_FILE | tr -d '\n')
        password: $STORE_PASSWORD
        type: $STORE_FILE_TYPE
    EOF  
    
    # Create the values file forkeystore
    STORE_TYPE=keystore
    STORE_FILE=${keystoreFolder}/job-keystore.jks
    STORE_PASSWORD=${jobKeystorePassword}
    STORE_FILE_TYPE=$(keytool -list -keystore "$STORE_FILE" \
    -storepass "$STORE_PASSWORD" 2>/dev/null | awk -F': ' '/Keystore type/{print $2}')
    cat <<EOF > $DYN_ENGINE_ENV_ID-custom-$STORE_TYPE-values.yaml
    configuration:
      $STORE_TYPE:
        enabled: true
        data: $(base64 -i $STORE_FILE | tr -d '\n')
        password: $STORE_PASSWORD
        type: $STORE_FILE_TYPE
    EOF
  3. Installieren oder aktualisieren Sie das Dynamic Engine-Umgebungsdiagramm mit der benutzerdefinierten Wertedatei.
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
     -f <environment-id>-custom-truststore-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version <engine-version>              

    Wie zuvor erläutert, wird hier nur die Truststore-Wertedatei benötigt.

    Verwenden Sie für Upgrades helm upgrade anstelle von helm install.
    InformationshinweisTipp: Wenn die Jobs sowohl die Truststore- als auch die Keystore-Datei angeben müssen, führen Sie den folgenden Befehl aus, um beide Wertedateien gleichzeitig anzuwenden:
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
     -f <environment-id>-custom-truststore-values.yaml \
      -f <environment-id>-custom-keystore-values.yaml \
     oci://ghcr.io/talend/helm/dynamic-engine-environment \
     --version <engine-version>
  4. Überprüfen Sie, dass die Dynamic Engine-Umgebung bereit ist und die Datenintegrationsjobs auf die benutzerdefinierte Truststore- oder Keystore-Datei zugreifen können.
    • Überprüfen Sie, ob alle Umgebungsdienste ausgeführt werden.
    • Starten Sie einen Datenintegrationsjob und bestätigen Sie, dass er eine Verbindung zu den erforderlichen externen Systemen anhand der benutzerdefinierten Truststore- oder Keystore-Datei herstellen kann.

Ergebnisse

Wenn die Implementierung abgeschlossen ist, verwenden Ihre Datenintegrationsjobs in der Dynamic Engine-Umgebung den angegebenen Truststore oder Keystore für sichere Verbindungen.

InformationshinweisTipp: Um Datenintegrationsjobs sicher mit externen Systemen zu verbinden, müssen Sie nur die Truststore- oder Keystore-Datei auf Umgebungsebene zu konfigurieren. Diese Datei enthält die Zertifikatskette, die SSL-Verbindungen zulässt. Es sind keine Änderungen an den Jobs oder in Studio erforderlich.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!