# Интеграция с LDAP и AD

В системе vsDesk есть возможность использовать авторизацию в домене Active Directory и в домене на основе OpenLDAP сервера. При создании конфигурации, необходимо выбрать какой тип авторизации использовать.&#x20;

> Внимание необходимо настраивать именно первую конфигурацию! Если вы ошибочно настроили первую конфигурацию, то последующие настроенные конфигурации не будут работать. Необходимо изменить настройки первой конфигурации. В случае ошибки можно [восстановить изначальное состояние конфигурации.](#vosstanovlenie-rabotosposobnosti-integracii)

## Интеграция с LDAP

![](https://3807933561-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcpteH47XFJvwR4kSbU%2F-LcptfHnHpLiBqToxGkr%2F-LcpthdASWmRDZujQ4H7%2Fldap_settings.jpg?generation=1555682489557313\&alt=media)

Для успешной интеграции с сервером каталогов OpenLDAP необходимо настроить ряд параметров как на самом OpenLDAP сервере, так и в системе vsDesk. Настройки со стороны vsDesk:

**Активна** - данный переключатель активирует данную конфигурацию и позволяет ее использовать.

**Пользователь домена** - доменная учетная запись, которая имеет права администратора OpenLDAP. Указывается в формате cn=admin,dc=domain,dc=local.

**Пароль пользователя** - пароль указанной учетной записи.

**Суффикс аккаунта** - обычно суффикс состоит из имени домена, например @domain.local.

**Контроллер домена** - IP адрес контроллера домена (сервер с OpenLDAP).

**Базовый DN** - путь до корня каталога, начало иерархии объектов OpenLDAP. Обычно выглядит как dc=domain,dc=local.

**Users DN** - путь до OU (организационной единицы) в которой хранятся ученые записи пользователей (**posixAccount**).

**Groups DN** - путь до OU (организационной единицы) в которой хранятся группы (**posixGroup**). В этой OU должны располагаться группы с именами, аналогичными названию ролей в системе vsdesk. Например **vsdeskuser, vsdeskmanager, vsdeskadmin**. Члены этих групп, указанные в атрибуте **membersUID,** получают в системе права, аналогичные роли.

Для правильного импорта данных из OpenLDAP мы настроили синхронизацию полей локального справочника Пользователи с атрибутами LDAP-каталога. Все учетные записи пользователей должны иметь Отличительное имя (dn) в формате **uid=apetrov,ou=Users,dc=domain,dc=local.**

## Синхронизируемые поля

| **Поле в справочнике "Пользователи"**                     | **Атрибут Active Directory** |
| --------------------------------------------------------- | ---------------------------- |
| Полное имя                                                | displayname                  |
| Email                                                     | mail                         |
| Телефон                                                   | telephonenumber              |
| Внутренний телефон                                        | mobile                       |
| Должность                                                 | title                        |
| Подразделение (сравнение со справочником "Подразделения") | departmentnumber             |
| Комнтата                                                  | physicaldeliveryofficename   |
| Компания (сравнение со справочником "Компании")           | employeenumber               |
| Руководитель                                              | manager                      |
| Логин                                                     | uid                          |

Пример иерархии OpenLDAP на скриншоте:

![](https://3807933561-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcpteH47XFJvwR4kSbU%2F-LcptfHnHpLiBqToxGkr%2F-LcpthdDDPva8t_gqDrj%2Fldap_attrib.jpg?generation=1555682498030917\&alt=media)

## Интеграция с AD

![](https://3807933561-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcpteH47XFJvwR4kSbU%2F-LcptfHnHpLiBqToxGkr%2F-LcpthdFm3u6iKUAZ9GK%2Fadlist.jpg?generation=1555682497578811\&alt=media)

Мы упростили процесс интеграции учетных записей с Active Directory. Теперь, настройка этой связки сводится к заполнению нескольких полей. Привязка, по-прежнему, происходит к группам безопасности Active Directory. Если при настройке вы создали определенные роли, то учтите, что необходимо в Active Directory создать группы безопасности, аналогичные названию роли. По умолчанию в демонстрационных данных существует 3 роли: **vsdeskuser, vsdeskmanager, vsdeskadmin**(эти группы тоже необходимо создать в AD).\
После создания групп безопасности, необходимо добавить в эти группы пользователей, в соответствии с требуемыми ролями и правами доступа. Пользователи добавляются непосредственно в группу, вложенные группы не поддерживаются.\
Далее, в верхнем меню, необходимо перейти в «Настройки – Интеграция с AD» и настроить первую конфигурацию, после чего, если это необходимо, создать еще конфигурации, если используется многодоменная схема сети.

## Настройки интеграции с AD

![](https://3807933561-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcpteH47XFJvwR4kSbU%2F-LcptfHnHpLiBqToxGkr%2F-LcpthdHd0cyFK1BGXZq%2Fadconfig.jpg?generation=1555682497633750\&alt=media)

1\) **Авторизация AD включена** – данный переключатель включает возможность интеграции учетных записей. Суть интеграции состоит в том, что пользователь вбивает в форме входа в систему свои доменные учетные данные и система автоматически создает её локальную копию. Дальнейшая работа происходит уже с копией учетной записи. Если в домене изменяться данные, то система автоматически проверит и синхронизирует изменения. При включении данного переключателя, встроенная система авторизации продолжает работать, как и раньше, но при этом, не будет доступна регистрация пользователей.\
2\) **Базовый DN** – Базовый DN является отправной точкой в иерархии службы каталогов Active Directory, с которого начинается поиск. Введите в поле Base DN значение, соответствующее вашим настройкам. По умолчанию установлены демо данные: DC=domain, dc=local.\
3\) **Суффикс аккаунта** – используется для упрощения ввода логина пользователя. В нашем случае суффикс @domain.local подставляется автоматически при авторизации пользователя.\
4\) **Контроллер домена** – здесь необходимо указать IP адрес контроллера домена.\
5\) **Пользователь домена** – доменная учетная запись, которая имеет права на чтение атрибутов из Active Directory.\
6\) **Пароль пользователя** – пароль учетной записи, которая имеет права на чтение атрибутов из Active Directory.\
7\) **fastAuth** – позволяет не запрашивать у пользователя пару логин и пароль, но это может быть небезопасно и привести к подмене пользовательских данных. Для корректной работы требуется чтобы сервер с vsdesk был членом домена (Windows версия), интернет браузер Internet Explorer с добавленным в зону "Местная интрасеть" адресом сервера vsdesk (URL). Google Chrome использует те же настройки:

![](https://3807933561-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcpteH47XFJvwR4kSbU%2F-LcptfHnHpLiBqToxGkr%2F-LcpthdJLf_Z5PALk5Nl%2Fad_settings.png?generation=1555682489247151\&alt=media)

Либо браузер Firefox, у которого в настройках about:config в параметре **network.automatic-ntlm-auth.trusted-uris** необходимо указать адрес сервера с vsdesk (URL).

![](https://3807933561-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcpteH47XFJvwR4kSbU%2F-LcptfHnHpLiBqToxGkr%2F-LcpthdLN_COPcxFHfT_%2Fad_settings2.png?generation=1555682489336569\&alt=media)

**Протестировать подключение** – при нажатии на эту кнопку система проверит подключение к контроллеру домена и укажет на ошибки, если таковые будут.\
При включении авторизации Active Directory будьте внимательны – неправильно введенные данные могут сделать механизм авторизации недоступным.

## Синхронизируемые поля

| **Поле в справочнике "Пользователи"**                     | **Атрибут Active Directory** |
| --------------------------------------------------------- | ---------------------------- |
| Полное имя                                                | displayname                  |
| Email                                                     | mail                         |
| Телефон                                                   | telephoneNumber              |
| Внутренний телефон                                        | ipPhone                      |
| Должность                                                 | title                        |
| Подразделение (сравнение со справочником "Подразделения") | department                   |
| Комнтата                                                  | physicalDeliveryOfficeName   |
| Компания (сравнение со справочником "Компании")           | company                      |
| Руководитель                                              | manager                      |
| Логин                                                     | userPrincipalName            |
| Аватар                                                    | thumbnailPhoto               |

## Восстановление работоспособности интеграции

&#x20;Если вы случайно ввели некорректные данные, включили авторизацию и сохранили изменения, вам необходимо очистить содержимое файла /protected/config/ad.inc или adXX.inc если у вас используется несколько конфигураций, и сохранить пустой файл, это поможет восстановить встроенную авторизацию и выполнить настройки заново.
