在没有身份验证的情况下查找用户
编辑在没有身份验证的情况下查找用户编辑
Elasticsearch 领域 的存在主要是为了支持 用户身份验证。一些领域使用密码对用户进行身份验证(例如 native
和 ldap
领域),而其他领域则使用更复杂的验证协议(例如 saml
和 oidc
领域)。在每种情况下,领域的主要目的都是确定向 Elasticsearch API 发出请求的用户的身份。
但是,一些 Elasticsearch 功能需要在不使用用户凭据的情况下 *查找* 用户。
在每种情况下,用户必须首先向一个领域进行身份验证,然后 Elasticsearch 将查询第二个领域以查找另一个用户。已验证用户的凭据仅用于在第一个领域中进行身份验证,第二个领域中的用户是通过用户名检索的,无需凭据。
当 Elasticsearch 使用用户的凭据解析用户时(如在第一个领域中执行的那样),这称为 *用户身份验证*。
当 Elasticsearch 仅使用用户名解析用户时(如在第二个领域中执行的那样),这称为 *用户查找*。
有关这些功能的更多信息,包括哪些领域和身份验证方法支持 run_as
或委托授权,请参阅 run_as 和 委托授权 文档。在这两种情况下,只有以下领域可用于用户查找
pki
、saml
、oidc
、kerberos
和 jwt
领域不支持用户查找。
如果您只想将某个领域用于用户查找并阻止用户针对该领域进行身份验证,则可以 配置该领域 并将 authentication.enabled
设置为 false
用户查找功能是用于实现 run_as
和委托授权功能的内部功能 - 没有用于用户查找的 API。如果您想测试您的用户查找配置,则可以使用 run_as
进行测试。使用 身份验证 API,以 superuser
(例如内置的 elastic
用户)身份进行身份验证,并指定 es-security-runas-user
请求标头。