问题描述
使用 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"
。
在为每个导入的角色(即 cat
和 dog
)成功将这些角色导入 keycloak 后:
- 转到角色;
- 点击相关角色;
- 将“复合角色”切换为
ON
- 选择角色 Animals(我假设您已经在 Keycloak 中创建了该角色,否则请创建);
- 点击“添加所选”
下次来自 LDAP 的角色 Cats
或 Dogs
的用户使用 Keycloak 进行身份验证时,角色 Animals
也会出现在令牌中。