适用于kafka_2.11-1.1.1版本

第1步

将kafka_client_jaas.conf/kafka_server_jaas.conf/kafka_zoo_jaas.conf三个文件放入kafka的config文件夹中,文件中配置用户,admin用户必须配置。

  • kafka_client_jaas.conf内容如下
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required  username="admin"  password="admin";
};
  • kafka_server_jaas.conf内容如下
KafkaServer {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin"user_admin="admin"user_test="test#2018";
};
KafkaClient {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin";
};Client {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin";
};
  • kafka_zoo_jaas.conf内容如下
ZKServer{org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin"user_admin="admin";
};

第2步

修改kafka的bin文件夹中的zookeeper-server-start.sh,
添加:
export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_zoo_jaas.conf -Dzookeeper.sasl.serverconfig=ZKServer"

第3步

修改kafka的bin文件夹中的kafka-server-start.sh,
添加:
export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_server_jaas.conf"

第4步

修改kafka的bin文件夹中的kafka-console-producer.sh
添加:
export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_client_jaas.conf"

第5步

修改kafka的bin文件夹中的kafka-console-consumer.sh
添加:
export KAFKA_OPTS=" -Djava.security.auth.login.config=/data/application/kafka_2.11-1.1.1/config/kafka_client_jaas.conf"

第6步

修改kafka的config文件夹中的consumer.properties
添加:

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

第7步

修改kafka的config文件夹中的producer.properties
添加:

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

第8步

修改kafka的config文件夹中的zookeeper.properties
添加:

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000

第9步

修改kafka的config文件夹中的server.properties
修改:
listeners=SASL_PLAINTEXT://192.168.1.115:9092
添加:

#使用的认证协议
security.inter.broker.protocol=SASL_PLAINTEXT
#SASL机制
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
#完成身份验证的类
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
#如果没有找到ACL(访问控制列表)配置,则允许任何操作。
#allow.everyone.if.no.acl.found=true
super.users=User:admindelete.topic.enable=true
auto.create.topics.enable=false

第10步

启动zookeeper服务
执行
sh bin/zookeeper-server-start.sh config/zookeeper.properties

第11步

启动kafka服务
执行
sh bin/kafka-server-start.sh config/server.properties

第12步

查看topic列表
执行
sh bin/kafka-topics.sh --list --zookeeper localhost:2181

第13步

创建新的topic
执行
sh bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 16 --topic test

第14步

给admin用户授权
执行
sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:admin --group=* --topic=*

第15步

给用户test授予某个topic的读写的权限
执行
sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:test --operationRead --operationWrite --topic test --group=*
说明:
控制读写:–operationRead–operationWrite
控制消费组:不控制组 --group=*,指定消费组 --grouptest-comsumer-group

第16步

移除权限
执行
sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --remove --allow-principal User:test --allow-host 192.168.1.101 --operationRead --operationWrite --topic test

第17步

列出topic为test的所有权限账户
执行
sh bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --list --topic test

第18步

测试启动消费者
执行
sh bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.115:9092 --topic test --from-beginning --consumer.config config/consumer.properties

第19步

测试启动生产者
执行
sh bin/kafka-console-producer.sh --broker-list 192.168.1.115:9092 --topic test --producer.config config/producer.properties

第20步

启用kafka-manager,需要使用最新版本1.3.3.21,

链接:https://pan.baidu.com/s/1H6rMOdKrEJ59pivgCkSdjg
提取码:vreq

第21步

将my-jaas.conf移到kafa-manager的conf文件夹中
my-jaas.conf内容如下:

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

第22步

修改kafa-manager的conf文件夹中的consumer.properties,

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

第23步

修改kafa-manager的conf文件夹中的application.conf
kafka-manager.consumer.properties.file=(上面修改的consumer.properties)

第24步

启动kafka-manager
bin/kafka-manager -Djava.security.auth.login.config=conf/my-jaas.conf -Dconfig.file=conf/application.conf

kafka配置SASL相关推荐

  1. 安装 kafka 配置 sasl 认证

    一.安装kafka 1.安装jdk yum serach jdk   # 查找jdk yum install java-latest-openjdk.x86_64  # 选择jdk安装,这里选择最新的 ...

  2. go kafka 配置SASL认证及实现SASL PLAIN认证功能

    用户认证功能,是一个成熟组件不可或缺的功能.在0.9版本以前kafka是没有用户认证模块的(或者说只有SSL),好在kafka0.9版本以后逐渐发布了多种用户认证功能,弥补了这一缺陷(这里仅介绍SAS ...

  3. Kafka配置SASL/PLAIN认证

    1.安装zk,kafka 2.配置server.properties security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inte ...

  4. Kafka—配置SASL/PLAIN认证客户端及常用操作命令

    介绍   SASL/PLAIN 是一种简单的 username/password安全认证机制,本文主要总结服务端开启该认证后,命令行客户端进行配置的操作流程. 配置 增加jaas.properties ...

  5. kafka sasl java_Kafka 集群配置SASL+ACL

    ** Kafka 集群配置SASL+ACL 测试环境:** 系统: CentOS 6.5 x86_64 JDK : java version 1.8.0_121 kafka: kafka_2.11-1 ...

  6. KafKa 开启 SASL 验证

    项目需要使用kafka的 sasl 权限认证,记录一下kafka的配置. 参考自 Kafka 中文文档 注:本文kafka版本是2.1.2,安装目录是 /user/local/kafka2.1.1 . ...

  7. Kafka配置SASL_SSL认证传输加密

    Kafka配置SASL_SSL认证传输加密 一.SSL证书配置 1.生成证书 如我输入命令如下:依次是 密码-重输密码-名与姓-组织单位-组织名-城市-省份-国家两位代码-密码-重输密码,后面告警不用 ...

  8. zookeeper和kafka的SASL认证以及生产实践

    一.什么是zookeeper? ZooKeeper是一个集中的服务,用于维护配置信息.命名.提供分布式同步以及提供组服务.所有这些类型的服务都以某种形式被分布式应用程序使用.每次它们被实现时,都有大量 ...

  9. Kafka 开启 SASL/PLAINTEXT 认证及 ACL

    Linux 安装 Kafka 并开启 SASL/PLAINTEXT 认证 前言 一.环境准备 1.组件版本 2.下载文件 3.上传文件 二.安装 Zookeeper(单节点) 三.安装 Kafka(单 ...

最新文章

  1. guava api_使用Google Guava的订购API
  2. qtreewidget 获取根节点_详解去中心化信任根dRoT技术
  3. 一个LinkedList的简单体现(用户缓存手机通话记录)
  4. tensorflow.python.framework.tensor_shape.is_fully_defined()
  5. 阿里云最新虚拟化研发岗招聘
  6. Leetcode: One Edit Distance
  7. delphi连接access数据库的步骤(详细教程)
  8. 【静夜思】一些抽象代数的核心思想和实际应用
  9. STM32F4——FLASH闪存编程原理
  10. 蓝桥杯练习------python字符串逆序
  11. 虚拟现实(VR)技术的升级应用|时空克隆 三维视频融合 投影融合 点卯 魔镜系列
  12. html中鼠标点击图片变动,JS实现页面鼠标点击出现图片特效
  13. python 合成gif与拆分gif为png图片
  14. 微信开发解决方案:(一)概述
  15. 计算机系给未来的自己写信,给未来的自己写信
  16. 编写c++程序过程中出现的错误 annonymous type with no linkage used to declare variable
  17. Xposed插件开发手册(1): Xposed框架的安装
  18. 2020最全微服务:SpringBoot+Cloud+Docker
  19. visdom API 方便使用查阅
  20. [yzhpdh多读paper]Mass-scale emotionality reveals human behaviour and marketlace success

热门文章

  1. matlab处理各种数据、文件
  2. Hibernate 查询Criterion数据
  3. springboot毕设项目东莞汉庭酒店的酒店管理系统的设计与实现4ccnv(java+VUE+Mybatis+Maven+Mysql)
  4. vue实现文字翻转效果
  5. 如何通过付费咨询,薅知乎的羊毛?
  6. win10自带的框选截图快捷键
  7. 近期爬虫学习体会以及爬豆瓣Top250源码实战
  8. linux和手机通讯,在Linux的系统下使用红外进行手机通讯
  9. 计算机必须设置默认打印机,电脑系统怎么默认打印机 默认打印机的设置教程...
  10. Peekaboo—站立式会议+alpha冲刺:Day2冲刺随笔