Skip to main content

Kafka 安全模式SASL/PLAIN配置示例

一、SASL_PLAINTEXT

连接到 SASL/PLAIN 模式的 kafka

1. 配置示例

image-20220615175442791

  • Kafka Brokers ,集群模式下,Kafka Brokers 设置为以逗号分割的多个 IP 加端口
  • kerberos相关配置:
    • 配置 kerberos 服务名
    • 提供 JAAS 配置

二、JAAS 配置

JAAS 提供 kerberos 认证相关信息,支持 2 种方式来提供 JAAS 配置

1. JAAS 配置方式(一)

这种方式密码会以明文方式保存到 flow.xml.gz 文件中,存在泄漏的风险

  • 增加动态属性sasl.jaas.config配置登录用户名和密码

    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin_sec";
  • 新增动态属性sasl.mechanism,配置值为PLAIN

2. JAAS 配置方式(二)

这种方式限制了在整个 runtime 集群中只能使用一个用户进行认证

  • 在配置文件 bootstrap.conf 中新增 jvm 参数。

    java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf

    注意:java.arg.16的数字 16 ,需要根据配置文件进行相修改,避免配置被覆盖

  • kafka_client_jaas.conf文件配置内容

    KafkaClient {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin_sec";
    };

三、流程模板

参见:模板文件