[ 
https://issues.apache.org/jira/browse/KAFKA-3797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15318833#comment-15318833
 ] 

Jason Gustafson commented on KAFKA-3797:
----------------------------------------

[~vahid] Feel free to take it, but we should probably give people a chance to 
comment before choosing which way to go (or whether we need to do anything at 
all). I personally would prefer to disallow clients from producing to that 
topic entirely since it bypasses all checks that the coordinator can do for the 
group. However, if there is really some use case that calls for it, then the 
first option I suggested still seems reasonable and we should probably think 
through whether changes are needed to the coordinator to ensure that the offset 
cache stays in sync with the data. Currently, the coordinator would not see any 
changes written to the offsets topic until the partitions change leaders.

> Improve security of __consumer_offsets topic
> --------------------------------------------
>
>                 Key: KAFKA-3797
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3797
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Jason Gustafson
>
> By default, we allow clients to override committed offsets and group metadata 
> using the Produce API as long as they have Write access to the 
> __consumer_offsets topic. From one perspective, this is fine: administrators 
> can restrict access to this topic to trusted users. From another, it seems 
> less than ideal for Write permission on that topic to subsume Group-level 
> permissions for the full cluster. With this access, a user can cause all 
> kinds of mischief including making the group "lose" data by setting offsets 
> ahead of the actual position. This is probably not obvious to administrators 
> who grant access to topics using a wildcard and it increases the risk from 
> incorrectly applying topic patterns (if we ever add support for them). It 
> seems reasonable to consider safer default behavior:
> 1. A simple option to fix this would be to prevent wildcard topic rules from 
> applying to internal topics. To write to an internal topic, you need a 
> separate rule which explicitly grants authorization to that topic.
> 2. A more extreme and perhaps safer option might be to prevent all writes to 
> this topic (and potentially other internal topics) through the Produce API. 
> Do we have any use cases which actually require writing to 
> __consumer_offsets? The only potential case that comes to mind is replication.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to