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

MSK集群SASL/SCRAM认证权限不足及ACL修改咨询

问题分析与解决方案

核心结论

是的,你需要配置Kafka的ACL策略。当前Secrets Manager的密钥策略仅用于让MSK服务读取SCRAM认证凭证(完成认证环节),而客户端连接后的授权控制完全依赖Kafka自身的ACL规则——你的报错明确是集群授权失败,说明SCRAM用户缺少必要的权限。

具体操作步骤

  • 准备Kafka客户端环境
    你需要在能访问MSK集群的EC2实例或本地环境中配置Kafka客户端工具(推荐使用与MSK集群Kafka版本匹配的客户端),并创建用于SCRAM认证的配置文件client.properties:

    security.protocol=SASL_SSL
    sasl.mechanism=SCRAM-SHA-512
    sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="你的SCRAM用户名" password="你的SCRAM密码";
    
  • 配置集群级必要权限
    针对UI报错提到的DescribeCluster、DescribeConfigs、DescribeConsumerGroups权限,执行以下命令:

    kafka-acls.sh --bootstrap-server <你的MSK集群引导服务器地址> --command-config client.properties --add --allow-principal User:<你的SCRAM用户名> --operation DescribeCluster --operation DescribeConfigs --operation DescribeConsumerGroups --cluster
    
  • 配置主题级权限
    根据业务需求,赋予用户主题的创建、读写权限(示例为所有主题,可替换为具体主题名):

    kafka-acls.sh --bootstrap-server <你的MSK集群引导服务器地址> --command-config client.properties --add --allow-principal User:<你的SCRAM用户名> --operation Create --operation Read --operation Write --topic '*'
    
  • 验证配置
    执行完ACL配置后,重新使用客户端连接MSK集群,尝试执行创建主题、读取主题、查看集群配置等操作,确认报错是否消失。

补充说明

  • 若你的MSK集群同时启用IAM认证与SCRAM,需注意ACL中的Principal格式:SCRAM用户为User:<用户名>,IAM用户为User:arn:aws:iam::<账户ID>:user/<用户名>,不要混淆。
  • 可通过以下命令查看已配置的ACL规则,确认权限是否正确添加:
    kafka-acls.sh --bootstrap-server <你的MSK集群引导服务器地址> --command-config client.properties --list --cluster
    kafka-acls.sh --bootstrap-server <你的MSK集群引导服务器地址> --command-config client.properties --list --topic '*'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 06:05:03