Kafka部署全攻略——基于SSL的SASL_PLAIN安全认证实现

本文详细介绍了如何在已启用SSL认证的Kafka环境中,配置SASL_PLAIN安全认证。内容涵盖Zookeeper和Kafka的SASL配置,包括jaas.conf和properties文件的修改,以及启动脚本的更新。文章还提供了测试SASL_PLAIN/SSL认证的步骤,确保安全连接的正确建立。
摘要由CSDN通过智能技术生成

目录

 Zookeeper配置SASL

新建zoo_jaas.conf文件

配置zookeeper.properties文件(各节点均需修改)

导入依赖包

独立版zookeeper

Kafka集成版zookeeper

修改启动脚本或环境变量脚本(各节点均需修改)

独立版zookeeper

Kafka集成版zookeeper

Kafka配置SASL_PLAIN

新建kafka_server_jaas.conf文件

配置server.properties文件(各节点均需修改)

修改启动脚本(各节点均需修改)

重启zookeeper及kafka

测试SASL_PLAIN/SSL认证

为主题、生产、消费脚本创建认证配置文件

开始测试


以下以kafka集成zookeeper为例。

本文仅介绍基于以上已开启SSL认证的前提下,追加SASL_PLAIN安全认证的介绍,即SASL_SSL安全认证的实现,其中部分配置与仅开启SASL/PLAIN存在差异。

 Zookeeper配置SASL

新建zoo_jaas.conf文件

  • 进入zookeeper配置目录
cd /opt/tools/kafka_2.13-3.2.1/config
  • 新建zoo_jaas.conf文件
vim zoo_jaas.conf

添加如下内容:

Server {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="rbt@123456"
    user_kafka="kafka@123";
};

  • 说明
    • Server.username、Server.password为 Zookeeper 内部通信的用户名和密码,因此保证每个 zk 节点该属性一致即可
    • Server.user_xxx 中 xxx 为自定义用户名,用于 zkClient 连接所使用的用户名和密码,即为 kafka 创建的用户名
    • 最后一个账号密码配置的末尾,不可缺失“;”分号。即该配置文件中需有两个“;”分号。
  • 复制配置文件到每个节点
scp zoo_jaas.conf root@big2:/opt/tools/kafka_2.13-3.2.1/config

配置zookeeper.properties文件(各节点均需修改)

独立版zookeeper的配置文件为zoo.conf,kafka集成版的配置文件为zookeeper.properties。

  • 添加如下配置项
authProvidential.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
zookeeper.sasl.client=true

导入依赖包

独立版zookeeper

因为使用的权限验证类为:org.apache.kafka.common.security.plain.PlainLoginModule,所以需要导入Kafka相关jar包,kafka-clients相关jar包,在部署kafka服务下的libs目录中可以找到,根据kafka不同版本,相关jar包版本会有所变化。所需要jar包如下,在zookeeper下创建目录zk_sasl_lib将jar包放入(目录名与位置可以随便,后续引用指定即可)

 

  • 拷贝jar文件到zk_sasl_lib目录

 

  • 编辑zookeeper环境变量脚本
vim bin/zkEnv.sh

添加如下内容:

for i in /apps/apache-zookeeper-3.8.1-bin/zk_sasl_lib/*.jar;
do
    CLASSPATH="$i:$CLASSPATH"
done

Kafka集成版zookeeper

原生具备,无需配置。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值