Kafka prend-il en charge les communications sécurisées ?
-
21-12-2019 - |
Question
J'ai lu beaucoup de documentation Apache Kafka, mais je ne parviens pas à savoir si Kafka prend en charge la communication sécurisée entre producteurs-courtiers, courtiers-consommateurs, et en particulier pour la communication inter-centres de données pour la réplication des courtiers.
La solution
Mise à jour:Depuis la version 0.9.0.0, l'implémentation SSL est ajoutée à Kafka.La configuration SSL doit être ajoutée explicitement du côté du courtier.
Il est même possible d'activer SSL pour la communication entre courtiers en ajoutant la propriété suivante au fichier de propriétés du courtier.
security.inter.broker.protocol=SSL
Concernant le producteur et les consommateurs, le SSL n'est pris en charge que pour la nouvelle API.
Pour plus de détails concernant la génération de clé, de certificat et de configuration, veuillez vérifier déployer SSL pour Kafka
Versions précédentes
Avant 0.9.0.0 Kafka does not
prend en charge SSL/authentification et, d'après ce que je comprends, ils ne l'ont pas dans la feuille de route de leur équipe proche.Une solution pourrait consister à utiliser le cryptage de votre côté et à envoyer les données cryptées via des producteurs.
Cependant ils ont ce discussion concernant la mise en œuvre de la sécurité à l’avenir.
Une discussion similaire peut être trouvée ici
MISE À JOUR
Merci à @ppearcy pour ses découvertes
Les choses ont probablement changé depuis la publication de ce message, mais la sécurité est actuellement sur la feuille de route : https://cwiki.apache.org/confluence/display/KAFKA/Security
Autres conseils
Il y a eu patchs pour prendre en charge l'authentification du client et sécuriser en transitMais noter cela ne l'a pas encore fait à une libération de production. Il existe des discussions intéressantes et des travaux futurs qui incluent l'authentification des clients, l'autorisation ainsi que le cryptage des données au repos https://www.mail-archive.com/dev@kafka.apache.org/msg11664.html