You need to enable JavaScript to run this app.
文档中心
云搜索服务

云搜索服务

复制全文
下载 pdf
实例访问
配置 SAML 身份验证实现单点登录
复制全文
下载 pdf
配置 SAML 身份验证实现单点登录
通过 SAML 身份验证,您可以将 Elasticsearch 和 OpenSearch 实例接入企业身份认证体系,实现用户通过单点登录访问。本文介绍如何配置 SAML 身份验证实现单点登录。
背景信息
单点登录(Single Sign-On,SSO)是一种统一身份认证机制,允许用户通过一次身份验证即可访问多个相互信任的应用系统,无需重复登录。SAML(Security Assertion Markup Language)2.0 是一种基于 XML 的开放标准,广泛应用于企业级单点登录场景,通过身份提供商(Identity Provider,IdP)与服务提供商(Service Provider,SP)之间交换身份认证信息,实现用户身份的安全认证和授权。
在 Elasticsearch 和 OpenSearch 实例中启用 SAML 身份验证后,Elasticsearch 和 OpenSearch 实例作为服务提供商(SP),将用户身份认证委托给身份提供商(IdP)。用户完成身份认证后,IdP 会向 Elasticsearch 和 OpenSearch 实例返回包含用户身份和角色信息的 SAML 断言(Assertion),Elasticsearch 和 OpenSearch 实例根据断言完成用户登录和权限控制,从而实现基于 SAML 2.0 的单点登录。
前提条件
已创建 Elasticsearch 或 OpenSearch 实例。具体操作,请参见创建实例
注意事项
  • 仅 OpenSearch 2.9、3.3 和 Elasticsearch 7 实例支持 SAML 身份验证。
  • 开启、编辑或关闭 SAML 身份验证将使实例重启,建议在业务低峰期操作。
开启 SAML 身份验证
  1. 在顶部导航栏,选择目标项目和地域。
  1. 实例列表页面,单击目标实例名称。
  1. 在左侧导航栏选择基本信息,然后在访问认证区域的 SAML 身份验证右侧单击开启免密登录
  1. 在启用 SAML 身份验证面板,配置以下参数,然后单击确定
  • 参数
    说明
    访问方式
    选择公网访问私网访问
    说明
    公网访问仅当 Kibana/Dashboards 开启公网访问访问时可见。具体操作,请参见配置 Kibana/Dashboards 公网访问
    sp.entity_id
    SP 的唯一标识。
    sp.acs
    SP 接收 SAML 响应的回调地址。
    idp.entity_id
    IdP 的唯一标识,需与 idp.metadata 中的 idp.entity_id 一致。
    idp.metadata
    IdP 的 SAML 2.0 元数据,XML 格式。
    idp.roles_key(可选)
    用于指定用户角色对应的 SAML 属性。实例将从 SAML 认证信息中根据此属性决定当前访问者的角色信息。
    idp.subject_key(可选)
    用于指定用户主体对应的 SAML 属性。实例将从 SAML 认证信息中根据此属性决定当前访问者的主体信息。
说明
配置后各节点将逐个重启,实例进入更新中状态,请耐心等待。当实例恢复运行中状态时,SAML 身份验证开启成功。
后续操作
通过 SAML 协议访问实例
开启 SAML 身份验证后,用户通过 SAML 协议访问 Elasticsearch 或 OpenSearch 实例时,身份信息和角色信息由 IdP 返回。subject_keyroles_key 用于约定 IdP 返回的用户身份字段和角色字段。例如,IdP 返回如下信息:
{
"subject_key": "xxx@volcengine.com",
"roles_key": "my_role"
}
其中,subject_key 表示登录用户名,roles_key 表示用户所属角色。实例将根据返回的角色信息为用户授予相应权限。
请确保 IdP 返回的角色已在实例中创建,并已配置相应权限,否则用户登录后可能无法正常访问相关资源。以下示例演示如何通过 Dev Tools 创建一个对 logs-* 索引只读的角色:
PUT _opendistro/_security/api/roles/my_role
{
"cluster_permissions": [],
"index_permissions": [
{
"index_patterns": ["logs-*"],
"allowed_actions": ["read"]
}
],
"tenant_permissions": []
}
PUT _opendistro/_security/api/rolesmapping/my_role
{
"backend_roles": ["my_role"]
}
说明
以上示例创建的为只读角色。如需更多权限,可通过调用 API 创建。具体操作,请参见 API 参考
修改 SAML 身份验证配置
开启 SAML 身份验证后,您还可以根据需要修改 SAML 身份验证配置。
  1. 在顶部导航栏,选择目标项目和地域。
  1. 实例列表页面,单击目标实例名称。
  1. 在左侧导航栏选择基本信息,然后在访问认证区域的 SAML 身份验证右侧单击编辑
  1. 在编辑 SAML 身份验证面板,根据需要修改 IdP 信息,然后单击确定。具体参数说明,请参见开启 SAML 身份验证
关闭 SAML 身份验证
当您不再需要通过 SAML 身份验证实现单点登录,可关闭SAML 身份验证。
  1. 在顶部导航栏,选择目标项目和地域。
  1. 实例列表页面,单击目标实例名称。
  1. 在左侧导航栏选择基本信息,然后在访问认证区域的 SAML 身份验证右侧单击关闭
  1. 在弹出的对话框中,单击确定
最近更新时间:2026.07.15 10:36:24
这个页面对您有帮助吗?
有用
有用
无用
无用