Amazon OpenSearch

Amazon OpenSearch Service 是一项 AWS 托管服务,可以让您运行和扩展 OpenSearch 集群,而不必担心管理、监控和维护您的基础设施,或者不必在操作 OpenSearch 集群方面积累深入的专业知识。

基于 SAML 的 OpenSearch Dashboards 联盟将利用任何现有的身份提供商 (IdP) 来启用单点登录。可以为您提供细粒度的访问控制,以及搜索数据和构建可视化的能力。

Amazon OpenSearch 支持使用 SAML 2.0 标准的提供商,例如 AWS IAM Identity Center (AWS SSO)、Auth0、Okta、Keycloak、Active Directory Federation Services (AD FS) 和 Ping Identity (PingID)。

在本文中,我将介绍如何将 AWS IAM Identity Center 与 Opensearch 集成。

认证流程:

在这里插入图片描述

  1. 用户打开浏览器窗口并导航到 OpenSearch 仪表板
  2. OpenSearch 服务生成 SAML 身份验证请求
  3. OpenSearch 服务将请求重定向回浏览器
  4. 浏览器重定向到 IAM 身份中心 URL
  5. AWS IAM 身份中心解析 SAML 请求、验证用户身份并生成 SAML 响应
  6. AWS IAM 身份中心向浏览器返回编码的 SAML 响应
  7. 浏览器将 SAML 响应发送回 OpenSearch 服务断言消费者服务 (ACS) URL
  8. ACS 验证 SAML 响应
  9. 用户登录到OpenSearch Service domain

实验环节

创建OpenSearch

  1. 创建一个 AWS OpenSearch Domain 并确保启用细粒度访问控制,使用SAML配置的必要条件。

  2. 要配置 SAML 身份验证域,需要创建它并且它应该正在运行。

  3. 我们可以通过编辑集群安全来进行 SAML 身份验证。

  4. 启用 SAML 后复制以下两个属性,在 AWS IAM Identity Center(SSO) 中需要填写

在这里插入图片描述

- 服务提供商提供ID - IdP发起的SSO URL

配置IAM Identity Center (SSO)设置SAML2.0

  1. 打开IAM Identity Center 控制台。
  2. 选择应用程序。
  3. 选择添加应用程序。 在这里插入图片描述
  4. 在选择应用程序页面上,选择添加自定义SAML2.0应用程序,然后选择下一步 在这里插入图片描述
  5. 配置应用程序,DisplayName 输入OpenSearch 在这里插入图片描述
  6. 在IAM Identity Center 元数据,单击下载元数据文件 在这里插入图片描述
  7. 在应用程序元数据,选择手动输入元数据值。然后从Openserach控制台复制 - 服务提供商提供ID - IdP发起的SSO URL 到对应的输入框,然后点击提交

在这里插入图片描述 8. 点击操作 - 编辑属性映射,输入以下映射值并保存修改 在这里插入图片描述

Subject - ${user:email} - emailAddress Role - ${user:groups} - unspecified

在这里插入图片描述 9. 单击指定用户,并选择想要授予访问仪表板访问权限的用户组 10. 复制SSO用户组的组ID 在这里插入图片描述 关于AWS IAM Identity Center配置已经完成,回到Opensearch页面。

Opensearch配置

  1. 上传/粘贴我们从 AWS SSO 下载的 IDP 元数据。会自动填充IdP 实体 ID(不要更改任何内容)。
  2. 将组 ID 复制到 SAML 主后端角色,所有成员都为 Openseach/Dashboard 分配了管理员。
  3. 在 Roles Keys 下提及Role以从 AWS SSO 中提取组并单击保存更改。 在这里插入图片描述

在这里插入图片描述 OpenSearch 访问策略 在这里插入图片描述

登录SSO 如下

在这里插入图片描述