Link Search Menu Expand Document Documentation Menu

HTTP 基本认证

HTTP 基本认证提供了一种简单的质询-响应过程,用于获取对 OpenSearch 及其资源的访问权限,它会提示您使用用户名和密码登录。您可以通过在配置的 http_authenticator 部分中将 type 指定为 basic 来启用 HTTP 基本认证,如下例所示

_meta:
  type: "config"
  config_version: 2

config:
  dynamic:
    authc:
      basic_internal_auth_domain:
        description: "Authenticate using HTTP basic against the internal users database"
        http_enabled: true
        transport_enabled: true
        order: 1
        http_authenticator:
          type: basic
          challenge: true
        authentication_backend:
          type: internal

此外,您可以通过将 authentication_backend 的类型指定为 internal 来将内部用户数据库指定为认证后端。有关此后端的信息,请参阅内部用户数据库

一旦 HTTP 认证器类型指定为 basic 且认证后端类型指定为 internal,则无需在 config.yml 中进行进一步配置,除非您计划将其他认证后端与 HTTP 基本认证一起使用。请继续阅读有关此类设置的注意事项以及 challenge 设置的更多信息。

质询设置

在大多数情况下,对于基本认证,将 challenge 设置为 true 是合适的。此设置定义了当 HTTP 标头中未指定 Authorization 字段时安全插件的行为。默认情况下,此设置为 true

challenge 设置为 true 时,安全插件会向客户端发送状态为 UNAUTHORIZED (401) 的响应。如果客户端使用浏览器访问集群,这将触发认证对话框,并提示用户输入用户名和密码。当 HTTP 基本认证是唯一使用的后端时,这是一种常见的配置。

challenge 设置为 false 且请求中未指定 Authorization 标头时,安全插件不会向客户端发送 WWW-Authenticate 响应,并且认证会失败。此配置通常用于您在配置的认证域中包含多个质询 http_authenticator 设置的情况。例如,当您计划同时使用基本认证和 SAML 时,就可能出现这种情况。有关此配置的示例和更完整的解释,请参阅 SAML 文档中的运行多个认证域

当您定义多个 HTTP 认证器时,请确保首先放置非质询认证器(例如 proxyclientcert),最后放置质询 HTTP 认证器。例如,在一个非质询 HTTP 基本认证后端与一个质询 SAML 后端配对的配置中,您可以在 HTTP 基本 authc 域中指定 order: 0,并在 SAML 域中指定 order: 1

内部用户数据库

使用 HTTP 基本认证时,内部用户数据库存储内部用户,并包含其哈希密码和其他用户属性,例如角色。用户及其设置保存在 internal_users.yml 配置文件中。有关此文件的更多信息,请参阅安全配置文档中的internal_users.yml

剩余 350 字符

有问题?

想贡献?