Pour sécuriser les connexion entre Talend Data Stewardship, le serveur MongoDB et Apache Kafka, vous devez modifier le fichier data-stewardship.properties.
Important : Dans la procédure suivante, le module du serveur MongoDB, le module Apache Kafka et les autres modules Talend Data Stewardship doivent utiliser le même TrustStore.
Remarque :
Il n'est cependant pas possible d'établir une connexion sécurisée pour MongoDB si vous avez choisi d'utiliser l'instance de MongoDB intégrée lors de l'installation.
Si vous souhaitez sécuriser les connexions de MongoDB en utilisant SSL, MongoDB Enterprise Server doit être manuellement installé sur votre machine. Pour plus d'informations, consultez https://docs.mongodb.com/v3.2/security/ (en anglais).
Procédure
-
Ouvrez le fichier <Data_Stewardship_Path>\apache-tomcat\conf\data-stewardship.properties.
-
Pour faire confiance au certificat du serveur utilisé par Talend Data Stewardship, ajoutez les propriétés suivantes avec les valeurs appropriées :
http.ssl.truststore.location=<path_to_truststore>
http.ssl.truststore.password=<truststore_password>
Remarque : Pour pouvoir travailler avec Talend Data Stewardship, assurez-vous d'utiliser un seul TrustStore.
-
Par défaut, Talend Data Stewardship ne vérifie pas si le nom d'hôte correspond au nom commun du certificat.
Afin d'activer cette vérification, ajoutez la propriété suivante et changez la valeur du champ suivant à
true
:
http.ssl.verify.hostname=true
-
Pour permettre d'utiliser l'authentification par clé privée dans Talend Data Stewardship, ajoutez les propriétés suivantes avec les valeurs appropriées :
http.ssl.keystore.location=<path_to_keystore>
http.ssl.keystore.password=<keystore_password>
http.ssl.key.password=<key_password>
-
Pour sécuriser les connexions avec MongoDB, ajoutez les propriétés suivantes avec les valeurs appropriées :
spring.data.mongodb.ssl=true
spring.data.mongodb.ssl.trust-store=<path_to_truststore>
spring.data.mongodb.ssl.trust-store-password=<truststore_password>
-
Pour sécuriser les connexions avec Kafka à l'aide du chiffrage de communication uniquement, ajoutez les propriétés suivantes avec les valeurs appropriées :
kafka.security.protocol=SSL
kafka.ssl.truststore.location=<path_to_truststore>
kafka.ssl.truststore.password=<truststore_password>
-
Pour sécuriser les connexions avec Kafka, à l'aide de l'authentification, ajoutez les propriétés suivantes avec les valeurs appropriées :
kafka.ssl.keystore.location=<path_to_keystore>
kafka.ssl.keystore.password=<keystore_password>
kafka.ssl.key.password=<key_password>
Notez que les paramètres de chiffrage de communication doivent également être définis pour utiliser l'authentification.
-
Pour sécuriser les connexions avec le broker de messages, ajoutez les propriétés suivantes avec les valeurs appropriées :
spring.cloud.stream.kafka.binder.configuration.security.protocol=SSL
spring.cloud.stream.kafka.binder.configuration.ssl.truststore.location=<path_to_truststore>
spring.cloud.stream.kafka.binder.configuration.ssl.truststore.password=<truststore_password>
spring.cloud.stream.kafka.binder.configuration.ssl.keystore.location=<path_to_keystore>
spring.cloud.stream.kafka.binder.configuration.ssl.keystore.password=<keystore_password>
spring.cloud.stream.kafka.binder.configuration.ssl.key.password=<key_password>
spring.cloud.stream.kafka.binder.configuration.ssl.endpoint.identification.algorithm=<ssl_algorithm>
spring.kafka.properties.security.protocol=SSL
spring.kafka.properties.ssl.truststore.location=<path_to_truststore>
spring.kafka.properties.ssl.truststore.password=<truststore_password>
spring.kafka.properties.ssl.keystore.location=<path_to_keystore>
spring.kafka.properties.ssl.keystore.password=<keystore_password>
spring.kafka.properties.ssl.key.password=<key_password>
-
Pour sécuriser les connexions avec Talend Identity et Access Management, modifiez les lignes suivantes :
tds.security=iam
oidc.url=https://<host_name:port>/oidc
oidc.userauth.url=https://<host_name:port>/oidc
scim.url=https://<host_name:port>/scim
-
Modifiez les URL des services actuellement au format
http
, vers le format https
:
tds.history.service.url=https://${public.ip}:${server.port}/data-history-service
schema.service.url=https://${public.ip}:${server.port}/schemaservice
-
Modifiez les URL de la passerelle actuellement au format
http
, vers le format https
:
frontend.url=https://<datastewardship_server:port>/internal/frontend
backend.url=https://<datastewardship_server:port>/internal/data-stewardship
schemaservice.url=https://<datastewardship_server:port>/internal/schemaservice
historyservice.url=https://<datastewardship_server:port>/internal/data-history-service
Que faire ensuite
Pour activer le support de HTTPS sur Tomcat, consultez https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html (en anglais).
Pour activer le support de SSL sur MongoDB, consultez https://docs.mongodb.com/v3.0/tutorial/configure-ssl/ (en anglais).
Pour activer le support de SSL sur Kafka, consultez http://kafka.apache.org/documentation.html#security_ssl (en anglais).
Pour activer le support de SSL sur Talend Identity et Access Management, consultez Sécuriser les connexions pour Talend Identity et Access Management.