Link Search Menu Expand Document Documentation Menu

认证后端

身份验证后端配置决定了您用于验证用户的方法以及用户传递凭据并登录 OpenSearch 的方式。在开始之前了解基本的身份验证流程有助于您选择任何后端进行配置。请参考以下描述中的高级事件序列,然后查阅配置您选择与 OpenSearch 一起使用的身份验证类型的详细步骤。

身份验证流程

  1. 为了识别想要访问集群的用户,安全插件需要用户的凭据。

    这些凭据根据您配置插件的方式而异。例如,如果您使用基本身份验证,凭据就是用户名和密码。如果您使用 JSON Web Token,凭据(用户名和角色)则存储在令牌本身中。如果您使用 TLS 证书,凭据就是证书的专有名称(DN)。无论您使用哪种后端,这些凭据都会包含在身份验证请求中。请注意,安全插件在处理标准角色映射时,不会区分身份提供者。因此,只有来自两个不同身份提供者的同名用户,其后端角色才会不同。

  2. 安全插件会根据为身份验证提供者配置的后端对请求进行身份验证。与 OpenSearch 一起使用的身份验证提供者的一些示例包括基本身份验证(使用内部用户数据库)、LDAP/Active Directory、JSON Web Token、SAML 或其他身份验证协议。

    该插件支持在 config/opensearch-security/config.yml 中链式连接后端。如果存在多个后端,插件会尝试依次对每个后端进行用户身份验证,直到其中一个成功。一个常见的用例是将安全插件的内部用户数据库与 LDAP/Active Directory 结合使用。

  3. 后端验证用户凭据后,插件会收集所有后端角色。身份验证提供者决定这些角色的检索方式。例如,LDAP 根据后端角色与 OpenSearch 中角色的映射从其目录服务中提取后端角色,而 SAML 则将角色存储为属性。当使用基本身份验证时,内部用户数据库会引用 OpenSearch 中配置的角色映射。

  4. 用户通过身份验证并检索到所有后端角色后,安全插件会使用角色映射为用户分配安全角色。

    如果角色映射不包含用户(或用户的后端角色),则用户虽然成功通过身份验证,但没有任何权限。

  5. 现在,用户可以根据映射的安全角色执行操作。例如,用户可以映射到 kibana_user 角色,从而拥有访问 OpenSearch Dashboards 的权限。

剩余 350 字符

有问题?

想要贡献?