我运行的是一个分布式Kafka Broker,其中使用SASL/SSL设置了代理间通信。为此,我修改了这里给出的JAAS配置。完成的文件如下所示:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret"
user_alice="alice-secret"
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN;
org.apache.kafka.common.security.scram.ScramLoginModule required;
};
Client {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret";
};
我注意到“KafkaServer”部分有两个管理员用户。我也艰难地了解到我需要两者,但为什么会这样?我有一种感觉,几个月前我已经读过(但忘记了)原因,但我似乎再也找不到了。
根据Apache Kafka文档,KafkaServer
部分用于配置从该代理到其他代理的身份验证,以及为连接到此代理的客户端和其他代理进行身份验证。Client
部分用于连接Zookeeper。
由于您的问题是关于< code>KafkaServer部分,并且您正在配置SASL/普通身份验证机制,请参考Apache Kafka文档的这一部分:
此配置定义了两个用户(admin和alice)。broker使用KafkaServer
部分中的属性用户名
和
>来启动与其他broker的连接。在本例中,admin是代理间通信的用户。属性集
user_userName
定义连接到代理的所有用户的密码,代理使用这些属性验证所有客户端连接,包括来自其他代理的连接。
换句话说,这里配置了两种不同的情况:
用户名
和密码
中定义的用户名和密码。user_userName
条目用于验证这些连接,其中用户名是user_userName
键的用户名部分,密码是值。因此,在您的示例中,此代理将使用用户名admin
和密码admin secret
>连接到其他代理,因为有以下两行:
username="admin"
password="admin-secret"
此外,客户和其他代理可以使用用户名和密码组合< code > admin /< code > admin-secret 或< code > Alice /< code > Alice-secret 连接到该代理,因为这两行:
user_admin="admin-secret"
user_alice="alice-secret"
如果您只接受来自其他代理的连接以在此侦听器上进行代理间通信,则它们可能正在使用配置的user_admin=“管理员机密”
部分,并且user_alice=“alice-secret”
可能是多余的。
有人能帮我编写JAAS conf文件和Handler类以使用SASL/OAUTHBEARER进行身份验证吗? 在kafka文档中配置的JAAS文件中,这个选项的含义是什么?
我已经将我的Kafka jaas配置设置为Spring引导应用程序中的外部bean,以便从application.yaml文件中读取我的配置。 但是,从yaml文件读取jaas密钥表文件时,我遇到了一个错误。 面临错误 这就是我配置jaas的方式 KafkaJaasConfigurationProperty.java 应用yml 配置Bean.java 任何帮助将不胜感激。谢谢!
我试图添加安全性到我的kafka集群,我按照留档: < Li > https://Kafka . Apache . org/documentation/# security _ sasl _ scram < Li > https://docs . confluent . io/current/Kafka/authentic ation _ sasl/authentic ation _ sasl _
我正在尝试为没有ssl的Kafka集群启用SASL用户名和密码。我按照这个Stackoverflow的步骤: Kafka SASL 动物园管理员身份验证 SASL认证似乎对Kafka经纪人有效。消费者和生产者在写入或读取主题之前必须进行身份验证。到目前为止一切顺利。 问题在于在 kafka 上创建和删除主题。例如,当我尝试使用以下命令时: 我能够列出kafka集群中的所有主题,并创建或删除任何无需
我需要一些有关Azure API管理服务的帮助。 目前,我们有一个单页应用程序,它使用Azure上托管的两个后端服务(WebApi.NETCore)。为了对用户进行身份验证和授权,我们使用IdentityServer(也作为服务托管在Azure上)SubscriptionService。在这里,IdSrv对用户进行身份验证,并定义webapp可以访问哪些api。如果用户拥有给定API的权限,Sub
JAAS 的配置 Kafka 使用Java验证和授权API(JAAS)来完成 SASL 配置. Kafka brokers 的 JAAS 的配置 KafkaServer 是每一个 KafkaServer/Broker 的 JASS 文件里面的节点名称。 在这个节点中,提供了用于所有 brokers 之间通信的 SASL 客户端连接的 SASL 配置选项。 Client 节点是用于认证 SASL 与