1

要求

我正在处理一个客户项目,我们需要在其中设置我们的 AWS 托管 OpenSearch 仪表板 (Kibana)。根据要求,我们应该使用 keycloak 进行 SAML 配置。还需要使用 LDAP 作为用户联合。

当前设置

  1. AWS OpenSearch 设置已完成并且能够使用主用户凭证登录。
  2. Keycloak 与 OpenSearch 仪表板的集成已完成。我可以使用 keycloak 本地用户登录到 OpenSearch 仪表板,方法是将其添加到仪表板(kibana)的all_access组中。
  3. LDAP 与 Keycloak 的集成也已完成。我可以在 Keycloak 中同步所有 LDAP 用户,并且能够在将单个 LDAP 用户添加到仪表板(Kibana)的all_access组中时登录它们。

问题/打开任务

  1. 如何将整个 keycloak 组添加到 OpenSearch 仪表板,这样我就不必添加单个用户。我尝试在后台角色部分下的仪表板中添加组名,但它不起作用。还尝试了一些映射(不确定它们是否正确)但没有运气。每次它给出“缺少角色-联系您的管理员”

  2. LDAP 组也有同样的问题,我可以在我的 Keycloak 中同步所有 LDAP 组,但不确定如何将它们与 OpenSearch Dashboard 映射到登录。

最终目标

  1. 创建两个组,一个作为admin,另一个作为limitedaccess,这样属于 admin 组的用户可以使用分配的权限登录,而 limitedaccess 组中的用户可以使用他们的权限登录。
  2. 我不想在仪表板中添加单个用户,而是他们应该能够根据角色/组映射直接登录。
4

1 回答 1

1

问题已解决。

以下是我所做的事情,这可能对寻找类似设置的其他人有用。

  • 在我的 Keycloak 中创建了两个组。“管理员”和“受限”。
  • 创建了两个角色“ admin_role ”和“ limited_role ”。
  • 将受限组设为默认组,将 limited_role 设为默认角色,这样新用户将直接获得受限权限。
  • 接下来,我一直错过的(并且感谢其他堆栈溢出答案)是启用单角色映射。为此,转到客户端范围角色列表 --> 映射器 --> 角色列表 --> 启用“单一角色属性”
  • 在角色键部分的 OpenSearch 中添加了“角色”关键字(在 AWS OpenSearch SAML 配置中的其他设置下)。还提到了 SAML 主用户部分中的通用用户(我在 Keycloak 中创建的通用用户),以便我可以获得管理员权限以在 OpenSearch Dashboard 中添加后端角色。
  • 最后,使用这个通用用户登录到我的 OpenSearch。转到安全性 --> 角色 --> 管理映射 --> 后端角色 --> 将我的 admin_role 添加到 all_access 和 limited_role 到读取角色。

现在,我可以使用属于 Keycloak 中各个组的所有用户登录。

于 2022-02-08T15:08:12.847 回答