配置 Dashboards 登录以支持多种身份验证选项
您可以配置 OpenSearch Dashboards 的登录窗口,以提供单一或多种用户身份验证选项。目前,Dashboards 支持基本身份验证、OpenID Connect 和 SAML 作为多种选项。
配置多种身份验证选项的一般步骤
在配置多种身份验证选项的登录窗口之前,请考虑以下步骤顺序。
- 决定在登录时提供哪些类型的身份验证。
- 配置每种身份验证类型,包括身份提供商 (IdP) 的身份验证域以及赋予每种类型登录 OpenSearch Dashboards 权限的基本设置。有关 OpenID Connect 后端配置,请参阅OpenID Connect。有关 SAML 后端配置,请参阅SAML。
- 在
opensearch_dashboards.yml
文件中添加、启用和配置多种选项的身份验证设置。
启用多种身份验证选项
默认情况下,Dashboards 提供基本身份验证用于登录。要启用多种身份验证选项,首先需要将 opensearch_security.auth.multiple_auth_enabled
添加到 opensearch_dashboards.yml
文件并将其设置为 true
。
要在登录期间将多种身份验证类型指定为选项,请将 opensearch_security.auth.type
设置添加到 opensearch_dashboards.yml
文件并输入多种类型作为值。当设置中添加了多个身份验证类型时,Dashboards 登录窗口会识别多种类型并进行调整以适应登录选项。
在设置 Dashboards 以提供多种身份验证选项时,基本身份验证始终是设置中所需的一个值。
当只需要一种身份验证类型时,请为设置添加单个值。
opensearch_security.auth.type: "openid"
对于多种身份验证选项,请将值作为以逗号分隔的数组添加到设置中。请注意,Dashboards 目前支持基本身份验证、OpenID Connect 和 SAML 的组合作为有效值集。在设置中,这些值表示为 "basicauth"
、"openid"
和 "saml"
。
opensearch_security.auth.type: ["basicauth","openid"]
opensearch_security.auth.multiple_auth_enabled: true
opensearch_security.auth.type: ["basicauth","saml"]
opensearch_security.auth.multiple_auth_enabled: true
opensearch_security.auth.type: ["basicauth","saml","openid"]
opensearch_security.auth.multiple_auth_enabled: true
当 opensearch_security.auth.type
设置包含 basicauth
和另一种身份验证类型时,登录窗口会显示为以下示例。
当指定所有三种有效身份验证类型时,登录窗口会显示为以下示例。
自定义登录环境
除了每种身份验证类型所需的基本登录设置之外,您还可以在 opensearch_dashboards.yml
文件中配置其他设置,以自定义登录窗口,使其清晰地表示可用的选项。例如,您可以将登录按钮上的标签替换为 IdP 的名称和图标。请参阅以下设置和描述。
基本身份验证设置
这些设置允许您自定义基本用户名和密码登录按钮。
设置 | 描述 |
---|---|
opensearch_security.ui.basicauth.login.brandimage | 登录按钮徽标。支持的文件类型包括 SVG、PNG 和 GIF。 |
opensearch_security.ui.basicauth.login.showbrandimage | 确定是否显示登录按钮的徽标。默认为 true 。 |
OpenID Connect 身份验证设置
这些设置允许您自定义与 OpenID Connect 身份验证关联的登录按钮。有关将 OpenID Connect 用作单一登录选项所需的基本设置,请参阅OpenSearch Dashboards 单点登录。
设置 | 描述 |
---|---|
opensearch_security.ui.openid.login.buttonname | 登录按钮的显示名称。“使用单点登录登录”为默认值。 |
opensearch_security.ui.openid.login.brandimage | 登录按钮徽标。支持的文件类型包括 SVG、PNG 和 GIF。 |
opensearch_security.ui.openid.login.showbrandimage | 确定是否显示登录按钮的徽标。默认为 false 。 |
SAML 身份验证设置
这些设置允许您自定义与 SAML 身份验证关联的登录按钮。有关将 SAML 用作登录选项所需的基本设置,请参阅OpenSearch Dashboards 配置。
设置 | 描述 |
---|---|
opensearch_security.ui.saml.login.buttonname | 登录按钮的显示名称。“使用单点登录登录”为默认值。 |
opensearch_security.ui.saml.login.brandimage | 登录按钮徽标。支持的文件类型包括 SVG、PNG 和 GIF。 |
opensearch_security.ui.saml.login.showbrandimage | 确定是否显示登录按钮的徽标。默认为 false 。 |
示例设置
以下示例显示了当 opensearch_dashboards.yml
文件配置为支持两种登录身份验证类型时的基本设置。
# The several settings directly below are typical of all `opensearch_dashboards.yml` configurations. #
server.host: 0.0.0.0
server.port: 5601
opensearch.hosts: ["https://:9200"]
opensearch.ssl.verificationMode: none
opensearch.username: <preferred username>
opensearch.password: <preferred password>
opensearch.requestHeadersAllowlist: ["securitytenant","Authorization"]
opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"]
opensearch_security.readonly_mode.roles: ["<role_for_read_only>"]
# Settings that enable multiple option authentication in the sign-in window #
opensearch_security.auth.multiple_auth_enabled: true
opensearch_security.auth.type: ["basicauth","openid"]
# Basic authentication customization #
opensearch_security.ui.basicauth.login.brandimage: <path/to/OSlogo.png>
opensearch_security.ui.basicauth.login.showbrandimage: true
# OIDC auth customization and start settings #
opensearch_security.ui.openid.login.buttonname: Log in with <IdP name or other>
opensearch_security.ui.openid.login.brandimage: <path/to/brand-logo.png>
opensearch_security.ui.openid.login.showbrandimage: true
opensearch_security.openid.base_redirect_url: <"OIDC redirect URL">
opensearch_security.openid.verify_hostnames: false
opensearch_security.openid.refresh_tokens: false
opensearch_security.openid.logout_url: <"OIDC logout URL">
opensearch_security.openid.connect_url: <"OIDC connect URL">
opensearch_security.openid.client_id: <Client ID>
opensearch_security.openid.client_secret: <Client secret>