====== Руководство по настройке интеграции с Active Directory ======
Текущая инструкция актуальна для версии **ADVANTA 3.20** и выше.
[[product/settings/system/active_directory/old_3.19|Инструкция по настройке Active Directory для ADVANTA 3.19 и более ранних версий продукта]].
О том, как изменить настройки после обновления системы с 3.19 на 3.20 см. [[releases/3_20#настройка_active_directory|на странице описания обновления 3.20.]]
===== Один домен =====
==== Общая информация ====
Данный тип интеграции позволяет подключаться к Адванте с использованием Active Directory с компьютеров, размещенных **в одном домене**. При этом допускается, что сервер с системой может находится вне домена, а географически -- в любой части мира.
Интеграционное решение ориентировано на компоненты Active Directory:
- Служба федерации Active Directory (AD FS).
- Служба каталогов Active Directory; доступ к ней осуществляется по LDAP.
Службы федерации Active Directory используются для аутентификации пользователей. AD FS позволяет использовать технологию единого входа (SSO). В нашем случае важно, что AD FS использует Встроенную Аутентификацию Windows, что позволяет входить в систему без ввода логина и пароля (требует настройки в IE и Firefox). Если пользователи будут использовать AD FS только находясь в домене, то не обязательно делать эту службу доступной во внешнюю сеть.
Службы каталогов AD используются для импорта пользователей из AD в систему и для выбора учетной записи AD при связывании с пользователем. Связывание происходит по полю SID.
Чтобы использовать интеграцию с Active Directory, обращение к системе Адванта должно выполняться по **протоколу https**.
==== Установка службы федерации Active Directory (в домене клиента, AD FS) ====
Сервер со службой федерации Active Directory (AD FS) должен находиться в домене на сервере клиента. При этом можно установить службу на сервер с контроллером домена (AD), однако служба технической поддержки компании Microsoft не рекомендует производить подобные установки: службы AD и ADFS должны быть размещены на различных хостах (ВМ). При этом сервер IIS может находиться как на сервере (клиента) внутри доменной сети, так и на внешнем хостинге.
===Windows Server 2008R2===
- Установите IIS -- [[http://www.syfuhs.net/post/2010/07/25/Installing-IIS-75-on-Windows-7-from-the-Command-Line.aspx |инструкция по установке]].
- Запустите файл установки службы федерации Active Directory 2.0. Скачать можете [[http://www.microsoft.com/en-us/download/details.aspx?id=10909|здесь]]. \\ Откроется мастер установки AD FS 2.0 -> «Далее».
- На шаге «Лицензионное соглашение» поставить чек-бокс «**Я принимаю условия лицензионного соглашения**» -> «Далее».
- На шаге «Роль сервера» выберите роль «**Сервер федерации**» -> «Далее».
- На шаге «Установка необходимого программного обеспечения» мастер установки автоматически проверит наличие необходимых для службы федерации компонентов. -> «Далее».
- После завершения работы мастера поставьте чек-бокс «**Когда мастер закроется, запустить оснастку управления AD FS 2.0**» для дальнейшей настройки службы. -> «Готово».
=== Windows Server 2012===
- Откройте «Диспетчер серверов».
- Управление -> Добавить роли и компоненты
- На шаге «Перед началом работы» (если такой появится) -> «Далее».
- На шаге «Тип установки» выберите «**Установка ролей и компонентов**» -> «Далее».
- На шаге «Выбор сервера» **выберите сервер**, на котором будет установлена служба федерации Active Directory -> «Далее».
- На шаге «Роли сервера» поставьте чек-бокс напротив роли «**Службы федерации Active Directory**». \\ Мастер добавления ролей и компонентов предложит добавить компоненты, необходимые для Службы федерации Active Directory. -> «Добавить компоненты» -> «Далее»
- Шаг «Компоненты» остаётся без изменений -> «Далее».
- На шаге «Службы федерации Active Directory (AD FS)» -> «Далее».
- В промежуточном шаге «Службы ролей» должен быть активен чек-бокс «**Служба федерации**» -> «Далее».
- В промежуточном шаге «Службы ролей» ничего не меняйте -> «Далее».
- На шаге «Подтверждение» -> «Установить».
- После установки необходимых компонентов закройте мастер установки.
====Начальная настройка AD FS====
=== Этап 1. В диспетчере служб IIS ===
Установите сертификат в Доверенные корневые центры сертификации через сервер ADFS или на сервере IIS.
Если IIS установлен, то сделать это можно так:
- Запустите Диспетчер служб IIS.
- Выберите локальный сервер.
- На начальной странице локального сервера -> меню «**Сертификаты сервера**».
- На странице «Сертификаты сервера»:
- добавьте сертификат:
* либо заверенный, купленный у вендора,
* либо созданный в центре сертификации AD CS (если эта служба установлена). Использовать самозаверенный сертификат не рекомендуется. \\ Для каждого пользователя, который заходит через AD будет предупреждение в браузере. Во многих браузерах чтобы продолжить работу с таким сертификатом, надо проделать определенные действия, например, добавить сайт в исключения, что многим пользователям будет не под силу.
- В поле «Понятное имя сертификата» впишите имя, например: ''ADFS_Certificate''
- В разделе «Выбрать хранилище сертификата для нового сертификата:» -> «Личный».
- Закройте Диспетчер служб IIS.
=== Этап 2. Настройка на сервере ===
**Windows Server 2008R2:**
После установки AD FS 2.0 оснастка управления должна была запуститься автоматически. \\
Если этого не произошло, запустите оснастку вручную: Пуск -> Все программы -> Администрирование -> **Управление AD FS 2.0**.
**Windows Server 2012:** В диспетчере серверов нажмите на значок уведомлений (флаг с восклицательным знаком в треугольнике) -> в окне «Конфигурация после развертывания» клик на «**Запустить оснастку управления AD FS**».
- В открывшейся оснастке -> «Мастер настройки сервера федерации AD FS».
- На шаге «Добро пожаловать!» включите чек-бокс «**Создать службу федерации**» -> «Далее».
- На шаге «Выберите тип развертывания» -> «**Изолированный сервер федерации**» -> «Далее».
- На шаге «Имя службы федерации» можно выбрать SSL-сертификат для веб-сайта. \\ Т.к. ранее при настройках создавался только один сертификат (ADFS_Certificate), он подставится по умолчанию, без права выбора сертификатов. \\ Если сертификатов больше, выберите нужный. \\ -> «Далее».
- На шаге «Сводка» мастер настройки покажет, какие параметры будут настроены для служб AD FS. -> «Далее» -> «Закрыть» \\ Если оснастка AD FS закрылась, запустите её заново.
- В оснастке управления AD FS клик по ссылке «**Обязательно: добавьте доверенную проверяющую сторону**» -> «Запустить».
- На шаге «Выберите источник данных» включите чек-бокс «**Ввод данных о проверяющей стороне вручную**» -> «Далее».
- На шаге «Укажите отображаемое имя», в поле «Отображаемое имя:» введите имя для проверяющей стороны (например: advanta), и, при необходимости, любые примечания. -> «Далее».
- На шаге «Выберите профиль» установите значение напротив пункта «**Профиль AD FS**». -> «Далее».
- На шаге «Настройте сертификат» можно указать дополнительный сертификат шифрования маркера, если это необходимо. -> «Далее».
- На шаге «Настройте URL-адрес»:
* включите чек-бокс «**Включить поддержку пассивного протокола WS-Federation**»,
* в поле «URL-адрес пассивного протокола WS-Federation проверяющей стороны» введите адрес страницы ''ADFS_Login.aspx'' в вашей системе (например: ''%%https://your.system.ru/streamline/ADFS_Login.aspx%%''). \\ -> «Далее».
- На шаге «Настройте идентификаторы» в поле «Идентификатор отношения доверия проверяющей стороны:» введите адрес вашей системы (например: ''%%https://your.system.ru/streamline%%''). -> «Далее».
- На шаге «Выберите правила авторизации выдачи» -> «Разрешить доступ к этой проверяющей стороне всем пользователям». \\ Или, после настройки мастера, настройте конкретных пользователей. -> «Далее».
- На шаге «Готовность для добавления отношения доверия» можете проверить все настройки и нажмите «Далее».
- На шаге «Готово» включите чек-бокс «**Открыть диалоговое окно «Изменение правил утверждений» для этого отношения доверия проверяющей стороны после закрытия мастера**» -> «Закрыть».
- Откроется окно «Изменение правил утверждений для advanta (отображаемое имя, которое вы ввели ранее)».
- На вкладке «Правило Преобразования выдачи» -> «Добавить правило…».
- В мастере добавления правила преобразования утверждения:
- на шаге «Выберите тип правила», выберите шаблон правила утверждения: «**Отправка утверждений с помощью настраиваемого правила**». -> «Далее».
- на шаге «Настройте правило утверждения»:
* в поле «Имя правила утверждения:» введите имя: ''sid'';
* В поле «Настраиваемое правило:» введите правило: ''%%c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"]=>issue(claim = c);%%'' (копировать вместе со знаком %%;%%)
* -> «Готово».
- После этого снова появится окно «Изменение правил утверждений для advanta» -> «ОК».
====Настройка службы каталогов Active Directory на сервере с установленной Адвантой (сервер IIS)====
Прежде чем приступать к настройкам, проверьте наличие/добавьте на сервер приложения файл ''ADFS_Login.aspx'' в корень приложения.
Службы каталогов AD должны быть доступны для сервера IIS по LDAP. Для системы «Адванта» настройка службы выполняется в конфигурационных файлах, находящимися в папке с веб-контентом системы.
===Настройки интеграции со службой AD FS===
- На сервере службы федерации в IIS перейти к сайту AD FS: Сайты –> Default Web Site –> AD FS -> ls . Данный пункт актуален только для старых версий AD FS, начиная с версии службы федерации 3.0 в Windows Server 2012, IIS на сервер со службой федерации устанавливать необходимости нет.
- На странице сайта раздел «Проверка подлинности» -> включить компонент «Проверка подлинности Windows».
- Перейти в дополнительные параметры данного компонента -> в настройке «Расширенная защита» установить «Выключена».
для настройки ADFS нужно указать два параметра в ''client.config'' в секции '''':
|< 100% 40% 60% >|
|
|Где ''a2test'' -- название домена вашей инсталляции ADVANTA. \\ Идентификатор проверяющей стороны, берется из оснастки ADFS "Отношение доверия/Отношение доверия проверяющей стороны/Идентификатор проверяющей стороны"|
|
|Где ''a2test'' -- название домена вашей инсталляции ADVANTA. \\ Адрес сервиса ADFS|
Также есть три дополнительных параметра:
* ''AdfsShowPII'' -- режим отображения персональной пользовательской информации в сообщениях об ошибках подключения к AD FS
* значение по умолчанию (или если параметр не указан) ''false'' -- информация, позволяющая идентифицировать пользователя, будет скрыта в сообщениях об ошибках
* при установке значения в ''true'' -- в сообщении об ошибке подключения будут отображаться идентификационные данные. Используется при отладке и поиске проблем подключения к AD FS. В режиме промышленной эксплуатации системы параметр должен быть удален или установлен в значение ''false''!
* ''AdfsMode'' -- режим проверки сертификата
* по умолчанию значение (или если параметр не указан) ''Default'' -- строгий режим, который проверяет всю цепочку сертификатов.
* можно задать значение ''Thumbprint'' -- данный режим применяется, если сертификат самозаверенный. Этот режим проверяет только даты и отпечаток сертификата.
* ''Thumbprint'' -- если в параметре ''AdfsMode'' указано значение ''Thumbprint'', в этом случае необходимо указать отпечаток сертификата: оснастка AD FS → Сертификаты (Service communications) → CN=ServerADFS.your.domain.local → Состав → Отпечаток.) При этом обязательно надо указать дополнительный параметр:
При копировании отпечатка через графический интерфейс, он может скопироваться с дополнительными невидимыми символами. Поэтому при копировании используйте команду ''certutil''.
* [[product/settings/system/active_directory/old_integration|Настройка интеграции со службой AD FS в файле web.config (до версии 3.03.2166.х)]]
* [[product/settings/system/active_directory/old_3.19#основные_настройки_интеграции_со_службой_ad_fs|Настройка интеграции со службой AD FS в файле web.config (до версии 3.19 включительно)]]
=== Настройка LDAP в файле client.config ===
В главном разделе '''' после закрывающего тега '''' добавить следующее:
* ''ldapPath'' – адрес службы. Значение по умолчанию (LDAP:%%//%%) можно использовать, когда сервер приложения находится в домене. Иначе нужно указать действительный адрес службы и порт, если порт отличается от стандартного (389). Например: LDAP://ad.domain.local/
* ''baseDN'' – базовый DN каталога пользователей.
* Если не указан, то используется дефолтный DN, который определен в самой службе каталогов. Лучше указывать действительный DN. Например: DC=domain,DC=local
* ''authenticationTypes'' – типы аутентификации. \\ Влияют на защищенность (шифрование и подпись) передаваемых данных. \\ По умолчанию: Secure, Signing, Sealing. Если в службе каталогов настроен SSL (требует установки Certification Authority), то нужно указать значение ''SecureSocketsLayer'' в ''authenticationTypes''.
В раздел '''' добавить тег:
====Безопасность====
Службы федерации и приложение не обмениваются напрямую, только через браузер. Пользователь вводит логин и пароль для доступа к веб-сервисам AD FS, а приложение никогда не получает эти данные. Вместо логина и пароля приложение получает от AD FS утверждения, а именно доменный ''sid'' пользователя. Передача утверждений происходит с использованием шифрования. Также утверждения подписываются в AD FS, используя SAML. Доверие приложения к сервису утверждений основано на подписи, которая проверяется по отпечатку сертификата.
Важно использовать заверенный сертификат для веб-сервисов AD FS (этот сертификат устанавливается в IIS). Это не тот сертификат, который используется для подписи и шифрования утверждений.
Если сертификат не заверен центром сертификации (создан самозаверенный), то нужно будет установить его на рабочие станции пользователей в корневые центры сертификации. В этом случае экспортируется сертификат, созданный на [[#начальная_настройка_ad_fs|шаге 4 в подразделе «Начальная настройка AD FS»]]
====Настройка рабочих станций====
- Установить сертификат в Доверительные корневые центры сертификации.
- Добавить систему в надежные сайты (Свойства браузера -> Безопасность -> Надежные сайты -> Сайты -> Добавить сайт ''%%https://имя системы в сертификате безопасности%%'' -> Закрыть).
====Настройка интеграции с AD в системе (AD FS)====
После выполнения всех настроек, описанных выше, активируйте синхронизацию с AD в системе ADVANTA.
Для этого под учетными данными администратора системы:
- перейти в пункт меню «Администрирование» -> «Общие настройки» -> «Настойки Active Directory»;
- в портлете «Настройки связи с Active Directory (с использованием службы ADFS)» установить чек-бокс в «Разрешить проверку учетных данных в Active Directory (с использованием службы ADFS)».
Далее, чтобы в систему можно было заходить под доменными учетными данными пользователей, нужно загрузить этих пользователей из AD. Здесь **два варианта:**
- Загрузка новых пользователей из AD в систему, в настройках Active Directory, после активации синхронизации, появится кнопка «Загрузить из Active Directory». С помощью этой кнопки можно загрузить всех необходимых пользователей в систему. В этом случае в системе создаются новые пользователи с привязкой к доменной учетной записи.
- Привязка уже существующего пользователя системы к AD. Для этого, под учетными данными администратора системы, нужно перейти в пункт меню «Команда в лицах» - «Список». Выбрать необходимого пользователя из списка и перейти в карточку редактирования этого пользователя, нажав левой кнопкой мыши по ссылке данного пользователя. В портлете «Учетная запись Active Directory» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.
Если сервер с системой не включен в домен, при нажатии кнопки «Загрузить из Active Directory» возникнет ошибка подключения к Active Directory. В этом случае необходимо нажать кнопку «учетная запись» и ввести в появившемся окне логин и пароль доменного пользователя. Логин должен вводиться в формате ''domain\user'' или ''user@domain.local''.
===== Мультидоменность (NTLM) =====
Использование зарезервированных символов XML в конфигурационном файле запрещено (& "<'>).
Мультидоменная авторизация позволяет проводить аутентификацию пользователей с помощью Active Directory, находящихся в различных доменах внутри организации. При этом **необходимо, чтобы сервер с системой находился в корневом домене**, а также наличие двусторонних транзитивных отношений между корневым и остальными доменами.
Мультидоменность работает по протоколу NTLM.
====Настройки на сервере IIS====
**1. Для авторизации на сервере через AD необходимо установить службу «Windows -- проверка подлинности» (''Windows Authentication'').**
- Открыть диспетчер сервера.
- Перейти в пункт «Роли».
- На вкладке «Службы ролей» нажать на кнопку «Добавить службы ролей».
- В пункте «Безопасность» включить пункт «Windows - проверка подлинности».
- Нажать «Далее».
- «Установить».
- Открыть диспетчер серверов.
- «Управление» -> «Добавить роли и компоненты».
- На шаге «Перед началом работы» нажать «Далее».
- На шаге «Тип установки» выбрать «Установка ролей или компонентов» и нажать «Далее».
- На шаге «Выбор сервера» выбрать текущий сервер.
- Перейти в пункт «Роль веб-сервера(IIS)» -> «Службы ролей».
- В пункте «Безопасность» включить пункт «проверка подлинности Windows».
- Нажать «Далее», затем "Установить".
После установки службы «Windows - проверка подлинности» откройте Диспетчер служб IIS:
- Перейти в раздел «Сайты» -> Default Web Site (сайт с установленной системой).
- Затем перейти в подраздел «Проверка подлинности» (в области просмотра возможностей).
- Включить компонент «Проверка подлинности Windows».
- Включить компонент «Анонимная проверка подлинности».
- Все остальные компоненты выключить, если они включены.
**2. Настройка client.config:**
* добавляем теги в '''':
* добавляем тег в корень после тега '''':
где:
* значение "Имя домена" -- любое понятное имя домена, которое будет использоваться в дереве при загрузке пользователей из каталога;
* значение "Логин пользователя" -- логин любого пользователя того домена, от куда будет производиться загрузка пользователей;
* значение "Пароль" -- пароль пользователя, логин которого использовался в значении "Логин пользователя" (выше);
* значение "%%LDAP://Адрес LDAP%%" -- адрес службы LDAP (например: ''%%LDAP://192.168.0.200:389%%'' или ''%%LDAP://domain.local:389%%'').
Для добавления нескольких доменов нужно добавить соответствующее количество строк, начинающихся с тега "add name...".
{{:product:settings:ntlm_client.zip|Ссылка на пример файла Client.config с настройками интеграции под NTLM}}
==== Настройка рабочих станций ====
Добавить систему в раздел Местная интрасеть (Свойства браузера -> Безопасность -> Местная интрасеть -> Сайты -> Добавить сайт с адресом системы -> Закрыть).
==== Настройка интеграции с AD в системе (NTLM) ====
После выполнения всех вышеописанных настроек, необходимо активировать синхронизацию с AD в самой системе. Для этого под учетными данными администратора системы:
- перейти в пункт меню «Администрирование» -> «Общие настройки» -> «Настойки Active Directory»;
- в портлете «Настройки связи с Active Directory (с использованием NTLM)» поставить чек-бокс напротив «Разрешить проверку учетных данных в Active Directory (с использованием NTLM)» .
Далее, чтобы пользователи могли заходить в систему под своими доменными учетными записями, их нужно загрузить в систему из AD. Здесь **два варианта:**
- Загрузка новых пользователей из AD в систему, в настройках Active Directory, после активации синхронизации, появится кнопка «Загрузить из Active Directory». С помощью этой кнопки можно загрузить всех необходимых пользователей в систему. В этом случае в системе создаются новые пользователи с привязкой к доменной учетной записи.
- Привязка уже существующего пользователя системы к AD. Для этого, под учетными данными администратора системы, нужно перейти в пункт меню «Команда в лицах» - «Список». Выбрать необходимого пользователя из списка и перейти в карточку редактирования этого пользователя, нажав левой кнопкой мыши по ссылке данного пользователя. В портлете «Учетная запись Active Directory» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.