kafka配置SASL身份认证及ACL授权

SASL身份认证

kafka服务端

config/server.properties配置:

之前使用的是advertised.listeners报错,后改为使用listeners
在这里插入图片描述

listeners=SASL_PLAINTEXT://192.168.1.225:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN

创建/config/kafka_server_jaas.conf记录用户名及密码

KafkaServer {
  org.apache.kafka.common.security.plain.PlainLoginModule required
    username="kafkaAdmin"
    password="admin"
    user_kafkaAdmin="admin"
    user_producer="prod"
    user_consumer="cons";
};

在bin/kafka-server-start.sh中加上kafka_server_jaas.conf配置

在这里插入图片描述

if [ "x$KAFKA_OPTS"  ]; then
    export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka_2.13-2.5.0/config/kafka_server_jaas.conf"
fi

启动zookeeper及kafka

./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
./kafka-server-start -daemon ../config/server.properties

kafka客户端(springboot)

application.yml文件配置修改如下

在这里插入图片描述

ACL授权

kafka服务端server.properties配置开启ACL

在这里插入图片描述

# 开启ACL权限控制
auto.create.topics.enable=false
delete.topic.enable=false
#   设置AclAuthorizer class
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
#   设置admin超级用户,具有所有权限
super.users=User:kafkaAdmin
#   设置为true,ACL机制为黑名单机制,只有黑名单中的用户无法访问
#   默认为false,ACL机制为白名单机制,只有白名单中的用户可以访问
allow.everyone.if.no.acl.found=false

因采用的是白名单,因此给用户添加权限

给consumer用户添加test主题写权限

./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.1.225:2181 --add --allow-principal User:consumer --operation Write --topic test

给producer用户添加test主题读权限(包括分组)

./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=192.168.1.225:2181 --add --allow-principal User:producer --operation Read --topic test --group test-consumer-group
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a_sunny_a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值