Kafka 白名单是一种安全机制,用于限制哪些客户端可以连接到 Kafka 集群。要设置 Kafka 白名单,请按照以下步骤操作:
-
确定要允许连接的客户端 IP 地址或主机名。例如,您可以将白名单设置为只允许来自特定 IP 地址(如 192.168.1.100)或特定主机名(如 example.com)的连接。
-
编辑 Kafka 配置文件。找到 Kafka 配置文件
server.properties
,通常位于/etc/kafka/
或/usr/local/kafka/
目录下。使用文本编辑器打开该文件,如nano
或vim
。 -
在
server.properties
文件中,找到或添加以下配置行:listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://your_server_ip:9092
其中,
your_server_ip
是您的 Kafka 服务器 IP 地址。如果您希望允许所有 IP 地址连接,可以将advertised.listeners
设置为PLAINTEXT://*:9092
。 -
在
server.properties
文件中,添加或修改以下配置行以设置白名单:security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=PLAIN sasl.enabled.mechanisms=PLAIN
这些配置行启用了 SASL_PLAINTEXT 协议,并允许使用 PLAIN 机制进行客户端和服务器之间的身份验证。
-
创建一个 SASL 用户和密码。在 Kafka 配置目录下创建一个名为
users.properties
的文件(如果尚不存在),并添加以下内容:your_username=your_password
其中,
your_username
和your_password
是您为客户端创建的 SASL 用户名和密码。 -
创建一个 Kafka 客户端配置文件(如
client.properties
),并添加以下内容:security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN sasl.user=your_username sasl.password=your_password bootstrap.servers=your_server_ip:9092
其中,
your_server_ip
是您的 Kafka 服务器 IP 地址,your_username
和your_password
是您在步骤 5 中创建的 SASL 用户名和密码。 -
使用 Kafka 客户端连接到集群。您可以使用命令行工具
kafka-console-producer.sh
或kafka-console-consumer.sh
,或者使用其他支持 SASL 的客户端库(如 Java、Python 等)连接到 Kafka 集群。
注意:在生产环境中,建议使用更安全的加密协议(如 SSL/TLS)和更强大的身份验证机制(如 SCRAM)。此外,确保您的 Kafka 集群和客户端都正确配置了 SSL/TLS 和 SASL 相关参数。