[Решено] Настройка User federation с MS Active Directory в Keycloak
Keycloak - программное обеспечение с открытым исходным кодом, для реализации single sign-on с управлением идентификацией и управлением доступом для современных приложений и сервисов. Это программное обеспечение написано на Java и по умолчанию поддерживает протоколы федерации удостоверений SAML и OpenID Connect (OIDC)
В вэб-админке Keycloak создаем новую область (realm
), например msad
, и переходим в раздел User federation
. Там добавляем LDAP-провайдера
Вкладка Settings:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Вкладка Settings:
Console display name: dc01.itdraft.loc
Vendor: Active Directory
Connection URL: ldap://dc01.itdraft.loc
Bind type: simple
Bind DN: CN=test2,OU=Users,OU=ITDRAFT,DC=itdraft,DC=loc
Bind credentials: mypass
Edit mode: READ_ONLY
Users DN: OU=Users,OU=ITDRAFT,DC=itdraft,DC=loc
Username LDAP attribute: sAMAccountName
RDN LDAP attribute: cn
UUID LDAP attribute: objectGUID
User object classes: person, organizationalPerson, user
Проверяем подключение, сохраняем
Так же можно задать параметр User LDAP filter
, что б Keycloak подгружал только пользователей определенной группы
1
User LDAP filter: (&(objectCategory=user)(objectClass=user)(mail=*)(telephoneNumber=*)(!(userPrincipalName=*_*))(!(userAccountControl:1.2.840.113556.1.4.803:=2))(memberOf=cn=staff01,ou=Groups,dc=itdraft,dc=ru))
Добавляем атрибут First name
Вкладка Mappers
1
2
3
4
5
6
7
8
Add mapper:
Name: first name
Mapper type: user-attribute-ldap-mapper
User Model Attribute: firstName
LDAP Attribute: givenName
Read Only: On
Always Read Value From LDAP: On
Is Mandatory In LDAP On
Для проверки, переходим по ссылке “Users” в левом меню, и в строке поиск вводим *
Как видно, пользователи подгружаются, значит все работает