Kafka-配置SASL/SCRAM认证

news/2025/11/18 16:47:27/文章来源:https://www.cnblogs.com/yeyuzhuanjia/p/19238438

1.      创建admin用户

如果选择SCRAM机制,首先需要创建用户凭证。假设要创建一个用户名为admin,密码为admin的用户。

# 进入Kafka的安装目录

cd /usr/local/kafka-3.7.0

bin/kafka-configs.sh --bootstrap-server  hadoop01:9092 --alter --add-config 'SCRAM-SHA-256=[password=admin]' --entity-type users --entity-name admin

 

2.      创建JAAS配置文件

Kafka使用JAAS(Java Authentication and Authorization Service)文件进行安全配置。

创建一个JAAS配置文件(例如  /usr/local/kafka-3.7.0/config/kafka_server_jaas.conf),内容如下。这个文件包含了所有合法的用户及其密码。

KafkaServer {

    org.apache.kafka.common.security.scram.ScramLoginModule required

    username="admin"

    password="admin";

};

注意

(1). KafkaServer:这部分配置用于Broker进程自身的认证,以及验证来自客户端的连接。

(2). username和password是Broker之间通信的凭证,应与第一步创建的用户凭证一致。

(3). user_用户名="密码"的格式用于定义客户端用户。务必妥善保管此文件,并设置严格的文件权限。

(4). 如果Zookeeper也配置了SASL认证,你还需要在此文件中添加Client部分,用于Broker与Zookeeper之间的认证。 

                                                                                                   

3.      修改Kafka Broker配置

cd /usr/local/kafka-3.7.0/config

编辑Kafka的 server.properties 配置文件,主要修改或添加以下参数:

# 监听器配置为SASL_PLAINTEXT

listeners=SASL_PLAINTEXT://192.168.80.131:9092

advertised.listeners=SASL_PLAINTEXT://192.168.80.131:9092

# 指定Broker间通信使用的安全协议和SASL机制

security.inter.broker.protocol=SASL_PLAINTEXT

sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256

# 启用SASL机制

sasl.enabled.mechanisms=SCRAM-SHA-256

# (可选但推荐)启用ACL授权,并设置超级用户

authorizer.class.name=kafka.security.authorizer.AclAuthorizer

allow.everyone.if.no.acl.found=false

super.users=User:admin

 

4.      指定JAAS文件并启动Kafka Broker

(1)在启动Kafka时,需要通过环境变量指定JAAS配置文件的路径。

修改/etc/profile文件,将上面内容添加进去:

export KAFKA_OPTS="-Djava.security.auth.login.config=${KAFKA_HOME}/config/kafka_server_jaas.conf"

 

使环境变量生效

source /etc/profile

 

(2)启动Kafka

/usr/local/kafka-3.7.0/bin/kafka-server-start.sh -daemon /usr/local/kafka-3.7.0/config/server.properties

 

5.      配置SASL客户端

客户端(生产者和消费者)也需要进行相应配置才能连接上已启用SASL的Kafka。

在客户端的配置文件中指定以下参数:

vi kafka_client_jaas

security.protocol=SASL_PLAINTEXT

sasl.mechanism=SCRAM-SHA-256

sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="admin";

 

6.      使用admin用户查询所有topic

/usr/local/kafka-3.7.0/bin/kafka-topics.sh --bootstrap-server 192.168.80.131:9092  --command-config  /usr/local/kafka-3.7.0/config/kafka_client_jaas.conf   --list

 

7.      使用admin用户删除topic 

/usr/local/kafka-3.7.0/bin/kafka-topics.sh --bootstrap-server 192.168.80.131:9092  --command-config  /usr/local/kafka-3.7.0/config/kafka_client_jaas.conf   --delete --topic zgy-tjg-fsy ;

 

8.      使用admin用户创建新用户iot

bin/kafka-configs.sh --bootstrap-server  hadoop01:9092 --alter --add-config 'SCRAM-SHA-256=[password=Iot@123]' --entity-type users --entity-name iot –command-config config/kafka_client_jaas.conf

 

9.      使用iot用户查看topic

在客户端的配置文件中指定以下参数:

vi kafka_client_iot_jaas

security.protocol=SASL_PLAINTEXT

sasl.mechanism=SCRAM-SHA-256

sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="iot" password="Iot@123";

 

使用iot用户查看topic,发现查看不到

/usr/local/kafka-3.7.0/bin/kafka-topics.sh --bootstrap-server 192.168.80.131:9092  --command-config  /usr/local/kafka-3.7.0/config/kafka_client_iot_jaas.conf   --list

 

10.  使用admin用户给iot设置ACL权限

# 首先授予主题读取权限

/usr/local/kafka-3.7.0/bin/kafka-acls.sh --bootstrap-server 192.168.80.131:9092   --add --allow-principal User:iot   --operation Read --operation Describe   --topic zgy-tjg-rcms  --command-config  /usr/local/kafka-3.7.0/config/kafka_client_jaas.conf ;

 

 

# 然后授予消费组权限

/usr/local/kafka-3.7.0/bin/kafka-acls.sh --bootstrap-server 192.168.80.131:9092   --add --allow-principal User:iot   --operation Read --operation Describe   --group iot-group  --command-config  /usr/local/kafka-3.7.0/config/kafka_client_jaas.conf ;

 

 

11.  使用iot用户查询所有topic

/usr/local/kafka-3.7.0/bin/kafka-topics.sh --bootstrap-server 192.168.80.131:9092  --command-config  /usr/local/kafka-3.7.0/config/kafka_client_iot_jaas.conf   --list

 

12.  使用iot用户进行消费

方式一: 使用配置文件(推荐)

在原来的命令中通过 --consumer.config 参数来指定这个配置文件。

/usr/local/kafka-3.7.0/bin/kafka-console-consumer.sh  --bootstrap-server  hadoop01:9092  --topic  zgy-tjg-rcms --consumer.config  /usr/local/kafka-3.7.0/config/kafka_client_iot_jaas.conf  --group  iot-group  --from-beginning

 

方式二:通过命令行参数直接传递。

如果你只是想做一次快速测试,也可以将认证参数直接作为属性在命令中传递。

/usr/local/kafka-3.7.0/bin/kafka-console-consumer.sh  --bootstrap-server hadoop01:9092 --topic zgy-tjg-rcms \

  --consumer-property security.protocol=SASL_PLAINTEXT \

  --consumer-property sasl.mechanism=SCRAM-SHA-256 \

  --consumer-property "sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username=\"iot\" password=\"Iot@123\";" \

  --group  iot-group \

  --from-beginning

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/969125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年潜水泵厂家实力榜:轴流水泵、潜水轴流泵、轴流潜水泵、卧式混流水泵、品类五家企业凭技术与口碑出圈

随着城市给排水、农田灌溉、工业循环等领域需求的持续增长,水泵作为核心流体输送设备,其产品性能、可靠性与适配能力成为市场关注焦点。在潜水泵、轴流水泵、混流水泵等主流品类中,一批兼具技术创新能力与服务意识的…

QT中groupbox填满整个页面

在Qt Designer中可视化操作 如果您使用Qt Designer进行界面设计,操作会更加直观-9:将Group Box拖放到主窗体上。确保Group Box被选中,然后右键单击主窗体的空白区域。选择布局菜单,然后选择一个布局方式,例如水平…

视频编辑的新成果!港科大蚂蚁集团提出Ditto框架刷新SOTA!

论文标题:Scaling Instruction-Based VideoEditing with a High-Quality Synthetic Dataset作者团队:香港科大、蚂蚁集团、浙江大学、东北大学 发布时间:2025年10月17日 👉一键直达论文 [👉Lab4AI大模型实验室论…

2025年气体减压阀厂家实力榜:大流量气体减压阀,不锈钢氮气减压阀,不锈钢泄压阀,实验室气体减压阀、多品类阀门企业凭技术与口碑出圈

随着高端制造、生物医药等领域对流体控制精度要求的持续提升,气体减压阀作为核心控制部件,其安全性与稳定性成为市场关注焦点。在不锈钢减压阀、实验室减压阀等主流品类中,一批兼具研发能力与服务意识的企业脱颖而出…

2025年市场朋友圈计划平台榜单top10:权威解析与推荐

摘要 2025年,朋友圈计划平台行业随着数字健康和电商整合的浪潮迅猛发展,专注于大健康产业的服务商成为市场热点。本文基于行业数据和用户口碑,为您呈现2025年市场朋友圈计划平台排行榜前十强,并附上详细解析,帮助…

sub-1G收发芯片DP4330A低成本解决方案OOK /(G)FSK 等多种调制方式远距离 - 动能世纪

产品简介 DP4330A 是一款超低功耗、高集成度、高性能、适用于 Sub-1GHz 频段无线应用的射频收 发器。它具有 1.8V - 3.6V 较宽的输入电压范围,最大发射功率可达到 20dBm,最低灵敏度可达120dBm。它支持OOK 、(G)FSK…

2025年惠州青少年素质教育机构权威推荐榜单:青少年专门教育/感恩教育/沉迷游戏矫正源头机构精选

青少年行为矫正市场需求持续增长,其中科学的教育理念与专业的师资队伍已成为家长选择素质教育机构的核心考量因素。 随着社会对青少年心理健康重视程度的提高,专业素质教育机构通过心理辅导、行为矫正、感恩教育等多…

jQuery的.each()方法中return的坑

jQuery的.each()方法中return的坑

深入解析:文本描述驱动的可视化工具在IDE中的应用与实践

深入解析:文本描述驱动的可视化工具在IDE中的应用与实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

模型训练场景5090和4090的算力比较

测试下英伟达这款最新的消费级旗舰和上一代RTX 4090在模型训练场景下性能差异多大?5090的32G的容量比4090增加8G,显存带宽有大幅的提升,5090的算力比4090提升近30%。 基于Pytorch框架来训练ResNet-50模型,使用CIFA…

00.课程导学

00.课程导学视频课程:https://www.bilibili.com/video/BV1821CY8E2d/?spm_id_from=333.1387.search.video_card.click 0.1 课程设计1.基本语法2.面向对象3.常用API4.IO流5.多线程6.网络编程7.AI应用开发7.1GPT原理7.…

2025年羊毛地毯品牌哪家好?权威排行Top10推荐

摘要 羊毛地毯行业在2025年持续蓬勃发展,随着消费者对家居品质和环保需求的提升,手工编织、天然材质的羊毛地毯成为市场热点。本文基于行业数据、用户口碑和专家评测,为您呈现2025年评价高的羊毛地毯厂家Top10排名,…

【笔记】VictoriaLogs 单机版的测试

【笔记】VictoriaLogs 单机版的测试作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客 zhihu Github 公众号:一本正经的瞎扯用 docker 启动服务 docker run -it --rm --name vlogs \--cpus=1 -m…

2025年羊毛地毯品牌口碑推荐榜单

摘要 随着家居消费升级和环保意识增强,2025年羊毛地毯行业迎来品质化、个性化发展浪潮。手工编织、植物染色、原创设计成为市场新趋势,消费者更注重健康环保与文化内涵。本文基于行业数据与用户口碑,整理出十大优质…

01.入门篇-体验AI编程

01.入门篇-体验AI编程1.———————————————————————————————————————————————————————————————————————————无敌小马爱学习

cocos creator开发斗地主(包含server)

github开源地址:https://github.com/liangzi-aha/cocos_doudizhu_game?tab=readme-ov-file cocos_doudizhu_game 1、项目介绍cocos creator 3.85 版本 + node(服务) + mysql(数据库) 开发斗地主微信游戏 Demo no…

2025年羊毛地毯品牌口碑推荐榜单:甄选优质手工艺术与健康生活

摘要 随着家居品质消费升级,羊毛地毯行业正迎来绿色环保与手工艺术融合的新趋势。本文基于市场调研和用户口碑,为您呈现2025年最具价值的羊毛地毯品牌推荐榜单,帮助您甄选兼具美学价值与健康环保的优质地毯。文末附…

活动预告|IvorySQL 诚邀您参加2025开放原子开发者大会

2025 年 11 月 21-22 日,2025 开放原子开发者大会将在北京盛大开启。本次大会以“AI 共智 开源共享”为主题,聚焦 AI,将汇聚顶尖开源力量,洞见行业前沿实践。 作为开源数据库领域的重要参与者,IvorySQL 将在本次大…

2025 年 11 月护栏厂家推荐排行榜,桥梁防撞护栏,道路护栏,景观护栏,河道护栏,不锈钢复合管护栏公司推荐

2025年11月护栏行业深度解析与优质厂家推荐指南 护栏作为城市基础设施和建筑工程中不可或缺的安全防护设施,其质量与性能直接关系到公共安全与工程品质。随着我国基础设施建设的持续推进,护栏行业呈现出多元化、专业…

2025年评价高的羊毛地毯制造企业排行

摘要 羊毛地毯行业在2025年持续增长,得益于消费者对环保、设计和品质的追求。手工羊毛地毯市场尤其受到青睐,融合传统工艺与现代美学。本文基于行业数据和用户评价,整理出评价高的羊毛地毯制造企业排行榜,为消费者…