带有 AD 组的 KeyCloak LDAP 角色映射器

问题描述

我有一个 KeyCloak LDAP 联合问题。

使用 LDAP 联合我试图将特定的 AD 组映射到一个特定的 KeyCloak 角色。

示例

Fido 属于 AD 组“Dogs”

(LDAP:memberOf:cn=dogs,cn=users,dc=test,dc=com)

Fluffy 属于 AD 组“猫”

(LDAP:memberOf:cn=cats,dc=com)

我可以让 LDAP Federation 创建“cats”和“dogs”角色,但我真正想要在 keycloak 中做的是有一个名为“animals”的角色,fluffy 和 fido 都分配给了这个角色。

这可以使用 role-ldap-mapper 吗? 还有其他方法可以做到这一点吗?

解决方法

这可以使用 role-ldap-mapper 吗?有没有别的办法 这样做吗?

首先,您需要将 LDAP 中的“cats”和“dogs”组映射到 Keycloak 中的角色,为此您可以使用 role-ldap-mapper 映射器。在创建这些映射器的过程中,保存后点击 "Sync LDAP Roles to Keycloak"

enter image description here

在为每个导入的角色(即 catdog)成功将这些角色导入 keycloak 后:

  • 转到角色;
  • 点击相关角色;
  • 将“复合角色”切换为 ON
  • 选择角色 Animals(我假设您已经在 Keycloak 中创建了该角色,否则请创建);
  • 点击“添加所选”

enter image description here

下次来自 LDAP 的角色 CatsDogs 的用户使用 Keycloak 进行身份验证时,角色 Animals 也会出现在令牌中。