Kafka部署全攻略——基于SASL_SCRAM认证的ACL权限控制

目录

Kafka配置SASL

为生产消费授权

创建生产者用户

创建消费者用户

 为生产者授权

为消费者授权

查看授权信息

测试基于SASL_SCRAM认证的ACL权限控制

修改生产者配置文件

修改消费者配置文件

开始测试


以下以kafka集成zookeeper为例。

本文仅介绍基于以上已开启SASL/SCRAM认证的前提下,追加ACL权限控制的介绍。

本文基于Kafka最新的3系版本展开介绍,已淘汰的命令不再赘述。

Kafka配置SASL

为生产消费授权

创建生产者用户

bin/kafka-configs.sh --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --alter --add-config 'SCRAM-SHA-256=[password=prod@123],SCRAM-SHA-512=[password=prod@123]' --entity-type users --entity-name producer --command-config config/jaas.properties

创建消费者用户

bin/kafka-configs.sh --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --alter --add-config 'SCRAM-SHA-256=[password=cons@123],SCRAM-SHA-512=[password=cons@123]' --entity-type users --entity-name consumer --command-config config/jaas.properties

 为生产者授权

bin/kafka-acls.sh --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --add --allow-principal User:producer --allow-host 10.8.15.35 --allow-host 10.8.15.36 --allow-host 10.8.15.37 --producer --topic '*' --command-config ./config/jaas.properties

注:当--topic使用通配符为所有主题授权时,必须要加上单引号('*')。 

为消费者授权

bin/kafka-acls.sh --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --add --allow-principal User:consumer --allow-host 10.8.15.35 --allow-host 10.8.15.36 --allow-host 10.8.15.37 --consumer --topic '*' --group '*' --command-config ./config/jaas.properties

 注:当--topic或--group使用通配符为所有主题或组授权时,必须要加上单引号('*')。

查看授权信息

bin/kafka-acls.sh --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --list --command-config ./config/jaas.properties

测试基于SASL_SCRAM认证的ACL权限控制

以下内容仅测试验证使用,实际生产环境可不配置。

修改生产者配置文件

  • 增加生产者认证使用配置信息
  • 进入kafka配置目录
cd /opt/tools/kafka_2.13-3.2.1/config
  • 修改producer.properties文件
vim producer.properties

添加如下内容:

security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="producer" password="prod@123";

  •  复制配置文件到每个节点
scp producer.properties root@big3:/opt/tools/kafka_2.13-3.2.1/config

修改消费者配置文件

增加生产者认证使用配置信息

  • 进入kafka配置目录
cd /opt/tools/kafka_2.13-3.2.1/config
  • 修改consumer.properties文件
vim consumer.properties

添加如下内容:

security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="consumer" password="cons@123";

  • 复制配置文件到每个节点
scp consumer.properties root@big3:/opt/tools/kafka_2.13-3.2.1/config

开始测试

  • 进入kafka家目录
cd /opt/tools/kafka_2.13-3.2.1/
  • 查看topic 列表
./bin/kafka-topics.sh --list --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --command-config ./config/jaas.properties

  • 创建topic
./bin/kafka-topics.sh --create --topic sasl-test --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092  --partitions 3 --replication-factor 3 --config retention.ms=259200000 --command-config ./config/jaas.properties

  • 生产
./bin/kafka-console-producer.sh --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --topic sasl-test --producer.config ./config/producer.properties

  • 消费(在集群中其他节点上创建消费)
./bin/kafka-console-consumer.sh --bootstrap-server 10.8.15.35:19092,10.8.15.36:19092,10.8.15.37:19092 --topic sasl-test --consumer.config ./config/consumer.properties

  • 此时在生产端输入内容,到消费端查看内容,消费端可查看到生产端输入的内容,则表示基于kafka scram的acl认证成功实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值