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 集成。
认证流程:
- 用户打开浏览器窗口并导航到 OpenSearch 仪表板
- OpenSearch 服务生成 SAML 身份验证请求
- OpenSearch 服务将请求重定向回浏览器
- 浏览器重定向到 IAM 身份中心 URL
- AWS IAM 身份中心解析 SAML 请求、验证用户身份并生成 SAML 响应
- AWS IAM 身份中心向浏览器返回编码的 SAML 响应
- 浏览器将 SAML 响应发送回 OpenSearch 服务断言消费者服务 (ACS) URL
- ACS 验证 SAML 响应
- 用户登录到OpenSearch Service domain
实验环节
创建OpenSearch
-
创建一个 AWS OpenSearch Domain 并确保启用细粒度访问控制,使用SAML配置的必要条件。
-
要配置 SAML 身份验证域,需要创建它并且它应该正在运行。
-
我们可以通过编辑集群安全来进行 SAML 身份验证。
-
启用 SAML 后复制以下两个属性,在 AWS IAM Identity Center(SSO) 中需要填写
- 服务提供商提供ID
- IdP发起的SSO URL
配置IAM Identity Center (SSO)设置SAML2.0
- 打开IAM Identity Center 控制台。
- 选择应用程序。
- 选择添加应用程序。
- 在选择应用程序页面上,选择添加自定义SAML2.0应用程序,然后选择下一步
- 配置应用程序,DisplayName 输入OpenSearch
- 在IAM Identity Center 元数据,单击下载元数据文件
- 在应用程序元数据,选择手动输入元数据值。然后从Openserach控制台复制
- 服务提供商提供ID
- IdP发起的SSO URL
到对应的输入框,然后点击提交
8. 点击操作 - 编辑属性映射,输入以下映射值并保存修改
Subject - ${user:email} - emailAddress
Role - ${user:groups} - unspecified
9. 单击指定用户,并选择想要授予访问仪表板访问权限的用户组
10. 复制SSO用户组的组ID
关于AWS IAM Identity Center配置已经完成,回到Opensearch页面。
Opensearch配置
- 上传/粘贴我们从 AWS SSO 下载的 IDP 元数据。会自动填充IdP 实体 ID(不要更改任何内容)。
- 将组 ID 复制到 SAML 主后端角色,所有成员都为 Openseach/Dashboard 分配了管理员。
- 在 Roles Keys 下提及Role以从 AWS SSO 中提取组并单击保存更改。
OpenSearch 访问策略