我要做的是只为客户机到代理的通信启用sasl身份验证,而不是为经纪人对经纪人经纪人到Zookeeper有可能吗?如果是的话,我怎样才能做到。我跟随各种链接和官方Kafka博士以及但没有得到明确的想法运气。任何帮助都将不胜感激!
mctunoxg1#
是的,这是可能的。这需要几个步骤,恐怕我怀疑我能否比Kafka官方文档更清楚地配置sasl。我建议你再看一眼,如果有一个部分你不确定,请明确询问。无论如何,我会给你一些关于sasl平原(可能是最容易设置)的指针在经纪人方面,遵循以下文件:创建具有 KafkaServer 章节:
KafkaServer
KafkaServer { org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret" user_admin="admin-secret" user_alice="alice-secret"; };
设置jvm属性 java.security.auth.login.config 所以jaas文件被提取了更新 server.properties 包括sasl设置。例如:
java.security.auth.login.config
server.properties
security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN
我建议开始时不要使用ssl,但要记住,如果最终使用sasl plain,则必须启用ssl,否则包括身份验证在内的所有通信都将是明文的!在客户端,遵循以下文档:更新客户端属性以包括:
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \ username="alice" password="alice-secret"; security.protocol=SASL_SSL sasl.mechanism=PLAIN
显然,在生产环境中,您不应该依赖于代理的jaas文件中的硬编码用户。kafka文档解释了如何提供一个实现来正确地提供用户id。
1条答案
按热度按时间mctunoxg1#
是的,这是可能的。
这需要几个步骤,恐怕我怀疑我能否比Kafka官方文档更清楚地配置sasl。我建议你再看一眼,如果有一个部分你不确定,请明确询问。
无论如何,我会给你一些关于sasl平原(可能是最容易设置)的指针
在经纪人方面,遵循以下文件:
创建具有
KafkaServer
章节:设置jvm属性
java.security.auth.login.config
所以jaas文件被提取了更新
server.properties
包括sasl设置。例如:我建议开始时不要使用ssl,但要记住,如果最终使用sasl plain,则必须启用ssl,否则包括身份验证在内的所有通信都将是明文的!
在客户端,遵循以下文档:
更新客户端属性以包括:
显然,在生产环境中,您不应该依赖于代理的jaas文件中的硬编码用户。kafka文档解释了如何提供一个实现来正确地提供用户id。