Kafka 基于SASL/SCRAM动态认证部署,kafka加账号密码登录部署

前言

其实挺简单的几个配置文件,问大模型一直没说到点上,绕晕了。SASL/SCRAM 的认证涉及到要先在 zookeeper 上创建好认证信息,最后慢慢捋下来,其实就这么几个配置和命令。

下载 kafka

下载地址:https://kafka.apache.org/downloads
我下载的版本是 3.6.0
https://archive.apache.org/dist/kafka/3.6.0/kafka_2.12-3.6.0.tgz

安装

解压文件,到指定解压的目录下

tar -zxvf kafka_2.12-3.6.0.tgz
cd kafka_2.12-3.6.0

启动zookeeper

kafka 的目录本身是带有 zookeeper 的,我们可以直接使用,不需要再去下载一个 zookeeper

如果本身已经在电脑上装过了把 /tmp 目录下的 kafka-logzookeeper 目录删除

bin/zookeeper-server-start.sh config/zookeeper.properties

添加账号密码

先添加账号密码,否则先启动kafka会一直输出授权错误

./kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[password=你的密码],SCRAM-SHA-512=[password=你的密码]' --entity-type users --entity-name 用户名

启动kafka

修改kafka配置文件

在最后添加这几行配置就可以

listeners=SASL_PLAINTEXT://127.0.0.1:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256
sasl.enabled.mechanisms=SCRAM-SHA-256

增加jaas授权文件

这个文件随便放哪里最后要在启动命令文件里面指定

KafkaServer {
    org.apache.kafka.common.security.scram.ScramLoginModule required
    username="用户名"
    password="你的密码";
};

修改启动文件,启动kafka

vi bin/kafka-server-start.sh
# 放在 exec 命令之前
export KAFKA_OPTS="-Djava.security.auth.login.config=前面的文件路径"
# 保存文件退出

# 执行启动命令
bin/kafka-server-start.sh config/server.properties

检查是否部署成功

cat > sasl_plaintext.cfg <<EOF
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username='用户名' password='你的密码';
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-256
EOF

./kafka-topics.sh  --bootstrap-server 127.0.0.1:9092 --command-config 文件夹目录/sasl_plaintext.cfg --list

正常输出的话就是部署成功了。

offset explore 连接

security 选择好类型
在这里插入图片描述
advanced 配置 mechanismSCRAM-SHA-256
在这里插入图片描述

jaas config 增加配置
在这里插入图片描述

org.apache.kafka.common.security.scram.ScramLoginModule required username='用户名' password='你的密码';
Kafka中可以使用SASL(Simple Authentication and Security Layer)来实现安全认证,保护Kafka集群的安全。SASL提供了一种标准化的方法,用于在通信过程中进行身份验证和安全层的协商。 Kafka支持多种SASL机制,例如PLAIN、SCRAM、GSSAPI等。具体使用哪种SASL机制,取决于Kafka集群的配置和实际需求。在使用SASL认证时,需要在Kafka Broker和Client端都进行相应的配置。 在Broker端,需要配置以下参数: - security.inter.broker.protocol:设置Broker之间通信的安全协议,通常设置为SASL_PLAINTEXT或SASL_SSL。 - sasl.mechanism.inter.broker.protocol:设置Broker之间通信所使用的SASL机制。 - sasl.enabled.mechanisms:设置支持的SASL机制。 - listener.name.sasl_plaintext.sasl.server.callback.handler.class:设置SASL回调处理程序的类,该类用于验证客户端的身份。 - listener.name.sasl_ssl.sasl.server.callback.handler.class:设置SASL回调处理程序的类,该类用于验证客户端的身份。 在Client端,需要配置以下参数: - security.protocol:设置与Broker通信的安全协议,通常设置为SASL_PLAINTEXT或SASL_SSL。 - sasl.mechanism:设置客户端使用的SASL机制。 - sasl.jaas.config:设置用于身份验证的JAAS配置文件路径。 - sasl.client.callback.handler.class:设置SASL回调处理程序的类,该类用于提供客户端的凭据。 以上是一些基本参数的配置,具体的配置内容和方式可以参考Kafka官方文档或相关教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

三书yjy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值