Indeed Mobile Device Provisioning
Когда пользователь настраивает почтовый аккаунт на новом устройстве через Exchange ActiveSync, устройство автоматически попадает в карантин. Чтобы начать получать почту, необходимо вывести устройство из карантина. Сделать это можно с помощью модуля Indeed Mobile Device Provisioning (MDP).
Чтобы настроить модуль Indeed Mobile Device Provisioning:
- Создайте и настройте сервисную учетную запись для взаимодействия MDP и Active Directory.
- Установите модуль с помощью MSI-пакета.
- Зарегистрируйте лицензию модуля в Management Console.
- Выполните настройки в Internet Information Services (IIS).
- Экспортируйте сертификаты модуля и IDP.
- Отредактируйте конфигурационный файл модуля.
- Настройте аутентификацию через Identity Provider.
- Настройте отображение вкладки в User Console.
- При необходимости включите логирование.
Создание и настройка сервисной учетной записи
Модуль Indeed Mobile Device Provisioning обращается к Active Directory через сервисную учетную запись, чтобы сформировать список устройств в карантине. От имени этой учетной записи происходит поиск по электронному адресу пользователя.
Чтобы настроить сервисную учетную запись:
В Active Directory создайте сервисную учетную запись.
Откройте панель управления Exchange (ECP).
В разделе Разрешения на вкладке Роли администраторов нажмите
, чтобы создать новую группу ролей.
В открывшемся окне задайте следующие настройки:
В поле Имя введите название группы.
В разделе Роли добавьте:
- Mail Recipients — роль для получения данных по устройствам.
- Mailbox Search — роль для получения электронного адреса. Если этой роли не будет, то под сервисной учетной записью можно будет получить только свой электронный адрес.
- Organization Client Access — роль для предоставления доступа к устройству и для его блокировки.
В разделе Участники добавьте созданную ранее сервисную учетную запись.
Нажмите Сохранить.
Установка модуля
Запустите IndeedAM.MobileDevProv-<номер версии>.x64.ru-ru.msi, расположенный по пути Indeed AM <номер версии>/Indeed AM Mobile Device Provisioning/<номер версии>.
Когда установка завершится, система предложит сгенерировать и установить клиентский сертификат модуля для аутентификации MDP в Identity Provider.
Настройки в Internet Information Services
После установки выполните следующие настройки в Internet Information Services:
- добавьте сервисную учетную запись в удостоверение пула приложений;
- измените версию среды CLR.
Добавление сервисной учетной записи
Чтобы добавить сервисную учетную запись в пул приложений, выполните следующее:
- Откройте Диспетчер служб IIS.
- В левом меню Подключения разверните узел, соответствующий вашему серверу Indeed Access Manager.
- Выберите Пулы приложений.
- В списке выберите IndeedAM.MDP. В меню справа выберите Изменить пул приложений → Дополнительные параметры.
- В окне Дополнительные параметры в разделе Модель процесса выберите Удостоверение и нажмите
.
- В окне Удостоверение пула приложений выберите Особая учетная запись, введите имя пользователя в формате
UserPrincipalName(например,admin@indeed.local) илиSamCompatibleName(например,INDEED\admin) и пароль для созданной сервисной записи Active Directory. - Нажмите ОК. Окно Удостоверение пула приложений закроется.
- В окне Дополнительные параметры в разделе Модель процесса выберите Загрузить профиль пользователя. В выпадающем списке выберите значение True.
- Сохраните изменения.
Изменение версии среды CLR
Чтобы изменить версию среды CLR:
- Откройте Диспетчер служб IIS.
- В левом меню Подключения разверните узел, соответствующий вашему серверу Indeed Access Manager.
- Выберите Пулы приложений.
- В списке выберите IndeedAM.MDP. В меню справа выберите Изменить пул приложений → Основные настройки.
- В окне Изменение пула приложений в выпадающем списке Версия среды CLR.NET выберите Без управляемого кода.
- Нажмите ОК.
Экспорт сертификатов
Для корректной работы аутентификации экспортируйте сертификаты: сертификат модуля MDP необходимо разместить на сервере с Access Manager, а сертификат Identity Provider — на сервере с MDP.
Экспорт сертификата MDP
Чтобы экспортировать сертификат MDP на сервер с AM:
- Перейдите на сервер с установленным модулем MDP.
- Откройте Диспетчер сертификатов и раскройте левое меню: Личное → Сертификаты.
- Правой кнопкой мыши нажмите на сертификат mdpsp и выберите Все задачи → Экспорт.
- Выберите экспортирование с открытым ключом и нажмите Далее.
- Следуя подсказкам, сохраните сертификат на локальный компьютер.
- Полученный сертификат с расширением .cer перенесите на хост с Access Manager в директорию am/ssl/saml_certs.
Экспорт сертификата IDP
Чтобы экспортировать сертификат IDP на сервер с MDP:
- Перейдите на сервер с установленным Access Manager.
- Скопируйте сертификат am/ssl/saml_certs/idp.pfx на сервер с MDP.
- На сервере с AM откройте файл am/idp/app-settings.json.
- В блоке
PartnerServiceProviderCongigurationsнайдите параметрPasswordи сохраните значение. Это пароль от сертификата IDP. - Перейдите на сервер с установленным модулем MDP.
- Откройте скопированный сертификат idp.pfx с помощью Мастера импорта сертификатов и выберите Локальный компьютер в качестве хранилища.
- В поле для пароля введите значение параметра
Password, полученное на шаге 4. - Следуя подсказкам, завершите установку сертификата.
Настройка конфигурации модуля
Откройте конфигурационный файл MDP C:\inetpub\wwwroot\am\mdp\app-settings.json и внесите изменения:
В блоке
Exchangeв параметреServerUrlукажите адрес подключения к удаленному серверу PowerShell Exchange в формате https://полное_dns_имя_сервера/Powershell.Пример
"Exchange": {
"ServerUrl": "https://exchange.indeed-test.com/Powershell"В панели управления Exchange откройте раздел Серверы и перейдите на вкладку Виртуальные каталоги. Проверьте свойства в PowerShell (Default Web Site) и убедитесь, что указанный в конфигурационном файле адрес совпадает с внутренним URL-адресом.
В блоке
Serverв параметреUrlукажите адрес Log Server в формате https://полное_dns_имя_сервера/ls/api/.Пример
"Server": {
"Url": "https://amcore.indeed-test.com/ls/api/"Если вы используете собственный клиентский сертификат, добавьте в блок
ServerразделCertificateи в параметреThumbprintукажите отпечаток сертификата.Пример
"Server": {
"Url": "https://amcore.indeed-test.com/ls/api/"
"Certificate": {
"Thumbprint": "0b914870f6e6ab82dcc17bf8146b4945c49cca",
"FilePath": "",
"FilePassword": ""
}
}В блоке
SAMLнастройте подключение к Identity Provider:в секции
LocalServiceProviderConfigurationв параметреThumbprintукажите отпечаток сертификата MDP. Чтобы получить отпечаток сертификата, введите команду:Get-Childitem Cert:\LocalMachine\My\ | Where-Object {$_.Subject -eq "CN=mdpsp"}в секции
PartnerIdentityProviderConfigurationsукажите значения для параметров:SingleSignOnServiceUrl— адрес Single SignOn Service в формате https://полное_dns_имя_сервера/am/idp/Account/SsoService;SingleLogoutServiceUrl— адрес Single Logout Service в формате https:// полное_dns_имя_сервера/am/idp/Account/SloService;Thumbprint— отпечаток сертификата Identity Provider.Чтобы получить отпечаток сертификата, на сервере с AM перейдите в директорию
am/ssl/saml_certs, где находится сертификат idp.pfx. Введите команду:Get-ChildItem Cert:\LocalMachine\My\ | Where-Object { $_.Subject -like "CN=idp" }Команда выведет значение отпечатка сертификата.
ПримечаниеОтпечаток сертификата можно также посмотреть через графический интерфейс.
Откройте Диспетчер сертификатов, раскройте в левом меню Личное → Сертификаты и откройте данные о сертификате idp.pfx.
Во вкладке Состав нажмите Отпечаток и скопируйте значение.
Пример
"SAML": {
"Configurations": [
{
"LocalServiceProviderConfiguration": {
"Name": "urn:indeedid:mobiledeviceprovisioning",
"AssertionConsumerServiceUrl": "Account/AssertionConsumerService",
"LocalCertificates": [
{
"Thumbprint": "3FD40F59795C9F5977E33E18FCE2D5BB27FDC65C"
}
]
},
"PartnerIdentityProviderConfigurations": [
{
"Name": "urn:indeedid:saml_idp",
"SingleSignOnServiceUrl": "https://amcore.indeed-test.com/am/idp/Account/SsoService",
"SingleLogoutServiceUrl": "https://amcore.indeed-test.com/am/idp/Account/SLOService",
"PartnerCertificates": [
{
"Thumbprint": "D520DC2E6BEDB1400526842CA88485FFB2F8D757"
}Сохраните все изменения и перезагрузите пул приложения MDP в IIS.
Настройка аутентификации через Identity Provider
Для Indeed Mobile Device Provisioning предусмотрена двухфакторная аутентификация через Identity Provider. Если пользователь прошел аутентификацию в User Console, он автоматически проходит аутентификацию в модуль.
Поддерживается совместная работа с Identity Provider 8.
Как установить и настроить Identity Provider
Чтобы настроить аутентификацию в MDP:
Откройте конфигурационный файл Identity Provider am/idp/app-settings.json.
Внесите следующие изменения:
- В блоке
CustomAttributesв параметреServiceProviderукажите urn сервиса MDP и атрибуты пользователя из AD. Для параметраUserNameFormatдопустимы следующие форматы:PrincipalNameSamCompatibleNameCanonicalNameDistinguishedNameNameEmail
Пример
"CustomAttributes": [
{
"ServiceProvider": "urn:indeedid:mobiledeviceprovisioning",
"Attributes": [
{
"Name": "user_name",
"UserNameFormat": "PrincipalName"
}- В блоке
LoginFormatsдобавьте секцию со следующими параметрами:- в
ServiceProviderукажите urn сервиса MDP; - в
InLoginFormatукажите формат входящего логина; - в
OutLoginFormatукажите формат исходящего логина.
- в
Пример
"LoginFormats": [
{
"ServiceProvider": "urn:indeedid:mobiledeviceprovisioning",
"InLoginFormat": "Name",
"OutLoginFormat": "PrincipalName"
}- В блоке
SAMLв секциюPartnerServiceProviderConfigurationsдобавьте блок:
{
"Name": "urn:indeedid:mobiledeviceprovisioning",
"SingleLogoutServiceUrl": "https://amcore.indeed-test.com/am/mdp/Account/SLOService",
"PartnerCertificates": [
{
"FileName": "/opt/am/idp/certificates/mdpsp.cer"
}
]
},где:
в параметре
SingleSignOnServiceUrlукажите адрес модуля MPD в формате https://полное_dns_имя_сервера/am/mdp/Account/SLOService;в параметре
PartnerCertificatesукажите путь к сгенерированному при установке сертификату MDP в формате .cer .
Пример
"SAML": {
"$schema": "https://www.componentspace.com/schemas/saml-config-schema-v1.0.json",
"Configurations": [
{
"LocalIdentityProviderConfiguration": {
"Name": "urn:indeedid:saml_idp",
"SingleSignOnServiceUrl": "https://amcore.indeed-test.com/am/idp/Account/SsoService",
"LocalCertificates": [
{
"Thumbprint": "D520DC2E6BEDB1400526842CA88485FFB2F8D757"
}
]
},
"PartnerServiceProviderConfigurations": [
{
"Name": "urn:indeedid:selfservice",
"SingleLogoutServiceUrl": "https://amcore.indeed-test.com/am/uc/Account/SLOService",
"PartnerCertificates": [
{
"Thumbprint": "DE67FAABC02FC39BB640B99108918481A3C280EC"
}
]
},
{
"Name": "urn:indeedid:emc",
"SingleLogoutServiceUrl": "https://amcore.indeed-test.com/am/mc/Account/SLOService",
"PartnerCertificates": [
{
"Thumbprint": "17BE639E90FA69A5C0F9241E5B0BE6A826604D9C"
}
]
},
{
"Name": "urn:indeedid:mobiledeviceprovisioning",
"SingleLogoutServiceUrl": "https://amcore.indeed-test.com/am/mdp/Account/SLOService",
"PartnerCertificates": [
{
"FileName": "/opt/am/idp/certificates/mdpsp.cer",
}
]
},- Если User Console и Identity Provider находятся на разных хостах и у них разные доменные имена, в блоке
ContentSecurityPolicyдобавьте параметрFrameAncestors. Укажите в нем адрес User Console в формате https://полное_dns_имя_сервера:
Пример
"ContentSecurityPolicy": {
"FrameAncestors" : {
"From": [
"https://uc.indeed-test.com"
]
}
},- В блоке
Сохраните все изменения и перезапустите контейнер с IDP.
Настройка отображения модуля в User Console
Модуль представляет собой дополнительную вкладку в User Console — Мобильные устройства Exchange. В ней пользователь может самостоятельно вывести устройство из карантина. По умолчанию модуль Indeed Mobile Device Provisioning не отображается отдельной вкладкой в User Console.
Чтобы настроить отображение модуля:
Откройте конфигурационный файл User Console am/uc/app-settings.json.
В блоке
MobileDeviceProvisioningвнесите следующие изменения:- в параметре
IsEnabledукажите значениеtrue, чтобы настроить отображение вкладки в User Console; - в параметре
Urlукажите адрес сервера с установленным модулем MDP в формате https://полное_dns_имя_сервера/am/mdp/device/embed.
"MobileDeviceProvisioning": {
"IsEnabled": true,
"Url": "https://mdp.indeed-test.com/am/mdp/device/embed"
},- в параметре
В блоке
ContentSecurityPolicyв параметреFrameSrcукажите адрес сервера с установленным модулем MDP в формате https://полное_dns_имя_сервера.Пример
"ContentSecurityPolicy": {
"FormAction": {
"From": []
},
"FrameSrc" : {
"From": [
"https://mdp.indeed-test.com"
]
}
},Если User Console и Identity Provider находятся на разных хостах и у них разные доменные имена, в параметре
FrameSrcукажите оба адреса.Пример
"ContentSecurityPolicy": {
"FormAction": {
"From": []
},
"FrameSrc" : {
"From": [
"https://mdp.indeed-test.com",
"https://idp.indeed-test.com"
]
}
},Настройте Content Security Policy.
Откройте файл am/.env и в параметре
CUSTOM_SP_1укажите DNS-имя сервера, на котором установлен модуль MDP. Если в параметре заданы другие настройки, задайте значение для следующего пустогоCUSTOM_SP.Пример
CUSTOM_SP_1=mdp.indeed-test.com
Сбор логов
Информация по включению логирования и сбору логов компонента MDP находится в разделе Сбор логов компонентов Access Manager.
В журнале событий Indeed AM отображаются следующие события работы модуля:
- пользователь успешно вывел мобильное устройство из карантина;
- не удалось вывести мобильное устройство из карантина;
- пользователь заблокировал мобильное устройство;
- не удалось заблокировать мобильное устройство.
Подробнее в разделе События.