为 VPC 中的私有 AWS OpenSearch 集群 运行 的仪表板启用 SAML 身份验证

Enable SAML authentication for Dashboards of private AWS OpenSearch cluster running in VPC

我想使用 Azure Active Directory 作为 OpenSearch 提供的身份提供者和嵌入式 SAML 身份验证方法为 Kibana 配置单点登录。

但是,OpenSearch 集群 运行 在私有子网中,仅 public 不可用。 好像不行,因为cluster的endpoint解析私有ips:

$ dig +short vpc-<cluster-id>.<region>.es.amazonaws.com
10.0.52.81
10.0.52.13
10.0.52.41

在试验时,我注意到 VPC 中的私有集群也有可用的 dns,带有“search-”前缀并解析 public ips:

$ dig +short search-<cluster-id>.<region>.es.amazonaws.com
54.a.b.227
13.c.d.158
13.e.f.17

documentation 并没有明确说明集群位于私有子网中时 SAML 身份验证方法不可用。

有人遇到过这样的挑战吗?

SAML 不需要身份提供者和服务提供者之间的直接通信,这是将它用于 SSO 的一个极好的好处。这意味着即使您的 ElasticSearch/OpenSearch 应用程序托管在私有 VPC 中,您仍然可以使用 SAML,只要您的浏览器可以与您的 ElasticSearch 集群和您的 IdentityProvider 通信。从本质上讲,您的浏览器充当身份提供者和服务提供者之间的中间人。

Okta 在此处对其工作原理进行了很好的描述:https://developer.okta.com/docs/concepts/saml/#planning-for-saml

这样做的结果是,您的身份提供者和服务提供者之间不需要相互连接,因此与 public 相比,在私有子网中使用 SAML 没有特殊考虑.