acharbha created KAFKA-15394:
--------------------------------

             Summary: Issue with Kafka ACLs: Unexpected Permissions for User
                 Key: KAFKA-15394
                 URL: https://issues.apache.org/jira/browse/KAFKA-15394
             Project: Kafka
          Issue Type: Bug
          Components: security
         Environment: we are running Kafka on a Kubernetes cluster using helm..
            Reporter: acharbha


Hello Community,

I'm facing an unexpected situation while working with Kafka ACLs. Despite 
having provided only read access permissions to the user "rbactest22sep," I've 
noticed that this user is still able to add ACLs for Kafka topics. Here are the 
details:

User: rbactest22sep

Current Permissions: Principal=User:rbactest22sep, Host=*, Operation=READ, 
PermissionType=ALLOW

I attempted to add an ACL for topic creation using the following command:
|kafka-acls{*}.{*}sh {*}--{*}bootstrap-server 
broker1{*}:{*}{*}9095{*}{*},{*}broker2{*}:{*}{*}9095{*}{*},{*}broker3{*}:{*}{*}9095{*}
 {*}--{*}command-config 
{*}/{*}bitnami{*}/{*}kafka{*}/{*}config{*}/{*}rbacuser{*}.{*}properties 
{*}--{*}add {*}--{*}allow-principal User{*}:{*}rbactest22sep {*}--{*}operation 
create {*}--{*}topic '*'
Adding ACLs *for* resource 
`ResourcePattern{*}({*}resourceType{*}={*}TOPIC{*},{*} name{*}=*,{*} 
patternType{*}={*}LITERAL{*}){*}`{*}:{*}
       {*}({*}principal{*}={*}User{*}:{*}rbactest22sep{*},{*} host{*}=*,{*} 
operation{*}={*}CREATE{*},{*} permissionType{*}={*}ALLOW{*}){*}|

 

Where content of /bitnami/kafka/config/rbacuser.properties as below:
|security{*}.{*}protocol{*}={*}SASL_SSL
sasl{*}.{*}mechanism{*}={*}SCRAM-SHA-256
sasl{*}.{*}jaas{*}.{*}config{*}={*}org{*}.{*}apache{*}.{*}kafka{*}.{*}common{*}.{*}security{*}.{*}scram{*}.{*}ScramLoginModule
 required username{*}={*}"rbactest22sep" password{*}={*}"mypass"{*};{*}
ssl{*}.{*}truststore{*}.{*}{*}type{*}{*}={*}JKS
ssl{*}.{*}truststore{*}.{*}location{*}=/{*}opt{*}/{*}bitnami{*}/{*}kafka{*}/{*}config{*}/{*}certs{*}/{*}kafka{*}.{*}truststore{*}.{*}jks
# Uncomment this line if your client truststore is password protected
ssl{*}.{*}truststore{*}.{*}password{*}={*}trustpass{*}.{*}com|

 

The command executed successfully, and the user gained the ability to create 
topics.

I'm puzzled by this behavior and would appreciate your insights into why this 
might be happening. Could this be related to Kafka configuration, ACL 
inheritance, or a misunderstanding of the permissions model?

Also, I'm under the assumption that we need to explicitly give the following 
permissions to a user to manage ACLs:

 
|DESCRIBE_ACLS {*}({*}{*}29{*}{*}){*} Describe Cluster
CREATE_ACLS {*}({*}{*}30{*}{*}){*} Alter Cluster
DELETE_ACLS {*}({*}{*}31{*}{*}){*} Alter Cluster|

Any guidance on how to troubleshoot and resolve this issue, as well as any 
clarifications on the necessary permissions for managing ACLs, would be greatly 
appreciated.

 

Thank you for your help!

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to