亚马逊AWS官方博客

向使用 SAML 和 Okta 的 Open Distro for Elasticsearch Kibana 添加单点登录 (SSO)

Open Distro for Elasticsearch Security 使用 SAML 2.0 协议的 Web 浏览器单点登录 (SSO) 配置文件。这使您能够使用任何符合 SAML 2.0 的身份提供商 (IdP) 配置联合访问。在前一篇博文中,我讨论了如何使用 Microsoft Active Directory Federation Services (ADFS) 设置基于 SAML 的 SSO。在此博文中,我将讨论特定于 Okta 的配置。

先决条件

 
用户  Okta 组

Open Distro Security 角色

esuser1 ESAdmins all_access
esuser2 ESUsers readall
esuser3 无数据 无数据

 

Okta 配置

在您的 Okta 账户中,点击应用程序 -> 添加应用程序 -> 创建新应用程序

添加新应用程序

在下一个屏幕中,将 Web 应用程序选为类型,将 SAML 2.0 选为身份验证方法,并点击创建。在下一个屏幕中,键入应用程序名称并点击下一步

选择集成类型

在 SAML 设置中,设置单点登录 URL受众 URI(SP 实体 ID)。输入下面的 kibana url 作为 单点登录 URL

https://<kibana_base_url>:<kibana_port>/_opendistro/_security/saml/acs

确保将 kibana_base_urlkibana_port 替换为先决条件中提到的实际 Kibana 配置。在我的设置中,此配置为 https://new-kibana.ad.example.com:5601/...

受众 URI 添加一个字符串。您可以在此选择任何名称。我使用的是 kibana-saml。您将在 Elasticsearch Security 插件 SAML 配置中使用此名称作为 SP-entity-id

saml 设置

您将使用 Okta 的组属性声明将用户的组成员关系从 Okta 传递到 Elasticsearch。将名称设置为“角色”。您选择的名称必须与 Open Distro Security 配置中定义的 roles_key 匹配。点击下一步完成

角色到组的映射

应用程序设置屏幕中,点击身份提供商元数据链接下载元数据 XML 文件并将其复制到 Elasticsearch 配置目录。将 Open Distro Security 的 config.yml 文件中的 idp.metadata_file 属性设置为 XML 文件的路径。该路径必须相对于 config 目录予以指定(您也可以不指定文件,而是指定 metadata_url)。

下载 idp 元数据文件

此元数据文件包含 idp.entity_id

显示实体 ID 的元数据文件

要完成 Open Distro for Elasticsearch Security 的配置,请参阅我的上一篇博文使用 ADFS 添加单点登录。按照该博文中的步骤将 Open Distro Security 角色映射到 Okta 组,更新 Open Distro Security 配置和 Kibana 配置并重新启动 Kibana。Security 配置文件与 Okta 集成的副本如下:

...
        http_enabled: true
        transport_enabled: true
        order: 1
        http_authenticator:
          type: saml
          challenge: true
          config:
 idp: metadata_file: okta-metadata.xml entity_id: http://www.okta.com/exksz5jfvfaUjGSuU356 sp: entity_id: kibana-saml kibana_url: https://new-kibana.ad.example.com:5601/
            exchange_key: 'MIIDAzCCAeugAwIB...'
        authentication_backend:
          type: noop
...

重新启动 Kibana 后,您便可以测试集成。您应遵照 ADFS 博文中所述的相同行为。

okta 登录屏幕

 

kibana esuser2 读取屏幕截图

小结

本文中,我讨论了使用 Okta 的 Kibana 单点登录的 SAML 身份验证。您可以使用类似的程序来配置与任何符合 SAML 2.0 的身份提供商的集成。有关使用 SAML 配置 Open Distro for Elasticsearch Security 的其他配置选项,请参阅 Open Distro for Elasticsearch 文档。

有问题或疑问? 希望参与讨论? 您可以在我们的论坛上获得帮助并讨论 Open Distro for Elasticsearch。您可以在这里提出问题。