kafka怎么开启GSSAPI的sasl鉴权(非kerberos)
时间: 2024-11-13 19:28:16 浏览: 5
Kafka 使用 SASL (简单身份验证协议) 验证安全连接,其中 GSSAPI (Generic Security Services Application Program Interface) 是一种强大的基于 Kerberos 的机制,但在不需要 Kerberos 的情况下,你可以通过 PLAIN 或者 SCRAM-SHA-256 等其他 SASL 方式开启鉴权。
如果只需要非- 首先,你需要在 ZooKeeper 中启用 SASL。编辑 `zookeeper.properties` 文件,并添加以下行:
```
authProvider.1 = org.apache.zookeeper.server.auth.SASLAuthenticationProvider
sasl.client.config = sasl.conf
```
还需要创建一个 `sasl.conf` 文件,设置 SASL 实现,如 PLAIN:
```
sasl.client.protocol=PLAIN
```
2. **配置 Kafka Brokers**:
- 在 Kafka brokers 的 `server.properties` 文件中,添加以下配置:
```
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
sasl.mechanism.inter.broker/plain=PLAIN
```
请注意,这里指定了 PLAIN 协议 (`SASL_PLAINTEXT`) 和相应的 SASL 谷歌认证 (`sasl.mechanism.inter.broker/plain`)
3. **客户端配置**:
- 如果使用命令行工具 `kafka-console-producer` 或 `kafka-console-consumer`,可以在命令行中指定 `-sasl.plain.username` 和 `-sasl.plain.password` 参数提供用户名和密码。
4. **生产者和消费者的认证**:
- 生产者和消费者在连接到 broker 时也需要提供相同的认证信息。
**相关问题--:**
1. 使用非 Kerberos 的情况下,还有哪些 SASL 非 kerberos 选项可供选择?
2. 如何检查 Kafka 是否成功启用了 SASL 鉴权?
3. 在实际部署中如何处理生产者、消费者和其他服务之间的身份验证同步?
阅读全文