Примеры правил синхронизации AD

Сервер 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)'