[ https://issues.apache.org/jira/browse/KAFKA-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16025746#comment-16025746 ]
Ewen Cheslack-Postava commented on KAFKA-4585: ---------------------------------------------- [~vahid] Honestly not sure -- there are a number of permissions that I find odd choices, especially in the consumer. Unfortunately I didn't participate in the discussions/patches that introduced those, so I'm not sure of the reasoning. I've discussed this previously with [~hachikuji] and iirc he also agreed some of them may seem a bit odd. Not sure if he has anything more to add here wrt your specific question though. > Offset fetch and commit requests use the same permissions > --------------------------------------------------------- > > Key: KAFKA-4585 > URL: https://issues.apache.org/jira/browse/KAFKA-4585 > Project: Kafka > Issue Type: Bug > Components: consumer > Affects Versions: 0.10.1.1 > Reporter: Ewen Cheslack-Postava > Assignee: Vahid Hashemian > Labels: needs-kip > > Currently the handling of permissions for consumer groups seems a bit odd > because most of the requests use the Read permission on the Group (join, > sync, heartbeat, leave, offset commit, and offset fetch). This means you > cannot lock down certain functionality for certain users. For this issue I'll > highlight a realistic issue since conflating the ability to perform most of > these operations may not be a serious issue. > In particular, if you want tooling for monitoring offsets (i.e. you want to > be able to read from all groups) but don't want that tool to be able to write > offsets, you currently cannot achieve this. Part of the reason this seems odd > to me is that any operation which can mutate state seems like it should be a > Write operation (i.e. joining, syncing, leaving, and committing; maybe > heartbeat as well). However, [~hachikuji] has mentioned that the use of Read > may have been intentional. If that is the case, changing at least offset > fetch to be a Describe operation instead would allow isolating the mutating > vs non-mutating request types. > Note that this would require a KIP and would potentially have some > compatibility implications. Note however, that if we went with the Describe > option, Describe is allowed by default when Read, Write, or Delete are > allowed, so this may not have to have any compatibility issues (if the user > previously allowed Read, they'd still have all the same capabilities as > before). -- This message was sent by Atlassian JIRA (v6.3.15#6346)