我从Kafka开始。
我看到我能够在生成消息时传递标题。
通常会有一个Web客户端(单页应用程序),用户可以通过该客户端通过一些远程oidc idp登录并接收令牌。然后,该令牌通过Authentication: Bearer token-here
标头发送到某个RESTful后端,在该后端中检查令牌的有效性,并处理有效载荷,将其保存到数据库或其他数据库中,然后返回或不返回某些内容。
现在有Apache Kafka。它具有REST代理。我可以将标头传递到REST代理并生成消息,也可以使用它们,但是我对“保护我的RESTful JSON API”部分感兴趣。
当前,没有Kafka,我有一个oidc代理(使用keycloak,即keycloak-gatekeeper)来过滤将请求发送到后端的请求,或者我有一个oidc客户端作为某些中间件功能来进行令牌验证在后端。我认为,无论如何,无效请求都不会像在Kafka中那样被“记录”。
在Kafka / Confluent生态系统中,oidc令牌验证和请求过滤在哪里适合?
假设我们有一个与Confluent REST代理对话的SPA。一些登录用户想要发布消息,而一些未登录用户则不能。
Kafka和/或其工具如何处理这种情况?
答案 0 :(得分:0)
Kafka通常使用SASL和其他授权插件来阻止访问。
证书将在客户端之间分配(这里是REST代理)。与其他任何Web服务器一样,您可能需要 附近的其他代理或插件,以防止进一步访问或审核请求。
HTTPS证书将用于保护到REST代理的流量,但是您似乎在询问更具体的内容。
There is no reference to OpenID in the documentation, only LDAP RBAC, as a commercial offering