You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon MSK(公网Kafka)创建Topic时的授权问题

Kafka授权问题排查求助

在AWS上运行的公网Kafka服务器已启用SASL/SCRAM认证,认证环节成功,但创建新Topic时触发授权错误。

创建Topic的操作命令

./kafka-topics --create --replication-factor 2 --partitions 1 --topic TestTopic --bootstrap-server my-servers --command-config config.properties

认证配置文件config.properties

sasl.mechanism=SCRAM-SHA-512
security.protocol=SASL_SSL
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
    username="user" \
    password="pass";

报错信息

java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TopicAuthorizationException: Authorization failed.

补充尝试1:ACL配置失败

推测是ACL权限不足,尝试两条ACL配置命令均失败:

命令1:给指定Topic添加读写权限

./kafka-acls --bootstrap-server my_servers \
  --command-config config.properties \
  --add \
  --allow-principal User:my_user \
  --operation read \
  --operation write \
  --topic Kafkapasstopic

报错内容:

Adding ACLs for resource `ResourcePattern(resourceType=TOPIC, name=Kafkapasstopic, patternType=LITERAL)`:
    (principal=User:my_user, host=*, operation=WRITE, permissionType=ALLOW)
    (principal=User:my_user, host=*, operation=READ, permissionType=ALLOW)

Error while executing ACL command: org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(**), listenerName=ListenerName(CLIENT_SASL_SCRAM_PUBLIC), securityProtocol=SASL_SSL, buffer=java.nio.HeapByteBuffer[pos=108 lim=108 cap=108], envelope=None) is not authorized.
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(**), listenerName=ListenerName(CLIENT_SASL_SCRAM_PUBLIC), securityProtocol=SASL_SSL, buffer=java.nio.HeapByteBuffer[pos=108 lim=108 cap=108], envelope=None) is not authorized.
    
Caused by: org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(**), listenerName=ListenerName(CLIENT_SASL_SCRAM_PUBLIC), securityProtocol=SASL_SSL, buffer=java.nio.HeapByteBuffer[pos=108 lim=108 cap=108], envelope=None) is not authorized.

命令2:给集群添加创建/修改权限

./kafka-acls --bootstrap-server my_servers --add --allow-principal User:my_user --operation Create --operation Alter --cluster --command-config config.properties

报错内容:

Adding ACLs for resource `ResourcePattern(resourceType=CLUSTER, name=kafka-cluster, patternType=LITERAL)`:
        (principal=User:my_user, host=*, operation=CREATE, permissionType=ALLOW)
        (principal=User:my_user, host=*, operation=ALTER, permissionType=ALLOW)
    
Error while executing ACL command: org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(Session(User:kafka,/***), listenerName=ListenerName(CLIENT_SASL_SCRAM_PUBLIC), securityProtocol=SASL_SSL, buffer=java.nio.HeapByteBuffer[pos=104 lim=104 cap=104], envelope=None) is not authorized.
    java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(**), listenerName=ListenerName(CLIENT_SASL_SCRAM_PUBLIC), securityProtocol=SASL_SSL, buffer=java.nio.HeapByteBuffer[pos=104 lim=104 cap=104], envelope=None) is not authorized.
   kafka.admin.AclCommand$AdminClientService.addAcls(AclCommand.scala:111)
        at kafka.admin.AclCommand$.main(AclCommand.scala:73)
        at kafka.admin.AclCommand.main(AclCommand.scala)
    Caused by: org.apache.kafka.common.errors.ClusterAuthorizationException: Request Request(**), listenerName=ListenerName(CLIENT_SASL_SCRAM_PUBLIC), securityProtocol=SASL_SSL, buffer=java.nio.HeapByteBuffer[pos=104 lim=104 cap=104], envelope=None) is not authorized.

补充尝试2:ZooKeeper方式配置ACL失败

按照建议使用ZooKeeper直接配置ACL,执行命令:

./kafka-acls \
    --authorizer-properties zookeeper.connect=zookeeper-connection-string \
    --add --allow-principal User:my_user \
    --operation Create \
    --operation Alter \
    --cluster \
    --command-config config.properties

报错内容(翻译后):

警告:直接通过授权器配置ACL的方式已被弃用,将在未来版本中移除。请使用--bootstrap-server参数通过Admin客户端设置ACL。你必须至少指定一个资源:--topic、--cluster、--group或--delegation-token。


内容的提问来源于stack exchange,提问作者iso_9001_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 01:12:02