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 相关参数。