kafka动态权限认证(SASL SCRAM + ACL)
kafka动态权限认证(SASL SCRAM + ACL)
创建三个测试用户
bin/kafka-configs.sh --zookeeper 192.168.x.x:2181 --alter --add-config ‘SCRAM-SHA-256=[iterations=8192,password=admin],SCRAM-SHA-512=[password=admin]’ --entity-type users --entity-name admin
PS:用户 admin 这里配置admin用户用于实现broker间的通讯。
测试用户 writer
bin/kafka-configs.sh --zookeeper 192.168.x.x:2181 --alter --add-config ‘SCRAM-SHA-256=[iterations=8192,password=writer],SCRAM-SHA-512=[password=writer]’ --entity-type users --entity-name writer
测试用户 reader
bin/kafka-configs.sh --zookeeper 192.168.x.x:2181 --alter --add-config ‘SCRAM-SHA-256=[iterations=8192,password=reader],SCRAM-SHA-512=[password=reader]’ --entity-type users --entity-name reader
查看创建用户信息
bin/kafka-configs.sh --zookeeper 192.168.2.6:2181 --describe --entity-type users (可以单独指定某个用户–entity-name writer)
创建配置文件kafka-broker-jaas.conf
保存至 /opt/kafka/config 下 (每台主机)
KafkaServer {
org.apache.kafka.common.security.scram.ScramLoginModule required
username=“admin”
password=“admin”;
};
配置broker端的server.properties
启用ACL
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
#设置本例中admin为超级用户
super.users=User:admin
启用SCRAM机制,采用SCRAM-SHA-512算法
sasl.enabled.mechanisms=SCRAM-SHA-512
#为broker间通讯开启SCRAM机制,采用SCRAM-SHA-512算法
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512
#broker间通讯使用PLAINTEXT
security.inter.broker.protocol=SASL_PLAINTEXT
#配置listeners使用SASL_PLAINTEXT
listeners=SASL_PLAINTEXT://n6.aa-data.cn:9092(指定当前主机)
#配置advertised.listeners
advertised.listeners=SASL_PLAINTEXT://n6.aa-data.cn:9092(指定当前主机)
配置环境变量,引入jaas
export KAFKA_OPTS=’-Djava.security.auth.login.config=/opt/kafka/config/kafka-broker-jaas.conf’
生产
创建 producer.conf
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username=“writer” password=“writer”;
给writer 提供写权限
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.6:2181 --add --allow-principal User:writer --operation Write --topic testcon
生产消息
bin/kafka-console-producer.sh --broker-list n6.aa-data.cn:9092 --topic testcon --producer.config /opt/kafka/config/producer.conf
消费
创建 consumer.conf
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username=“reader” password=“reader”;
给reader 提供读取权限
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.6:2181 --add --allow-principal User:reader --operation Read --topic testcon
给reader 添加访问consumer group的权限
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=n6.aa-data.cn:2181 --add --allow-principal User:reader --operation Read --group test
消费 testcon消息
bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.6:9092 --topic testcon --from-beginning --consumer.config /opt/kafka/config/consumer.conf
动态添加 生成用户
测试用户 writer1
bin/kafka-configs.sh --zookeeper 192.168.2.6:2181 --alter --add-config ‘SCRAM-SHA-256=[iterations=8192,password=writer],SCRAM-SHA-512=[password=writer1]’ --entity-type users --entity-name writer1
测试用户 reader1
bin/kafka-configs.sh --zookeeper 192.168.2.6:2181 --alter --add-config ‘SCRAM-SHA-256=[iterations=8192,password=reader],SCRAM-SHA-512=[password=reader1]’ --entity-type users --entity-name reader1
赋予权限
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.6:2181 --add --allow-principal User:writer1 --operation Write --topic testcon
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.2.6:2181 --add --allow-principal User:reader1 --operation Read --topic testcon
bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=n6.aa-data.cn:2181 --add --allow-principal User:reader --operation Read --group test1
删除原来的用户
bin/kafka-configs.sh --zookeeper 192.168.2.6:2181 --alter --delete-config ‘SCRAM-SHA-256’ --entity-type users --entity-name writer
bin/kafka-configs.sh --zookeeper 192.168.2.6:2181 --alter --delete-config ‘SCRAM-SHA-512’ --entity-type users --entity-name writer
Ps:用户删除后 需修改 producer.conf consumer.conf
kafka动态权限认证(SASL SCRAM + ACL)相关推荐
- Kafka动态认证SASL/SCRAM配置+整合springboot配置
记录: zookeeper启动命令: [root@master-yzjgxh2571705819-1651919082731-99-0727183 bin]# ./zkServer.sh start ...
- Kafka安装配置(SASL/SCRAM动态认证)
SASL/SCRAM验证方法可以在Kafka服务启动之后,动态的新增用户分并配权限,在业务变动频繁,开发人员多的情况下比SASL/PLAIN方法更加灵活. Zookeeper:3.4.13,kafka ...
- Kafka集群搭建及SASL/SCRAM,ACL权限控制
Kafka集群搭建及SASL/SCRAM,ACL权限控制 环境 部署zookeeper集群及安全认证 部署kafka集群及安全认证 环境 系统版本:Centos7.4 kafka版本:kafka_2. ...
- Kafka SASL/SCRAM+ACL实现动态创建用户及权限控制
文章目录 SASL_SCRAM+ACL实现动态创建用户及权限控制 使用SASL / SCRAM进行身份验证 1. 创建SCRAM Credentials 创建broker建通信用户(或称超级用户) 创 ...
- Kafka动态认证SASL/SCRAM验证
一.目的 配置SASL/PLAIN验证,实现了对Kafka的权限控制.但SASL/PLAIN验证有一个问题:只能在JAAS文件KafkaServer中配置用户,一但Kafka启动,无法动态新增用户.S ...
- kafka windows环境搭建 SASL_PLAINTEXT/SCRAM
kafka windows环境搭建 SASL_PLAINTEXT/SCRAM acl认证记录 一.kafka 下载参考地址 https://kafka.apache.org/downloads 二.环 ...
- 玩转SpringCloud Security OAuth2资源授权动态权限扩展
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/new_com/article/ details/104731154 在Spring Cloud Security 中,认证和授 ...
- Kafka SASL/SCRAM动态认证集群部署
Kafka SASL/SCRAM动态认证集群部署 目的:配置SASL/PLAIN验证,实现了对Kafka的权限控制.但SASL/PLAIN验证有一个问题:只能在JAAS文件KafkaServer中配置 ...
- kafka集群搭建+权限认证(SASL/SCRAM)+整合springboot
本文介绍的的是kafka集群搭建.kafka权限认证(SASL/SCRAM).整合springboot项目. 1.创建kafka日志和zookeeper文件目录: /data/kafka/kafka- ...
最新文章
- 深度学习遇上稀缺数据就无计可施?这里有几个好办法
- centos redis 自动重启脚本
- 宁波网络推广介绍几点容易被优化人员忽略的图片优化技巧!
- 洛谷 - P4717 【模板】快速莫比乌斯/沃尔什变换 (FMT/FWT)
- java arraylist 字符串_Java ArrayList、string、string[]之间的转换
- 功率谱 幅值谱_疲劳损伤谱(FDS)的基本原理
- 幼小衔接语言教案上c册_关于幼小衔接,这里有你最想要的解答
- 【Clickhouse】Clickhouse 访问控制和账号管理
- 什么是IEC 61508?
- 数据分析:使用Imblearn处理不平衡数据(过采样、欠采样)
- SQL SERVER2008查询分析器的使用
- php ziparchive类,PHP Zip ZipArchive 类_编程学问网
- 已删除的QQ好友聊天记录怎么查看
- 自定义MySQL实用的函数和存储过程(持续更新)
- 微信发朋友圈功能测试点小结
- halcon模板匹配快速入门
- MySQL 5.7新特性:并行复制原理(MTS)
- mysql 切分_MySQL切分查询用法分析
- ubuntu显卡的参数说明
- 微信服务号自定义菜单添加扫码功能