为 Schema Registry 定义 Kerberos 主体名称
Define a Kerberos principal name for Schema Registry
我已经为我的 Kafka 代理激活了 SASL。 Schema Registry 需要通过身份验证才能连接到 Kafka。 Here 它说 “如果启用 Kafka 授权,则必须授予 Schema Registry 服务主体对指定资源执行以下操作的能力:” 如何定义一个校长?
There is 一个配置 kafkastore.sasl.kerberos.service.name
但我不确定如何使用它。看起来只需要一个角色什么的,而不是用户名密码对。
SASL 只是一个使用多种语言(包括 kerberos)的身份验证系统。 kafkastore.sasl.kerberos.service.name
只是一个名字……通常是“kafka”。 (并且应该匹配您的 Jaas 配置,如下所述)
Kerberos 使用原则和 Keytabs 进行身份验证。 Kafka 通常使用 JAAS 来管理它的 Kerberos 需求。 Here's a typical jaas kerberos 代理文件:
KafkaServer {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/etc/security/keytabs/kafka.service.keytab"
storeKey=true
useTicketCache=false
serviceName="kafka"
principal="kafka/c6401.ambari.apache.org@EXAMPLE.COM";
};
您将需要 principle
和 keytab
。您的 kerberos 管理员应该创建 principle and produce a keytab
。由于这些超出了这个问题的范围,我将它们留作探索链接。
我已经为我的 Kafka 代理激活了 SASL。 Schema Registry 需要通过身份验证才能连接到 Kafka。 Here 它说 “如果启用 Kafka 授权,则必须授予 Schema Registry 服务主体对指定资源执行以下操作的能力:” 如何定义一个校长?
There is 一个配置 kafkastore.sasl.kerberos.service.name
但我不确定如何使用它。看起来只需要一个角色什么的,而不是用户名密码对。
SASL 只是一个使用多种语言(包括 kerberos)的身份验证系统。 kafkastore.sasl.kerberos.service.name
只是一个名字……通常是“kafka”。 (并且应该匹配您的 Jaas 配置,如下所述)
Kerberos 使用原则和 Keytabs 进行身份验证。 Kafka 通常使用 JAAS 来管理它的 Kerberos 需求。 Here's a typical jaas kerberos 代理文件:
KafkaServer {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/etc/security/keytabs/kafka.service.keytab"
storeKey=true
useTicketCache=false
serviceName="kafka"
principal="kafka/c6401.ambari.apache.org@EXAMPLE.COM";
};
您将需要 principle
和 keytab
。您的 kerberos 管理员应该创建 principle and produce a keytab
。由于这些超出了这个问题的范围,我将它们留作探索链接。