Window下kafka 单机SASL_PLAINTEXT加密及身份认证

本文详细介绍了在Windows环境中,如何配置Kafka以使用SASL_PLAINTEXT加密并进行身份认证。包括设置JAVA_HOME环境变量,部署Kafka项目,配置JAAS文件(kafka_zoo_jaas.conf, kafka_server_jaas.conf, kafka_client_jaas.conf),以及分别对Zookeeper、Broker、Producer和Consumer的SASL配置步骤。通过这些配置,实现了Kafka集群的安全通信。" 50889718,1419840,Emacs学习之路:用XMind构建知识体系,"['Emacs', 'XMind', '编辑器', '学习资源', 'C++开发']
摘要由CSDN通过智能技术生成

一:前情提要

SASL_PLAINTEXT是一种简单的用户名和密码认证机制,是一种kafka加密协议,PLAINTEXT是传输层协议

二:配置准备

1:JAVA_HOME 

有JAVA_HOME的环境变量,且java版为1.8及以上,jdk目录无中文和空格;

2:KAFKA项目部署

下载解压KAFKA项目到一个无中文无空格的目录下。配置非加密下的KAFKA环境,参考Windows环境下kafka搭建

三:JAAS配置

KAFKA使用JAVA认证和授权服务(JAAS)进行SASL配置

1:为zookeeper配置JAAS

在config目录下创建文件kafka_zoo_jaas.conf,文件内容具体如下:

Server {
	org.apache.kafka.common.security.plain.PlainLoginModule required
	username="admin"
	password="admin"
	user_admin="admin";
};

创建了一个Server节点,其中

  • org.apache.kafka.common.security.plain.PlainLoginModule required是加密方式,用plain, 连接时必须身份验证。
  • username,password是zookeeper之间通讯的用户名和密码,
  • user_admin="admin"的结构是user_username="password",用户名是admin, 密码是admin,客户端连接到zookeeper时,使用这个用户名和密码。

2:为broker配置JAAS

在config目录下创建文件kafka_server_jaas.conf,具体内容如下:

Client {
	org.apache.kafka.common.security.plain.PlainLoginModule required
	username="admin"
	password="admin";
};

KafkaServer {
	org.apache.kafka.common.security.plain.PlainLoginModule required
	username="admin"
	password="admin"
	user_admin="admin"
	user_alice="alice";
};
  • Client节点,是broker连接zookeeper时的认证信息
  • KafkaServer节点:集群中,broker之间用节点中的username,password进行通讯
  • KafkaServer节点:客户端(producer,consumer)连接broker时用user_username="password"结构中的账号密码登录

3:为客户端(producer,consumer等)配置JAAS

在config目录下创建文件kafka_

Kafka Connect中,使用SASL_PLAINTEXT认证是一种常见的配置方式,它可以确保连接的安全性。要配置Kafka Connect使用SASL_PLAINTEXT认证,你需要进行以下步骤: 1. 创建一个Kafka Connect的JAAS配置文件,比如kafka_connect_jaas.conf。在该文件中,你可以指定使用的认证模块和相关的认证参数,比如用户名和密码。一个示例的配置可以是: ``` KafkaClient { org.apache.kafka.common.security.plain.PlainLoginModule required username="alice" password="alice-pwd"; }; ``` 2. 在Kafka Connect启动脚本中,设置环境变量KAFKA_OPTS,指定使用的JAAS配置文件。例如,在kafka_connect_start.sh脚本中,你可以添加以下配置: ``` export KAFKA_OPTS="-Djava.security.auth.login.config=/path/to/kafka_connect_jaas.conf" ``` 通过上述配置,你就可以启用SASL_PLAINTEXT认证,并使用指定的用户名和密码进行连接操作了。请注意,在实际使用中,你需要将上述示例中的用户名和密码替换为你自己的认证信息,并指定正确的配置文件路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Kafka使用SASL_PLAINTEXT实现简易的用户认证及权限](https://blog.csdn.net/qq_32907195/article/details/122562105)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值