web-dev-qa-db-fra.com

Comment authentifier / autoriser un consommateur dans Kafka pour un sujet avant qu'il ne consomme le message

Dans Kafka, existe-t-il un moyen d'authentifier/autoriser un consommateur chaque fois qu'un consommateur essaie de lire un message sur un sujet auquel il est abonné?

Le cas d'utilisation ici est qu'un consommateur devrait être en mesure de présenter un jeton d'authentification au courtier kafka puis le courtier devrait être en mesure de valider ce jeton avant de permettre au consommateur de lire un message de la rubrique.

Est-ce réalisable en kafka?

7
Hary

Kafka fournit à la fois des mécanismes d'authentification et d'autorisation enfichables.

Pour l'authentification, le processus de création de votre propre logique est décrit dans: Can Kafka peut-il être fourni avec un LoginModule personnalisé pour prendre en charge LDAP?

Pour l'autorisation, vous devez simplement fournir une classe qui implémente l'interface Authorizer ( https://github.com/Apache/kafka/blob/trunk/core/src/main/scala/kafka/security/auth/ Authorizer.scala ) et définissez authorizer.class.name à votre classe dans server.properties.

L'authentification n'est effectuée que lorsqu'un client se connecte, donc si vous avez besoin d'une validation pour chaque action de consommation, vous devrez utiliser des autorisations.

Je vous suggère de vous familiariser avec les fonctionnalités de sécurité Kafka et plus précisément les autorisations: http://kafka.Apache.org/documentation/#security_authz

6
Mickael Maison