Vous pouvez configurer Talend Data Stewardship afin d'utiliser un système Apache Kafka externe sécurisé avec Kerberos.
Avant de commencer
Assurez-vous de disposer des ressources suivantes :
- Le fichier de configuration du Client Kerberos : krb5.conf
- Le fichier de configuration de JAAS Kerberos : kafka_client_jaas.conf
- Le fichier keytab de Kerberos : hostname.keyTab
- Le fichier JKS truststore : krb5.truststore
Procédure
-
Créez un dossier <install_dir>/kafka-kerberos/ et copiez les fichiers suivants dans ce dossier :
- krb5.conf
- kafka_client_jaas.conf
- hostname.keyTab
- krb5.truststore
-
Ajoutez les options Java suivantes au fichier <install_dir>/tds/apache-tomcat/bin/setenv.sh :
-Djava.security.auth.login.config=<install_dir>/kafka-kerberos/kafka_client_jaas.conf
-Djava.security.krb5.conf=<install_dir>/kafka-kerberos/krb5.conf
-
Ouvrez le fichier <install_dir>/kafka-kerberos/kafka_client_jaas.conf et vérifiez que la propriété
keyTab
est configurée comme suit :
keyTab=<install_dir>/kafka-kerberos/hostname.keyTab
-
Éditez le fichier <install_dir>/tds/apache-tomcat/bin/conf/data-stewardship.properties pour y ajouter ou modifier les lignes suivantes :
kafka.ssl.truststore.location=<install_dir>/kafka-kerberos/krk5.truststore
kafka.ssl.truststore.password=<your_truststore_password>
spring.cloud.stream.kafka.binder.configuration.ssl.truststore.location=${kafka.ssl.truststore.location}
spring.cloud.stream.kafka.binder.configuration.ssl.truststore.password=${kafka.ssl.truststore.password}
spring.kafka.properties.ssl.truststore.location=${kafka.ssl.truststore.location}
spring.kafka.properties.ssl.truststore.password=${kafka.ssl.truststore.password}