Сервер BOOCO Meteor (v 1.x) / Настройка работы со службами каталогов

Настройка работы со службами каталогов

Настройка работы с LDAP/Active Directory

Настройка работы со службой каталогов Google

Настройка работы со службой авторизации SAML

Удаление службы каталогов

Настройка правил синхронизации служб каталогов

В последних версиях появилась возможность гибко настраивать правила синхронизации служб каталогов. В пользовательском интерфейсе эта функция отсутствует.

Для настройки правил синхронизации служб каталогов нужно:

Экспорт и импорт триггеров с помощью файла в формате JSON можно выполнить на странице Дополнительные инструменты (Триггеры и правила → Инструменты), используя кнопки Экспорт и Импорт в разделе Операции с коллекциями.

Чтобы включить новый механизм синхронизации, нужно добавить массив rules в поле action триггера синхронизации службы каталога. Список атрибутов указывать не нужно. Этот список будет сформирован автоматически в соответствии со списком правил синхронизации.

Каждое правило синхронизации может содержать следующие поля:

Правила выполняются в порядке их следования.

Пример использования правил:

[   
  /* Установить роль user всем пользователям */  
  { "source": "name", "target": "profile.roles", "value": "user", "type": "array" },  

  /* Добавить роль admin всем пользователям из отдела, имя которого содержит IT*/ 
  { "source": "department", "target": "profile.roles", "match": "IT", "value": "admin", "action": "add" }

  /* Синхронизировать департамент */  
  { "source": "department", "target": "profile.department" },  
  
  /* Синхронизировать должность */  
  { "source": "title", "target": "profile.title" }, 
 
  /* Установить имя пользователя в профиле */  
  { "source": "cn", "target": "profile.fullname", "match": "/^.+$/" },  

  /* Установить имя пользователя в профиле (переписывает предыдущее значение) */ 
  { "source": "name", "target": "profile.fullname", "match": "/^.+$/" },  

  /* Установить email, если mail не пустой */ 
  { "source": "mail", "target": "email", "match": "/^.+$/" }, 

  /* Установить email, если email не пустой (переписывает предыдущее значение) */  
  { "source": "email", "target": "email", "match": "/^.+$/" },  

  /* Установить login пользователя = userPrincipalName (если не пустой) */  
  { "source": "userPrincipalName", "target": "username", "match": "/^.+$/" },  

  /* Установить login пользователя = BOOCO\\\\{sAMAccountName (переписывает предыдущее значение) */  
  { "source": "sAMAccountName", "target": "username", "value": "BOOCO\\\\{sAMAccountName}" },  

  /* Синхронизировать мобильный телефон */  
  { "source": "mobile", "target": "profile.mobile" },  

  /* Синхронизировать рабочий телефон */  
  { "source": "telephoneNumber", "target": "profile.phone" },  

  /* Синхронизировать фотографию пользователя (сильно увеличивает время синхронизации!!!) */  
  { "source": "thumbnailPhoto", "target": "profile.photo" },  

  /* Добавляет название департамента в коллекцию departments */  
  { "source": "department", "target": "name", "collection": "departments", "match": "/^.+$/" },  

  /* Пропустить, если поле email пустое */  
  { "source": "email", "match": "/^$/", "action": "skip" }
];