当前位置:首页 > 服务端 > kafka 添加用户名 密码权限ASL/PLAIN ACL常用权限操作

kafka 添加用户名 密码权限ASL/PLAIN ACL常用权限操作

2022年10月27日 13:25:26服务端159

一、先配置对用户(SASL/PLAIN)

1,kafka安装目录下的config下的server.properties  复制了 一份在复制上面进行改动  server-sasl.properties  修改文件

# 添加下面的配置  ip和端口改成自己需要
listeners=SASL_PLAINTEXT://localhost:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN

2,config目录添加kafka_server_jaas.conf 文件 此文件是服务端 设置用户名  和密码

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="kafka"
    password="kafkapswd"
    user_kafka="kafkapswd"
    user_write="123456"
    user_read="123456"
    user_read1="read1pswd";
};

其中 Kafka 定义了关键字KafkaServer字段用于指定服务端登录配置。该配置通过org.apache.
org.apache.kafka.common.security.plain.PlainLoginModule由指定采用PLAIN 机制, 定义了两个用户, 用户通
过usemame 和password 指定该代理与集群其他代理初始化连接的用户名和密码, 通过“ user_ "
为前缀后接用户名方式创建连接代理的用户名和密码,例如, user_read = "readpswd” 是指
用户名为read, 密码为readpswd

3,在config目录添加kafka_client_jaas.conf

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

4,在安装目录bin下kafka-server-start.sh文件 。复制出来一份 ,然后进行修改kafka-server-start-saal.sh  添加以下文件

if [ "x$KAFKA_OPTS"  ]; then
    export KAFKA_OPTS="-Djava.security.auth.login.config="安装目录"/config/kafka_server_jaas.conf"
fi

5,bin 下的  kafka-console-producer.sh 和 kafka-console-consumer.sh 文件也是 都各自复制一份 在复制上面进行修改

if [ "x$KAFKA_OPTS"  ]; then
    export KAFKA_OPTS="-Djava.security.auth.login.config="安装目录"/config/kafka_client_jaas.conf"
fi

kafka的 SASL/PLAIN 认证 就添加完成了,配置ACl

6,zookpeer认证,在zookeeper安装根目录的conf目录下,创建zk_server_jaas.conf文件

Server {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka"
password="kafkapswd"
user_admin="123456"
user_read1="readpswd"
user_write="123456"
user_read="123456"
user_zk002="123456"";
};

7,修改zookpeer的启动参数, 修改bin/zookeeper-server-start.sh, 在文件尾加上

export KAFKA_OPTS="-Djava.security.auth.login.config="安装目录"/config/zookeeper_jaas.conf"

8,kafka broker的认证配置config目录下, kafka_server_jaas.conf (第2步)添加

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

9,在server-sasl.properties(第1步)添加

super.users=User:kafka
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
zookeeper.set.acl=true

#listeners,用于server真正bind
#advertised.listeners,用于开发给用户,如果没有设定,直接使用listeners

10,启动server-sasl.properties

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

启动kafka

bin/kafka-server-start-saal.sh config/server-sasl.properties

11,config目录下创建zk_client_jaas.conf



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

12,修改kafka-topics.sh 添加配置

if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config="安装目录"/config/zk_client_jaas.conf"
fi

创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafka

修改bin/kafka-acls.sh 添加以下配置

if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config="安装目录"/config/zk_client_jaas.conf"
fi

13,write read用户赋权

bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:write --operation Write --topic kkk

bin/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:read --operation Read --group test-group --topic kkk

查看所有权限

bin/kafka-acls.sh --list --authorizer-properties zookeeper.connect=localhost:2181

14,kafka client的认证配置
config/下创建kafka_write_jaas.conf

KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="write"
password="123456";
};

15,修改bin/kafka-console-producer.sh 添加以下配置

if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config="安装目录"/config/kafka_write_jaas.conf"
fi

16,config/下创建producer.config

bootstrap.servers=localhost:9092
compression.type=none
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

producer启动测试

bin/kafka-console-producer.sh --broker-list localhoset:9092 --topic kkk --producer.config producer.config

config/下创建kafka_read_jaas.conf

KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="read"
password="123456";
};

修改bin/kafka-console-consumer.sh

if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config="安装目录"/config/kafka_read_jaas.conf"
fi

config/下创建consumer.config

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
group.id=test-group

consumer启动测试

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kkk --from-beginning --consumer.config consumer.config

作者:hanglove_lucky
来源链接:https://blog.csdn.net/hanglove_lucky/article/details/105265137

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/64252.html

标签: Kafka
分享给朋友:

“kafka 添加用户名 密码权限ASL/PLAIN ACL常用权限操作” 的相关文章

Kafka 安装和简单使用

Kafka 安装和简单使用

文章目录 Kafka 安装和简单使用 kafka下载地址 windows 系统...

Linux安装新版Kafka3.0

Linux安装新版Kafka3.0

最近开始玩Kafka了,想着装一下新版本的玩玩,然后网上找Kafka3.0的安装教程,发现安装Kafka3.0的倒是有,但是zookeeper还是单独安装的,这就不满足我的需求了,我就是单纯的想玩玩Kafka,我还得再去另外安装zookeepe...

Kafka 快速入门(安装)

Kafka 快速入门(安装)

kafka学习目录:kafka目录 二、Kafka 快速入门 2.1、windows版安装 2.1.1、Quick Start 本次安装学习在Windows操作系统进行。(Linux版本的差别不大,运行脚本文件后缀从bat...

kafka查看topic列表和topic消息

kafka查看topic列表和topic消息

查询topic 列表信息 前提是需要进入到kafka的目录 Linux 目录 \kafka_2.12-2.8.0\bin\ sh kafka-topics.sh --list --zookeeper localhost:2181 windo...

浅谈Kakfa【一】Kafka基本概述与Partition

浅谈Kakfa【一】Kafka基本概述与Partition

文章目录 一、前言 1.为什么引入MQ? 2.哪些场景需要MQ?...

kafka集群部署(最新版本kafka

kafka集群部署(最新版本kafka

集群环境: 节点名 ip地址 OS版本 部署服务 broker信息 kafka01 192.168.96.10...

Kafka 之 async producer (2) kafka.producer.async.DefaultEventHandler

上次留下来的问题 如果消息是发给很多不同的topic的, async producer如何在按batch发送的同时区分topic的 它是如何用key来做partition的? 是如何实现对消息成批量的压缩的? async pro...

Kafka的数据存储

Kafka的数据存储

目录 一、基本概念 二、存储位置及格式 1、存储位置 2、分区与存储方式的关系 三、操作演示 1、创建一个主题 2、查看数据目录中的效果 3、向此主题写入大批量数据 4、查看segment file (1)查看log文件...

Kafka——简介与架构

Kafka——简介与架构

Kafka——简介与架构 一、简介 1.1 概述 什么是Kafka: 最初由Linkedin公司开发,由scala编写,其诞生是为了解决Linkedin的数据管道问题——由于各种缺陷而导致消息阻塞或者服务...

springboot+kafka详细

springboot+kafka详细

集成kafka 1.引入kafka maven依赖 <!-- kafka包 --> <dependency> <groupId>org.springframewo...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。