![我可以使用 keycloak 作为使用 kubernetes 中的 ElasticSearch Operator 安装的 kibana 的 Idp 吗?](https://linux22.com/image/784232/%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20keycloak%20%E4%BD%9C%E4%B8%BA%E4%BD%BF%E7%94%A8%20kubernetes%20%E4%B8%AD%E7%9A%84%20ElasticSearch%20Operator%20%E5%AE%89%E8%A3%85%E7%9A%84%20kibana%20%E7%9A%84%20Idp%20%E5%90%97%EF%BC%9F.png)
我在私有网络中设置了一个 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 之间的安全通信。