Indeed AM Messages Proxy
Indeed AM Messages Proxy (Messages Proxy) — это веб-приложение, которое работает на базе IIS. Messages Proxy предоставляет Web API для отправки OTP при помощи запуска внешних модулей (скрипты, бинарные исполняемые модули). В отличие от SMS Proxy, Messages Proxy не подключается к SMPP-шлюзу, а только запускает скрипты (любой исполняемый файл).
Файлы для установки
Файлы для установки Messages Proxy расположены в папке Indeed AM <Номер версии>\Indeed AM Messages Proxy:
- <Номер версии>\IndeedAM.Proxies.Messages-<номер версии>.x64.ru-ru.msi — пакет для установки Indeed AM Messages Proxy x64 версии;
- <Номер версии>\IndeedAM.Proxies.Messages-<номер версии>.x86.ru-ru.msi — пакет для установки Indeed AM Messages Proxy x86 версии.
Установка
- Выполните установку Indeed AM Messages Proxy через запуск соответствующего пакета.
- После завершения установки может потребоваться перезагрузка системы. Если программа установки предлагает выполнить перезагрузку, подтвердите данное действие.
- Удаление/Восстановление продукта осуществляется стандартным для поддерживаемых ОС способом через меню Панель управления.
Редактирование конфигурационного файла
Откройте конфигурационный файл app-settings.Production.json из папки C:\inetpub\wwwroot\am\proxies\messages.
В поле
Scripts
укажите следующие значения:Path
— путь к программе, через которую запускается скрипт,Arguments
— параметры запуска скрипта, включая путь к скрипту,Timeout
— время, по истечении которого Messages Proxy вернёт ошибку, если скрипт не выполнится. Значение по умолчанию — 00:00:20 (20 секунд).
В поле
Scripts
можно добавить более одного скрипта, для этого нужно через запятую указать несколько блоков с параметрами для каждого скрипта. Также можно задать очередность запуска скриптов — последовательный (Sequential
) и одновременный (Parallel
) запуск. Если этот параметр не задан, то используется значение по умолчанию —Sequential
.В поле
LoggingPermissions
укажите параметры, которые определяют информацию для логирования. Возможные параметры:Source
— отправитель сообщения,Destination
— получатель сообщения,Error
— ошибки выполнения скрипта,Output
— сообщения при выполнении скрипта,None
(значение по умолчанию) — скрываются значения всех логируемых полей,All
— показываются значения всех логируемых полей.
Например, если в
LoggingPermissions
указан параметрSource
, то отправитель сообщения логируется (не скрывается). Все остальные параметры скрываются и заменяются на ****.Поле
Publication
включает опциональный параметрDefaultSource
, содержащий имя отправителя SMS по умолчанию.В поле
Authentication": { "Certificate": { "Thumbprint": "" } }
укажите отпечаток сертификата, по которому провайдер (SMS или Storage SMS) может быть аутентифицирован в Messages Proxy для отправки сообщений. Возможно использовать несколько сертификатов от нескольких клиентов, в таком случае поле будет называться"Thumbprints"
.
Пример конфигурационного файла
{
"MessagesProxy": {
"Scripts": [
{
"Path": "C:\\Windows\\system32\\cmd.exe",
"Arguments":
[
"/c", "C:\\inetpub\\wwwroot\\am\\proxies\\messages\\script.bat",
"{0:Source}",
"{0:Content}",
"{0:Phone}",
"{0:RawObjectId}",
"{0:Sid}",
"{0:DistinguishedName}",
"{0:PrincipalName}",
"{0:SamCompatibleName}",
"{0:Email}",
"{0:CustomParameter}"
],
"Timeout": "00:00:10"
}
],
"LoggingPermissions": "Source"
},
"Publication": {
"DefaultSource": "Indeed sender"
},
"Documentation": {
"Enabled": false
},
"Debug": {
"ExceptionResponsesEnabled": false
},
"Authentication": {
"Certificate": {
"Thumbprint": "124b3c62f4da3ce8bb271dc4990e354d118daa0g"
}
},
"ReverseProxyIntegration": {
"BasePath": "/am/proxies/messages"
},
"Localization": {
"DefaultCulture": "en-US"
}
}
Скрипт
В файле со скриптом происходит чтение параметров, переданных из Messages Proxy. Параметры записываются в файл C:\temp\1.txt (fileName
).
При использовании Messages Proxy через SMS-провайдер OTP будет передаваться в параметре Content
.
Пример скрипта
set a_Source=%1 & Shift
set a_Content=%1 & Shift
set a_Phone=%1 & Shift
set a_RawObjectId=%1 & Shift
set a_Sid=%1 & Shift
set a_DistinguishedName=%1 & Shift
set a_PrincipalName=%1 & Shift
set a_SamCompatibleName=%1 & Shift
set a_Email=%1 & Shift
set a_CustomParameter=%1 & Shift
set fileName=C:\temp\1.txt
echo script1 > %fileName%
echo %time% >> %fileName%
echo Source = %a_Source% >> %fileName%
echo Content = %a_Content% >> %fileName%
echo Phone = %a_Phone% >> %fileName%
echo RawObjectId = %a_RawObjectId% >> %fileName%
echo Sid = %a_Sid% >> %fileName%
echo DistinguishedName = %a_DistinguishedName% >> %fileName%
echo PrincipalName = %a_PrincipalName% >> %fileName%
echo SamCompatibleName = %a_SamCompatibleName% >> %fileName%
echo Email = %a_Email% >> %fileName%
echo CustomParameter = %a_CustomParameter% >> %fileName%
echo timeout 2 s started >> %fileName%
timeout /t 2
echo timeout 2 s ended >> %fileName%
echo %time% >> %fileName%
Выбор типа подключения
Перед настройкой групповой политики добавьте шаблоны политик Indeed AM в список административных шаблонов. Файлы шаблонов политик входят в состав дистрибутива Messages Proxy и расположены в каталоге Misc.
- Через GPO
- В реестре
Политика Выбор типа подключения для провайдера применяется к серверам Indeed AM и предназначена для выбора типа подключения Core Server (с помощью провайдера SMS OTP или Storage SMS OTP) к SMS-шлюзу.
Откройте политику Выбор типа подключения для провайдера. Политика расположена по следующему пути: Административные шаблоны→Indeed-ID→Id Providers→SMS OTP.
Установите значение политики Включено.
В параметрах выберите опцию Прокси сообщений для Messages Proxy.
- Откройте редактор реестра на сервере Indeed AM.
- Откройте раздел HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Indeed-ID\BSPs\SMSOTP.
- Создайте параметр SmsSenderType с типом DWORD со значением 6.
Настройки типа подключения
- Через GPO
- В реестре
Политика Настройки прокси сообщений применяется к серверам Indeed AM и определяет настройки типа подключения.
Откройте политику Настройки прокси сообщений. Политика расположена по следующему пути: Административные шаблоны→Indeed-ID→Id Providers→SMS OTP.
Установите значение политики Включено.
Задайте следующие параметры:
- URL — адрес подключения к серверу;
- Отправитель — имя отправителя, которое будет отображаться при получении сообщения;
- Дополнительный текст перед отправкой OTP — произвольный текст сообщения, предшествующий одноразовому паролю;
- Отпечаток сертификата клиента — сертификат провайдера, указанный в настройках конфигурационного файла Messages Proxy app-settings.Production.json (поле
Authentication": {"Certificate": { "Thumbprint": "" } }
); - Отпечаток сертификата сервера — сертификат Messages Proxy для работы по протоколу HTTPS (настраивается в IIS).
- Откройте редактор реестра на сервере Indeed AM.
- Откройте раздел HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Indeed-ID\BSPs\SMSOTP\MessagesProxy.
- Создайте следующие параметры:
- ClientCertificateThumbprint (REG_SZ) — сертификат провайдера, указанный в настройках конфигурационного файла Messages Proxy app-settings.Production.json (поле
Authentication": { "Certificate": { "Thumbprint": "" } }
); - From (REG_SZ) — имя отправителя, которое будет отображаться при получении сообщения;
- messageOTP (REG_SZ) — произвольный текст сообщения, предшествующий одноразовому паролю;
- ServerCertificateThumbprint (REG-SZ) — сертификат Messages Proxy для работы по протоколу HTTPS (настраивается в IIS);
- ServerUrl — адрес подключения к серверу.
- ClientCertificateThumbprint (REG_SZ) — сертификат провайдера, указанный в настройках конфигурационного файла Messages Proxy app-settings.Production.json (поле