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)