【发布时间】:2019-05-04 18:13:29
【问题描述】:
我正在尝试设置 Zookeeper / Kafka Kerberos 身份验证,但我的 keytab 是以一种有趣的方式创建的:
ktpass -princ zookeeper/hostname@TEST -mapuser zookeeper -mapOp add -Target TEST
事实证明我可以做到这一点
kinit zookeeper@TEST
或者这个:
kinit zookeeper@TEST -S zookeeper/hostname@TEST
但我不能这样做:
kinit zookeeper/hostname@TEST
kinit: Client 'zookeeper/hostname@TEST' not found in Kerberos Database while getting initial credentials
所以这个 JAAS 文件可以工作:
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/path/to/server/keytab"
storeKey=true
useTicketCache=false
principal="zookeeper@TEST";
};
但这个不会:
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/path/to/server/keytab"
storeKey=true
useTicketCache=false
principal="zookeeper/hostname@TEST";
};
那么我怎样才能使用 JAAS 文件来完成这项工作呢?我找不到拥有多个主体或指定服务名称(如kinit)的选项?
【问题讨论】:
标签: security apache-kafka apache-zookeeper kerberos sasl