我已经在过去设置身份验证卡夫卡客户合作。我有我已经refered:
等各个环节为好。
如文档提到,我们需要有JAAS配置文件来指定身份验证方法,我有一个象下面这样:
KafkaClient {
org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required
LoginStringClaim_sub="admin";
};
这基本上增加了卡夫卡客户OAuth认证。
现在的问题是 - 我可以对卡夫卡经纪人启用多种验证方法
我的意思是我可以启用卡夫卡都OAuthBearer朴素的认证,让客户通过这些方法的任何一种进行验证。
OK,我发现我们如何能做到这一点。
多SASL机制,可以在经纪人同时而每个客户都有权选择一个机制来实现。
在JAAS配置文件,我们必须指定为下面的多个登录模块的配置:
KafkaServer {
org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required
LoginStringClaim_sub="admin";
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret"
user_alice="alice-secret";
};
然后,我们必须启用server.properties的SASL机制:
# List of enabled mechanisms, can be more than one
sasl.enabled.mechanisms=OAUTHBEARER,PLAIN
然后指定在server.properties,券商间通信的SASL安全协议和机制
# Configure SASL_SSL if SSL encryption is enabled, otherwise configure SASL_PLAINTEXT
security.inter.broker.protocol=SASL_SSL
# Configure the appropriate inter-broker protocol
sasl.mechanism.inter.broker.protocol=PLAIN