SAML authentication。
一、前提条件
·启用 SAML 验证前需要集群 License 为白金版且开启了集群内网访问的 HTTPS 协议。
·启用 SAML 验证当前不支持 icon 和 name 的自定义。
二、1. 创建基础配置
以使用 Okta 作为身份提供者为例,在配置 SAML 应用时按以下方式填写:
·Single sign on URL: 对应的是 kibana 的回调地址。
·在 ES 7.13.4 及之前版本中默认是"http://{kibana公网域名}:5601/api/security/v1/saml"
·在 ES 7.13.4 之后版本中默认是"http://{kibana公网域名}:5601/api/security/saml/callback"
·Audience URI : 对应的是 kibana 的公网地址:"http://{kibana公网域名}:5601"。
三、2. 反馈配置
点击“Show Advanced Settings”,配置 Attribute Statements 并返回给 ES 以唯一标识一个当前登录用户。
·默认用户名的 Name: "urn:oid:0.9.2342.19200300.100.1.1", Value: user.lastName 或可按需求自定义。
·默认用户 group 的 Name: "urn:oid:1.3.6.1.4.1.5923.1.5.1.", Value: 可按需求自定义处理。
完成上述配置后,okta 就可以生成一份对接 ES 的 metadata.xml 文件。
四、1. 启用单点登录
进入集群详情页,点击单点登录的编辑按钮,将步骤 1 中的 metadata.xml 的 URL 地址填写到此处即可开启 SAML 登录。
五、2. 公网访问策略录入出口 IP
将允许通过公网访问 Kibana 的 IP 地址录入至公网访问策略 IP 白名单中。
六、3. 配置 role mapping
进入kibana公网地址,先选择 “Log in with Elasticsearch” 登录,即使用创建集群时设置的 Elastic 用户名密码登录,进入 devtools 中,录入 SAML 对应的 role_mapping。完成以下配置后,选择 SAML 登录的用户默认就是“superuser”的 role。
7.x 及以上操作步骤PUT /_security/role_mapping/saml1{ "roles": [ "superuser" ], "enabled": true, "rules": { "field": { "realm.name": "saml1" } }}GET /_security/role_mapping/saml16.x 操作步骤PUT /_xpack/security/role_mapping/saml-kibana{ "roles": [ "superuser" ], "enabled": true, "rules": { "field": { "realm.name": "saml1" } }}GET /_xpack/security/role_mapping/saml-kibana
完成上述配置后,即可选择 Log in with saml/saml1 登录方式。