Java连接带kerberos认证的kafka

大老板 1年前 ⋅ 1110 阅读

准备工作

需要的文件有

  1. keytab文件
  2. client_jaas.conf
  3. krb5.conf

代码

除基本的kafka配置外还要增加

props.put("sasl.kerberos.service.name", "kafka");
props.put("security.protocol", "SASL_PLAINTEXT");
props.put("sasl.mechanism", "GSSAPI");;
System.setProperty("java.security.krb5.conf", "krb5.conf文件路径");
System.setProperty("java.security.auth.login.config", "client_jaas.conf文件路径");

附上client_jaas.conf 配置

Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="xxxx/user.keytab"
principal="xxx@xxxx"
useTicketCache=false
storeKey=true
debug=true;
};

KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="xxxx/user.keytab"
principal="xxx@xxxx"
useTicketCache=false
storeKey=true
debug=true;
};

全部评论: 0

    我有话说: