Kafka 白名单(Whitelist)是一种安全机制,用于限制哪些客户端可以连接到 Kafka 集群。要使用 Kafka 白名单,请按照以下步骤操作:
确定白名单配置方式:Kafka 支持多种配置白名单的方式,包括使用 Java 配置、XML 配置或者通过命令行参数。根据您的 Kafka 集群版本和使用的客户端库选择合适的配置方式。
创建白名单:创建一个包含允许连接的客户端标识符(例如 IP 地址或主机名)的白名单列表。确保只将受信任的客户端添加到白名单中。
配置白名单:根据您选择的配置方式,将白名单列表应用到 Kafka 集群。以下是一些常见的配置方法:
Java 配置:在 Kafka 服务器的 server.properties
文件中,添加或修改以下配置项:
security.inter.broker.protocol=PLAINTEXT
allow.everyone.if.no.acl.found=true
然后,在 jars/kafka_2.13-0.12.0.jar
文件中找到 kafka.server.KafkaConfig
类,修改 whitelist.clients
配置项,将允许连接的客户端标识符添加到列表中。例如:
private val whitelistClients = mutableSetOf<String>()
// ...
configProps.put(ConfigResource.WHITE_LIST_CLIENTS_CONFIG, whitelistClients.mkString(","))
XML 配置:在 Kafka 服务器的 server.xml
文件中,添加或修改以下配置项:
<property>
<name>security.inter.broker.protocol</name>
<value>PLAINTEXT</value>
</property>
<property>
<name>allow.everyone.if.no.acl.found</name>
<value>true</value>
</property>
然后,在 config/server.properties
文件中,找到 <property>
标签,修改 whitelist.clients
配置项,将允许连接的客户端标识符添加到列表中。例如:
<property>
<name>whitelist.clients</name>
<value>192.168.1.1,192.168.1.2</value>
</property>
命令行参数:在启动 Kafka 服务器时,使用 --whitelist.clients
参数指定白名单列表。例如:
bin/kafka-server-start.sh config/server.properties --whitelist.clients=192.168.1.1,192.168.1.2
重启 Kafka 服务器:应用更改后,重启 Kafka 服务器以使新配置生效。
测试连接:使用客户端库尝试连接到 Kafka 集群,确保只有白名单中的客户端能够成功连接。
请注意,这些步骤可能因 Kafka 版本和客户端库而有所不同。请根据您的实际情况进行调整。