Сервер BOOCO Astra (v 2.x) / Конфигурационный файл booco.yml / Раздел ldap
Пример 1: назначить роли для пользователей AD
В этом примере:
- пользователям AD, которые являются членами группы AD, содержащей строчку
CN=IT Group
(полеmemberOf
), назначаются ролиuser
иadmin
; - пользователям AD, у которых значение в поле
department
начинается сHR
(регулярное выражение^HR
), назначается рольhr
.
ldap:
map:
- name: roles
value: [user, admin]
if:
- name: memberOf
value: 'CN=IT Group'
- name: roles
value: [hr]
if:
- name: department
value: '^HR'
Пример 2: установить поле email для заданного пользователя AD
В этом примере пользователю AD, у которого поле uid
содержит строчку (newton)
, назначается email newton@booco.ru
.
ldap:
map:
- name: email
value: 'newton@booco.ru'
if:
- name: uid
value: '(newton)'
Пример 3: установить поле fullname для заданного пользователя AD
В этом примере для пользователя AD, у которого поле uid
содержит строчку (tesla)
, в качестве fullname
будет использовано значение атрибута AD cn
.
ldap:
map:
- name: fullname
value: '{cn}'
if:
- name: uid
value: '(tesla)'
Пример 4: подставить префикс в username для всех пользователей
В этом примере для всех пользователей AD из поля uid
берется строка до запятой и назначается в переменную user
. После чего формируется username
в виде BOOCO\{user}
, где вмеcто {user}
подставляется извлеченное значение из uid
.
ldap:
map:
- name: username
value: BOOCO\{user}
if:
- name: dn
value: 'uid=(?<user>[^,]+),'
Пример 5: установить поле manager в карточке пользователя для определенных пользователей AD
В этом примере для пользователей AD, у которых в uid
содержится строка tesla
, euler
, gauss
, riemann
, galileo
или einstein
, в качестве руководителя назначается newton
(прописывается в поле manager
).
ldap:
map:
- name: manager
value: 'newton'
if:
- name: uid
value: '(tesla|euler|gauss|riemann|galileo|einstein)'