Replies: 1 comment 3 replies
-
This is basically a correct observation. That said, you can also disable the User Operator completely and manage your users and their rights anyway you want using the Kafka Admin API.
I think all the 3 options you mentioned are used very often. In the 1st and 3rd options, GitOps pattern and GitHub are often used as the approval mechanism. I guess I agree that the idea to couple the ACLs and the users is not always the best and often requires additional tooling to control how they are configured. That said, separate resources for ACLs or managing ACLs as part of the topic have their own challenges as well. For example, they are quite fragile as they rely on the username being defined separately from the ACLs etc. I spent a lot of time thinking about how to improve what you describe here. But so far I did not really come up with anything that I would not seem to just trade one set of problems for another. 😞 |
Beta Was this translation helpful? Give feedback.
-
Correct me if I'm wrong, but it seems that currently the only way to grant ACLs to a user, is by specifying the ACLs in the relevant
KafkaUser
resource. This seems a bit problematic, as this essentially means that if I am allowed to create aKafkaUser
, then I am also allowed to give my user all kinds of permissions. If my team "owns" a topic, I wouldn't want other teams to grant themselves permissions to read/write from it without our approval. So I was curious how this is handled in Organizations with more than one team? The way I see it, there are 3 options:KafkaUser
objects as new permissions are approved.I don't really have a solution for this, but it seems like option 3. could be made easier if
KafkaUser
and ACL definitions were kept separately (e.g. something akin to K8s service accounts which are granted permissions usingRoleBinding
objects).Beta Was this translation helpful? Give feedback.
All reactions