Создание и настройка экземпляров myDSS
Данный раздел определяет последовательность действий при разворачивании и настройке экземпляров модуля аутентификации myDSS.
Предварительные условия:
- Установленный SQL-Server;
- Установленная роль Сервер приложений (IIS);
- Настроенная привязка https на Сервере приложений (IIS);
- Доступность адресов PUSH-серверов с сервера, где будет разворачиваться экземпляр Сервиса взаимодействия с мобильным приложением myDSS.
- Наличие ключей доступа к PUSH-серверам (если необходимо).
- Установленный и настроенный экземпляр Центра Идентификации.
Примечание
Возможные PUSH-серверы:
- Firebase Cloud Messaging Server. URL:
https://fcm.googleapis.com/fcm/send
- Apple Push Notification Service. Необходимо открыть доступ TCP на
gateway.push.apple.com:2195
иfeedback.push.apple.com:2196
.
Примечание
Для отправки PUSH-уведомлений на устройства Apple требуется сертификат с клиентской
аутентификацией на Apple Push Notification Service. Получить данный сертификат можно по запросу
на dsssupport@cryptopro.ru
.
Для отправки PUSH-уведомлений на устройства Android требуется получить ключ доступа к Firebase
Cloud Messaging Server. Получить данный ключ можно по запросу на dsssupport@cryptopro.ru
.
Для отправки PUSH-уведомлений на устройства Huawei требуется получить ключ доступа и идентификатор ключа
к HMS Push Kit. Получить данный ключ можно по запросу на dsssupport@cryptopro.ru
.
Базовая последовательность шагов по настройке (обязательные):
1. Создание экземпляра Сервиса взаимодействия с ЦИ (командлет New-MyDssServerInternalInstance).
На данном шаге будет создано веб-приложение на Сервере приложений IIS, развёрнуты базы данных, зарегистрированы журналы Windows.
2. Создание экземпляра Сервиса взаимодействия с мобильным приложением myDSS (командлет New-MyDssServerExternalInstance).
На данном шаге будет создано веб-приложение на Сервере приложений IIS, развёрнуты базы данных, зарегистрированы журналы Windows, создана служба КриптоПро myDSS (External Service).
Примечание
Необходимо переключить в режим автоматического запуска службу КриптоПро myDSS (External Service).
3. Регистрация криптопровайдеров.
На данном шаге в экземпляре Сервиса взаимодействия с ЦИ регистрируется криптопровайдер, который используется для выработки векторов аутентификации Пользователей.
Примечание
Зарегистрированное имя криптопровайдера в системе предопределено заранее. Его можно увидеть в документации поставщика криптопровайдера. Для продуктов КриптоПро:
- КриптоПро HSM:
Crypto-Pro GOST R 34.10-2012 HSM Svc CSP
- КриптоПро CSP (только для тестирования КриптоПро DSS):
Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
4. Настройка Сервиса взаимодействия с ЦИ.
На данном шаге выполняется настройка экземпляра Сервиса взаимодействия с ЦИ. Настройка осуществляется при помощи командлета Set-MyDssServerInternalProperties. Необходимо выполнить следующие действия:
- Задание адреса сервиса рассылки PUSH-уведомлений - при помощи параметра
InteractionPushServiceAddress
. - Задание адреса сервиса, с которым связывается мобильное приложение - при помощи параметра
InteractionServiceAddress
.
Примечание
В параметре –InteractionServiceAddress
задается адрес сервиса InteractionService
, который
записывается в QR-код, несущий ключевую информацию. Данный адрес будет использован для
связи мобильного приложения с Сервисом взаимодействия с мобильным приложением myDSS,
поэтому адрес должен быть доступен из сети Интернет.
4a. Задание на ЦИ КриптоПро DSS адреса Сервиса взаимодействия с ЦИ - при помощи командлета Set-DssMobileAuthProperties.
Пример минимально необходимой настройки данного адреса:
Set-DssMobileAuthProperties -DisplayName <Имя экземпляра ЦИ> -ServiceAddress "http://localhost/MyDssServerInternal/service.svc"
4b. Задание на ЦИ КриптоПро DSS адреса ЦИ, куда возвращается результат подтверждения операций из мобильного приложения.
Set-DssMobileAuthProperties -DisplayName <Имя экземпляра ЦИ> -CallbackUriPrefix "https://<hostname>/<STSappname>"
5. Настройка Сервиса взаимодействия с мобильным приложением myDSS.
На данном шаге выполняется настройка экземпляра Сервиса взаимодействия с мобильным приложением myDSS. Необходимо выполнить следующие действия:
- Задание адреса Сервиса взаимодействия с ЦИ.
Настройка осуществляется при помощи параметра -ServiceAddress
командлета
Set-MyDssInteractionServiceProperties.
- Настройка взаимодействия с серверами рассылки PUSH-уведомлений (Apple Push Notification Service, Firebase Cloud Messaging Server, Huawei Mobile Services).
Настройка осуществляется при помощи указания всех необходимых параметров командлета Set-MyDssPushServiceProperties.
#Задание адреса Сервиса взаимодействия с мобильным приложением myDSS
Set-MyDssServerInternalProperties -DisplayName MyDssServerInternal -InteractionServiceAddress "http://<hostname>/MyDssServerExternal/InteractionService.svc"
#Задание на ЦИ КриптоПро DSS адреса Сервиса взаимодействия с ЦИ и адреса ЦИ, куда возвращается результат подтверждения операций из мобильного приложения
Set-DssMobileAuthProperties -DisplayName <Имя экземпляра ЦИ> -ServiceAddress "http://<hostname>/MyDssServerInternal/service.svc" -CallbackUriPrefix "https://<hostname>/<STSappname>"
Примечание
После внесения изменений в конфигурацию экземпляра необходимо перезапустить пул веб-приложения при помощи
соответствующей команды. Также может потребоваться ручной перезапуск
службы КриптоПро myDSS (External Service)
.
6. Настройка плагина для отправки оповещений
Модуль аутентификации myDSS может оповещать интегрируемую систему о результате подтверждения операции в мобильном приложении, отправляя в интегрируемую систему соответствующие сообщения. Для настройки такого оповещения необходимо зарегистировать сооветствующие плагин и модуль оповещения.
# Настройка транспортного плагина
$plugin = Add-DssStsPlugin -PluginTypeName "CryptoPro.DSS.Identity.Authentication.Notification.HttpTransportPlugin,CryptoPro.DSS.Identity.Authentication.Notification" -PluginType AuthenticationResult -Settings @{}
# Добавление модуля оповещения
Add-DssStsNotifier -TransportPluginID $plugin.ID -NotifierType AuthenticationResultCallback -Settings @{}
ID плагинов присваиваются автоматически после их добавления.