====== Руководство по настройке интеграции с 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» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.