我有一个使用Kafka Streams API的应用程序。我在当地工作时没有问题。我想连接到远程Kafka代理进行阶段测试。远程Kafka代理设置为使用GSSAPI sasl机制并使用Kerberos。我运行用java编写的Streams应用程序时出错。在我查找错误消息后,我找到了答案,但仍然有问题。
错误消息;获取相关id为3的元数据时出错:{[APPID]-KTABLE-AGGREGATE-STATE-STORE-000000000 8-repartition=UNKNOWN_TOPIC_OR_PARTITION
我找到的答案说;
当使用授权器且用户没有主题的描述授权时,代理将不再向请求返回topic_authorization_FAILED错误,因为这会泄漏主题名称。相反,将返回UNKNOWN_TOPIC_OR_PARTITION错误代码。在使用生产者和消费者时,这可能会导致意外的超时或延迟,因为Kafka客户端通常会在未知主题错误时自动重试。如果您怀疑可能发生这种情况,应查阅客户端日志。
所以我实际的问题是如何授权使用GSAPI sasl机制的远程主题?
有点晚了,但这是答案。有两种方法可以将Kerberized Kafka集群与流应用程序连接起来。
详细资料
> 缓存凭据
:使用缓存凭据创建 jaas.conf 文件。若要使用缓存的 Kerberos 凭据(首先使用 kinit),请使用此配置。它只适用于手动运行。
< code > KafkaClient { com . sun . security . auth . module . krb 5 log in module必需的useTicketCache = true};
通过使用键选项卡:创建一个包含键选项卡和主体信息的jaas.conf文件。它适合自动运行。
< code > KafkaClient { com . sun . security . auth . module . krb 5 log in module必需的useKeyTab = true keyTab = "/etc/security/key tabs/mykafclient . keyTab " principal = " mykafclient/clients . hostname . com @ EXAMPLE。COM”;};
使用定义环境变量
导出KAFKA_OPTS="-Djava.security.auth.login.config=/home/user/jaas.conf"
不要忘记控制访问名为KRB5.conf(在unix中)或KRB5.ini(在Windows中)的文件
krb5型
当然,有一些参数必须正确定义。如果要使用 Kafka CLI 访问 kafka 主题,请创建一个包含以下内容的 client.properties 文件
<code>security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
sasl.mechanism=GSSAPI
</code>
使用Kafka流应用程序,您将在属性中提供这些参数。
我的keytab由以下命令生成: SPN信息 看起来我的keytab没问题。
我需要在我们的Web应用程序中使用LDAP/AD服务器实现SSO身份验证和验证用户。Web应用程序是使用Spring(Java)/Hibernate制作的,应用程序服务器是UAT中的Jboss和生产中的Webphere。 我正在寻找一些好的简单的解决方案,可以帮助我实现它,从几个朋友那里听说华夫饼是一个很好的解决方案,但是在网上搜索并尝试了几天之后,我不确定我是否朝着正确的方向前进。我在这方面很幼
问题内容: 我有一个旧版应用程序,该应用程序通过网络异步接收用户名/密码请求。由于我已经将用户名和密码存储为变量,因此在Linux(Debian 6)上通过PAM进行身份验证的最佳方法是什么? 我尝试编写自己的对话功能,但不确定将密码输入其中的最佳方法。我已经考虑过将其存储在appdata中,并从pam_conv结构中引用它,但是几乎没有关于该操作的文档。 有没有一种简单的方法来对用户进行身份验证
我正在尝试使用Facebook凭据实现网站登录。当我在Facebook小部件上按“取消”或“确定”时,我会看到不同的反应。当我按Cancel时,我看到以下内容 这是可预测的。但是当我按OK时,我看到另一个错误。 我在本地运行的网站Ubuntu 14.04 apache Web服务器与80端口。我怀疑错误的Facebook应用程序设置,但不知道调试什么。 此外,我可以提到推特登录也在相同的设置下工作
我有一个Keycloak Cordova本地应用程序,一旦启动,就会正确显示Keycloak的用户名/密码表单,但在成功验证后,当试图重定向到该应用程序时,会显示err_connection_rejection。重定向当前设置为“http://localhost”。 我使用了这个例子https://github.com/keycloak/keycloak/tree/master/examples/
问题内容: 我正在使用以下过滤器在我的Web应用程序中启用NTLM身份验证。 我得到Windows浏览器身份验证提示。运行正常。除了以下事实外- 我无法确定身份验证是成功还是失败! * 两种情况均无错误。 *在每种情况下都将打印用户名(正确或相反),工作站等。 web.xml很简单: 问题答案: 您收到的是Type 3消息,但是除了打印出详细信息之外,您什么都没做。此时,您需要验证客户的响应,并发