Accéder au contenu principal Passer au contenu complémentaire

Configurer les fichiers TrustStore ou KeyStore pour les Jobs d'intégration de données

Fournissez un fichier TrustStore ou KeyStore pour vos Jobs d'intégration de données s'exécutant dans votre environnement de Dynamic Engine afin de sécuriser la connectivité.

Pourquoi et quand exécuter cette tâche

Pour une connexion sécurisée de votre Job aux services externes, vous pouvez fournir votre propre TrustStore, ou un TrustStore et un KeyStore, au cours du déploiement de l'environnement.

Procédure

  1. Créez le fichier TrustStore ou KeyStore à utiliser par vos Jobs d'intégration de données.

    Exemple

    Par exemple, vos Jobs doivent se connecter à une base de données MySQL et ont besoin d'un fichier TrustStore personnel pour vérifier l'identité du serveur. Vous pouvez utiliser l'utilitaire keytool en ligne de commande pour générer des fichiers TrustStore et KeyStore. Le TrustStore utilisé par vos Jobs doit contenir l'autorité de certification (Certificate Authority) ayant signé le certificat du serveur MySQL, afin que votre environnement de Dynamic Engine en tant que client MySQL puisse valider l'identité du serveur.

    Pour des instructions relatives à l'utilitaire keytool, consultez Keytool (en anglais). Pour des instructions concernant la configuration de la connexion MySQL au SSL, consultez la documentation MySQL.

    Note InformationsRemarque : À propos du KeyStore et du TrustStore :
    • KeyStore du serveur et TrustStore du client : Le KeyStore du serveur contient la clé privée et la chaîne de certification du serveur. Le TrustStore du client doit contenir le certificat signé du serveur (exporté depuis le KeyStore du serveur à l'aide de l'outil keytool -export) ou le certificat de l'autorité de certification ayant signé le certificat du serveur, afin que le client puisse valider l'identité du serveur.

      Lors de l'exécution, la couche TLS du client (Transport Layer Security) vérifie que le certificat du serveur est fiable. Pour ce faire, elle suit la chaîne de certification du serveur, via les éventuels certificats intermédiaires, jusqu'à trouver un certificat déjà indiqué comme fiable dans son TrustStore. Si la vérification échoue, la connexion sécurisée (handshake) est arrêtée. En d'autres termes, le client établit la connexion uniquement lorsque le certificat du serveur correspond à une entrée de son TrustStore.

  2. Créez un fichier de valeurs personnalisées afin de fournir les fichiers TrustStore ou les fichiers TrustStore et KeyStore à l'environnement Dynamic Engine.

    Exemple

    Dans cet exemple, seul le fichier TrustStore est utilisé.
    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       
    Remplacez les valeurs des variables selon les besoins de votre environnement et vos identifiants.
    Note InformationsConseil : Dans certains cas, vos Jobs doivent fournir un fichier TrustStore (pour vérifier l'identité du système externe) et un fichier KeyStore (pour s'authentifier au système externe). Dans ces scénarios, créez un fichier de valeurs pour chaque TrustStore et 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. Installez ou mettez à niveau le chart d'environnement de Dynamic Engine avec le fichier de valeurs.
    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>              

    Comme expliqué précédemment, seul le fichier de valeurs du TrustStore est requis ici.

    Pour les mises à niveau, utilisez helm upgrade au lieu de helm install.
    Note InformationsConseil : Lorsque les Jobs doivent fournir les fichiers TrustStore et KeyStore, exécutez cette commande pour appliquer les deux fichiers de valeurs en même temps :
    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. Vérifiez que l'environnement de Dynamic Engine est prêt et que les Jobs d'intégration de données peuvent accéder aux fichiers TrustStore et KeyStore personnalisés.
    • Vérifiez que tous les services d'environnement sont en cours d'exécution.
    • Démarrez un Job d'intégration de données et confirmez qu'il se connecte bien aux systèmes externes requis, à l'aide des fichiers TrustStore et KeyStore personnalisés.

Résultats

Lorsque le déploiement est terminé, vos Jobs d'intégration de données dans l'environnement de Dynamic Engine utilisent le TrustStore ou le KeyStore spécifié pour une connectivité sécurisée.

Note InformationsConseil : Pour connecter des Jobs d'intégration de données de manière sécurisée aux systèmes externes, configurez simplement le fichier TrustStore ou KeyStore au niveau de l'environnement. Ce fichier contient la chaîne de certification autorisant les connexions SSL. Vous n'avez pas besoin de changer quoi que ce soit dans les Jobs ou le Studio.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.