关键要点
- 介绍如何通过 SAML 和 Keycloak 配置 Amazon OpenSearch 服务的单点登录(SSO)。
- 详细步骤涵盖配置 OpenSearch 服务和 Keycloak 的身份提供者(IdP),及其之间的集成。
- 示例用户、角色和组配置,以便在 Keycloak 中进行设置。
- 最后测试 SSO 功能,确保能够成功登录 OpenSearch Dashboards。
许多客户的常见用例是将现有的身份提供者(IdP)与 集成。OpenSearch 服务内置支持针对 OpenSearch Dashboards 的单点登录(SSO)认证,并采用 SAML 协议。利用 SAML 身份验证,用户可以将第三方身份提供者(如 Okta、Ping Identity、OneLogin、Auth0、ADFS、Azure Active Directory 以及 Keycloak)与 OpenSearch 服务的仪表板集成。
在本篇文章中,我们将逐步介绍如何配置使用 OpenSearch 服务和 Keycloak 的服务提供者发起的身份验证。同时,我们还将探讨如何在 Keycloak 中设置用户、组和角色,并配置它们在 OpenSearch Dashboards 的访问权限。
以下是解决方案的 SAML 身份验证流程图示。
![SAML删除)
完成本指南前,您需要准备以下条件:
第一步是为 OpenSearch 服务启用 SAML 身份验证。完成以下步骤:
![启用 SAML删除)
启用此选项后,会自动填充 SAML 支持所需的不同 IdP URL。请记下 服务提供者实体 ID 和 SP 发起的 SSO URL 下的值。OpenSearch Dashboards 登录流可以配置为服务提供者发起或 IdP 发起。本文使用服务提供者发起的登录流程。
删除)
在 SAML 身份验证过程中,一旦用户被认证,浏览器将接收来自 Keycloak 的 SAML 断言令牌并将其转发给 OpenSearch服务。OpenSearch 服务域根据断言中呈现的属性来验证用户后端角色。
要将 Keycloak 配置为 IdP,请完成以下步骤:
Amazon_OpenSearch
),然后选择 创建 。删除)
为了管理 OpenSearch 服务特定的角色、用户和组,您首先需要创建一个单独的客户端领域,以提供管理对象的逻辑空间。
删除)
https://vpc-abc123.us-east-1.es.amazonaws.com/_dashboards/_opendistro/_security/saml/acs
),然后选择 保存 。删除)
删除)
删除)
在为 OpenSearch 服务配置好 Keycloak IdP 客户端后,您可以在 IdP端创建角色、组和用户。本文中,我们创建了两个角色、两个组和两个用户,如下表所示:
用户 | 组 | 角色 |
---|---|---|
super_user_1 | super_user_group | super_user_role |
readonly_user_1 | readonly_user_group | readonly_user_role |
请按照以下步骤操作:
删除)
super_user_role
),然后选择 保存 。删除)
readonly_user_role
。接下来,我们创建组,给组分配角色,并将用户映射到组。
super_user_group
),然后选择 保存 。删除)
readonly_user_group
。当新组创建完成后,它们将在 组 页面中列出。
删除)
删除)
super_user_group
组,选择角色super_user_role
,然后选择 分配 。删除)
readonly_user_role
分配给 readonly_user_group
组。最后一步是创建用户并将其分配到组中,以便他们自动继承组的权限。本文中,我们创建两个用户,super_user_1
和
readonly_user_1
,分别具有仪表板管理员和只读权限。
删除)
readonly_user_1
。删除)
super_user_1
加入 super_user_group
组。删除)
readonly_user_1
也重复以上步骤以加入 readonly_user_group
。接下来,您可以删除用户的默认角色映射,因为您已经将角色分配给他们各自的组。
删除)
role_list
。删除)
删除)
删除)
Keycloak 的配置现在已完成,您可以从 Keycloak 下载 SAML 元数据文件。SAML 元数据为 XML 格式,需要在后续步骤中配置 OpenSearch 服务的 SAML。
![下载 SAML删除)
这将在另一个窗口中生成 IdP 元数据文件。此 XML 文件包含有关提供者的信息,例如 TLS 证书、SSO 终结点和 IdP 实体 ID。
要将 OpenSearch 服务与 Keycloak IDP 集成,您需要在 OpenSearch 服务控制台上传 IdP 元数据 XML 文件。
或者,您也可以从元数据文件中复制并粘贴实体 ID 属性的内容。
删除)
super_user_role
。这意味着具有此角色的用户被授予集群的管理用户权限,但只能在 OpenSearch Dashboards 中使用权限。
删除)
删除)
现在您可以测试与 Keycloak 作为 IdP 的 SAML 集成。
它将自动重定向您到 Keycloak 登录页面进行身份验证。
super_user_1
)和密码,然后选择 登录 。成功认证后,它将重定向您到 OpenSearch Dashboards 的主页。如果您在此步骤遇到问题,请参考 以获取常见问题的帮助。
删除)
内部,安全插件将后端角色 super_user_role
映射到保留的安全角色 all_access
和 security_manager
。因此
Leave a Reply