如何将 Kafka 与 OpenID-Connect 一起使用?
How does one use Kafka with OpenID-Connect?
我开始使用 Kafka。
我看到我在生成消息时可以通过 headers。
传统上会有一个 Web 客户端(单页应用程序),用户可以在其中通过某个远程 oidc idp 登录并接收令牌。然后该令牌通过 Authentication: Bearer token-here
header 发送到某些 RESTful 后端,在那里检查令牌的有效性并处理有效负载,保存到数据库或其他内容,并返回或不返回某些内容。
现在有 Apache Kafka。它有一个 REST 代理。我可以将 headers 传递给 REST 代理并生成消息或使用它们,但我对 "secure my RESTful JSON API" 部分感兴趣。
目前,在没有 Kafka 的情况下,我有一个 oidc 代理(使用 keycloak,即 keycloak-gatekeeper)来过滤哪个请求到达后端,或者我有一个 oidc 客户端来进行令牌验证作为后端内部的一些中间件功能。在任何情况下,无效请求都不会像在 Kafka 中那样得到 "logged",我假设。
oidc 令牌验证和请求过滤在 Kafka/Confluent 生态系统中的什么位置?
假设我们有一个与 Confluent REST 代理对话的 SPA。一些登录用户想要 post 消息,而一些 non-logged 用户不应该。
Kafka and/or 它的工具如何处理这种情况?
Kafka 通常使用 SASL 和其他授权插件来阻止访问。
证书将在客户端之间分发(此处为 REST 代理)。与任何其他 Web 服务器一样,您需要围绕 that 的其他代理或插件来防止进一步访问或审核请求。
HTTPS 证书将用于保护到 REST 代理的流量,但您似乎在询问更具体的问题。
There is no reference to OpenID in the documentation, only LDAP RBAC, as a commercial offering
我开始使用 Kafka。
我看到我在生成消息时可以通过 headers。
传统上会有一个 Web 客户端(单页应用程序),用户可以在其中通过某个远程 oidc idp 登录并接收令牌。然后该令牌通过 Authentication: Bearer token-here
header 发送到某些 RESTful 后端,在那里检查令牌的有效性并处理有效负载,保存到数据库或其他内容,并返回或不返回某些内容。
现在有 Apache Kafka。它有一个 REST 代理。我可以将 headers 传递给 REST 代理并生成消息或使用它们,但我对 "secure my RESTful JSON API" 部分感兴趣。
目前,在没有 Kafka 的情况下,我有一个 oidc 代理(使用 keycloak,即 keycloak-gatekeeper)来过滤哪个请求到达后端,或者我有一个 oidc 客户端来进行令牌验证作为后端内部的一些中间件功能。在任何情况下,无效请求都不会像在 Kafka 中那样得到 "logged",我假设。
oidc 令牌验证和请求过滤在 Kafka/Confluent 生态系统中的什么位置?
假设我们有一个与 Confluent REST 代理对话的 SPA。一些登录用户想要 post 消息,而一些 non-logged 用户不应该。
Kafka and/or 它的工具如何处理这种情况?
Kafka 通常使用 SASL 和其他授权插件来阻止访问。
证书将在客户端之间分发(此处为 REST 代理)。与任何其他 Web 服务器一样,您需要围绕 that 的其他代理或插件来防止进一步访问或审核请求。
HTTPS 证书将用于保护到 REST 代理的流量,但您似乎在询问更具体的问题。
There is no reference to OpenID in the documentation, only LDAP RBAC, as a commercial offering