【发布时间】:2021-10-13 19:55:57
【问题描述】:
我们正在开展一个项目,我们正在使用 Azure Active Directory 对用户进行身份验证。身份验证成功后,用户的浏览器会收到一个 Id 和访问令牌,然后我们使用相同的访问令牌来查询其他 Microsoft 产品(Sharepoint、OneDrive 等)。
我们计划使用 Elastic Search 来满足我们的搜索需求。我们已经在我们的 ECE 部署门户和集群上设置了 SAML/OpenId 领域。因此,如果任何用户尝试访问 ECE 部署门户/Kibana,系统将提示他们针对 Microsoft Azure AD 进行身份验证,并且在成功身份验证后,他们会被重定向到 ECE 或 Kibana。
我们正在使用 C# 和 NEST dll (ElasticSearch.Net) 创建查询并搜索弹性搜索端点。我们不确定我们应该如何使用在 UI 端接收到的访问令牌和 Elastic Search 来查询索引。我们知道,我们可以使用本机用户凭据或 API 密钥来访问弹性搜索,但我们希望使用相同的 azure 广告身份验证流程 (SAML/OpenID) 来访问弹性搜索。
是否可以使用在 UI 端收到的 Azure AD 访问令牌来访问和查询弹性搜索集群,或者是否有任何其他方式在用户尝试访问弹性搜索集群时重新验证用户身份? 有没有办法通过弹性搜索端点对用户进行身份验证并生成可用于进一步查询弹性搜索的访问令牌?
简而言之,我们想在查询数据时使用 Elastic Search 重新对用户进行身份验证?
var settings = new ConnectionSettings(new Uri(mEsQuerySource.Url));
settings.BasicAuthentication("user", "plain text password");
mClient = new ElasticClient(settings);
【问题讨论】:
-
搞定了。有关 Elastic 讨论门户的更多信息。 discuss.elastic.co/t/…
标签: elasticsearch azure-active-directory nest