kafka 3.9.0 账号密码
时间: 2025-05-30 17:15:48 浏览: 25
### Kafka 3.9.0 版本中的账号密码设置与管理
在Kafka 3.9.0版本中,为了实现基于用户名和密码的身份验证,通常采用SASL机制。具体来说,可以使用`SCRAM-SHA-512`或`SCRAM-SHA-256`作为安全协议来增强安全性[^1]。
#### 配置服务器端支持SASL/SCRAM身份验证
要在Kafka Broker上启用此功能,在`server.properties`文件内需指定如下参数:
```properties
listeners=SASL_SSL://:9092
sasl.enabled.mechanisms=SCRAM-SHA-512,SCRAM-SHA-256
security.inter.broker.protocol=SASL_SSL
listener.name.sasl_ssl.scram-sha-512.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required;
listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required;
```
这些配置项定义了监听器类型以及允许使用的加密算法,并指定了内部代理间通信的安全层协议为SASL_SSL。
#### 创建用户凭证并分配权限
对于每一个需要访问集群的应用程序或者服务账户而言,都需要创建相应的凭据并通过命令行工具将其加入到Zookeeper存储库当中去。这里以创建名为`alice`用户的示例说明如何操作:
```bash
kafka-configs.sh \
--bootstrap-server localhost:9092 \
--alter \
--add-config 'SCRAM-SHA-512=[password={your_password}],SCRAM-SHA-256=[password={your_password}]' \
--entity-type users \
--entity-name alice
```
上述指令会向系统添加两个不同哈希强度下的散列值形式保存下来的密钥对儿;同时也可以通过修改`{your_password}`占位符来自定义实际想要设定的口令字符串[^2]。
#### 客户端连接时提供认证信息
当应用程序尝试连接至启用了SASL/SSL保护模式下的Broker节点时,则必须随请求一同提交有效的登录名及其对应的秘密令牌。这可以通过调整客户端属性文件(`application.yml`)内的相应字段完成:
```yaml
spring:
kafka:
bootstrap-servers: localhost:9092
security:
protocol: SASL_SSL
sasl:
mechanism: SCRAM-SHA-512
jaas:
enabled: true
config: org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="{your_password}";
```
这段YAML片段展示了怎样利用Spring Boot框架内置的支持特性简化对外部消息队列中间件实例发起调用过程中的鉴权流程处理逻辑。
阅读全文
相关推荐












