我可以使用 keycloak 作为使用 kubernetes 中的 ElasticSearch Operator 安装的 kibana 的 Idp 吗?

我可以使用 keycloak 作为使用 kubernetes 中的 ElasticSearch Operator 安装的 kibana 的 Idp 吗?

我在私有网络中设置了一个 kubernetes 集群,并使用网关机器访问该集群。在 kubernetes 集群中,我安装了 elasticsearch 操作符,并通过它创建了一个 elastic 集群和一个 kibana 实例。在网关机器中,nginx 反向代理提供对 kibana 和 elastic 的访问。

elastic 网站上的官方文档(以及我在网上找到的大量教程)描述了如何使用 keycloak 为 kibana 提供 SSO,但问题是他们使用了 elasticsearch 的 xpack.security 扩展,而该扩展的配置不适用于使用运算符创建的集群(https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-reserved-settings.html)。此外,说明要求在弹性节点之间启用 SSL,到目前为止这还不是必需的,因为我的集群是完全私有的,因此是安全的,并且在网关反向代理中配置了 SSL。

因此,我的问题是是否有办法将 kibana 和 elastic(使用 kubernates 中的 elastic 运算符安装)与 keycloak 集成,最好不必在集群中启用 ssl。

谢谢你!

答案1

是的,您可以将 Keycloak 用作使用 Kubernetes 中的 ElasticSearch Operator 安装的 Kibana 的 IdP。但是,您需要使用 SAML 或 OpenID Connect 协议将 Kibana 配置为使用 Keycloak 作为身份验证提供程序。这可以在不启用集群中的 SSL 的情况下完成,但您可能需要对 NGINX 反向代理配置进行一些调整,以确保 Kibana 和 Keycloak 之间的安全通信。

相关内容