kafka的身份认证方法一(SASL/PLAIN)中,说明了如何给kafka添加简单身份认证,但是用户名密码是在启动zookeeper和kafka的时候 通过静态文件,就注册到内存中,因此无法动态添加用户名密码。

正如Apache Kafka security_sasl_scram所说的,The default SCRAM implementation in Kafka stores SCRAM credentials in Zookeeper。SCRAM资格证明是存储在zookeeper中,而非文件中,

这为动态添加身份认证的凭据:用户名密码,提供了可能。

 

image

 

目的:

producer/consumer到broker端连接,通过简单的用户名密码作身份认证,这些用户名密码可以动态的添加、删除。

 

步骤:

0)利用kafka提供的接口kafka-config.sh把client端连broker端的用户名密码都添加到 zookeeper中备用,包含普通用户和admin用户

1)--6)类似与SASL/PLAIN的配置,配置broker端和producer/consumer端,并且使得properties的值通过vm argument的方式,传给kafka和zookeeper。

7)动态删除这些用户。

8)使用kafka提供的接口,对已有用户做权限控制。

image

参考:

Kafka认证权限配置(动态添加用户) - huxihx - 博客园 (cnblogs.com)

Apache Kafka security_sasl_scram

posted on 2021-10-25 22:19  维也纳下午茶  阅读(1625)  评论(0编辑  收藏  举报