目录
以下以kafka集成zookeeper为例。
本文仅介绍基于以上已开启SASL_PLAIN/SSL认证的前提下,追加ACL权限控制的介绍。
Kafka配置SASL
修改kafka_server_jaas.conf文件
- 进入kafka配置目录
cd /opt/tools/kafka_2.13-3.2.1/config
- 修改kafka_server_jaas.conf文件
vim kafka_server_jaas.conf
为生产者和消费者增加专用用户,如下:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="rbt"
password="rbt@123456"
user_rbt="rbt@123456"
user_producer="prod@123"
user_consumer="cons@123";
};
Client {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka"
password="kafka@123";
};
- 说明
- KafkaServer.username、KafkaServer.password 为 broker 内部通信的用户名密码,同上
- KafkaServer.user_xxx 其中 xxx 必须和 KafkaServer.username 配置的用户名一致,密码也一致,用以表明该用户的存在。为其他通信或作用所使用的用户,不需在配置KafkaServer.username,仅配置KafkaServer.user_xxx即可。
- Client.username、Client.password 填写 Zookeeper 中注册的账号密码,用于 broker 与 zk 的通信(若 zk 没有配置 SASL 可以忽略、若 zookeeper.sasl.client 为 false 也可以忽略只是带有警告日志)
- KafkaServer中,使用user_来定义多个用户,供客户端程序(生产者、消费者程序)认 证 使用,可以定义多个,后续配置可能还可以根据不同的用户定义ACL,username=“rbt”和password=“rbt@123456” 这两个是kafka集群内部认证时用到的。
- Client中,主要是broker链接到zookeeper,需要和之前配置的zk_server_jaas.conf里的 user_kafka=“kafka@123”;对应,如果zk文件中配置了多个,填写其中一个即可。
- 复制配置文件到每个节点
scp kafka_server_jaas.conf root@big2:/opt/tools/kafka_2.13-3.2.1/config