Создание и настройка экземпляра Сервиса взаимодействия с DSS SDK (DssApiGateway, mDAG)
Данный раздел определяет последовательность действий при разворачивании и настройке экземпляра Сервиса взаимодействия с DSS SDK (mDAG).
Предварительные условия:
- Установленная роль Сервер приложений (IIS);
- Настроенная привязка https* на Сервере приложений (IIS);
- Установленный КриптоПро CSP (входит в комплект поставки);
Внимание!
Веб-сервер, на котором разворачивается mDAG, должен использовать сертификат, удовлетворяющий следующим требованиям:
- выдан аккредитованным УЦ либо УЦ
https://tlsca.cryptopro.ru/tls-center.htm
(только для мобильных приложений DSS Client и myDSS 2.0); - подписан с использованием алгоритма, определенного в ГОСТ Р 34.10-2012;
- содержит расширение Extended Key Usage со значением проверки подлинности сервера;
- содержит расширение Subject Alternative Name с указанием адреса сервера, на котором разворачивается mDAG.
Примечание
Экземпляр mDAG можно полноценно настроить, когда развернуты и настроены экземпляры остальных компонентов DSS.
Базовая последовательность шагов по настройке (обязательные):
1. Создание экземпляра службы mDAG (командлет New-MdagInstance).
На данном шаге будет создано веб-приложение на Сервере приложений IIS.
Пример:
New-MdagInstance -SiteName "Default Web Site" -DisplayName apigateway
2. Регистрация mDAG в качестве доверенной стороны на Центре Идентификации.
На данном шаге устанавливается отношение доверия между Центром Идентификации и Сервисом взаимодействия с DSS SDK. Для этого достаточно только зарегистрировать mDAG на ЦИ в качестве доверенной стороны:
Add-DssRelyingPartyTrust -Identities <mDAG_ID вида urn:cryptopro:dss:mdag:<Имя веб-приложения mDAG>> -Name <Отображаемое имя mDAG>
3. Настройка доступа к DSS через mDAG.
На данном шаге производится настройка доступа к DSS через mDAG с использованием протокола OpenID Connect 1.0.
Настройка осуществляется посредством ввода следующих команд:
# Регистрация прикладной системы (включает в себя регистрацию Oauth-клиента)
Add-MyDssSystem -DisplayName $STSAppName -Name <apigateway App Name> -MyDssAddress "https://<hostname>/<apigateway App Name>" -PushType None
# Настройка на mDAG доступа по OpenID Connect
$clientSecret = (Get-DssClientSecret -ClientId cryptopro.mydss.<apigateway App Name>).Value
Set-MdagProperties -ClientId cryptopro.mydss.<apigateway App Name> -ClientSecret $clientSecret
Примечание
Зарегистрированный clientSecret
действителен в течение 1 года с момента его регистрации. После его
истечения необходимо сгенерировать новый clientSecret
для прежнего клиента:
Set-DssClient -ClientId cryptopro.mydss.<apigateway App Name> -GenerateSecret
$clientSecret = (Get-DssClientSecret -ClientId cryptopro.mydss.<apigateway App Name>).Value
Set-DssFeOidcSettings -ClientId cryptopro.mydss.<apigateway App Name> -ClientSecret $clientSecret
4. Регистрация криптопровайдера для mDAG.
На данном шаге в экземпляре Центра Идентификации регистрируется криптопровайдер, который используется работы mDAG с закрытыми ключами Пользователей.
Пример регистрации криптопровайдера для КриптоПро CSP (для работы в тестовом режиме):
Add-DssCryptoProviderProfile -DisplayName <STSAppName> -Type MyDss -PrimaryProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -PrimaryProviderType 80 -Name "CryptoProfile for DSS SDK"
5. Настройка параметров взаимодействия с myDSS.
На данном шаге производится настройка параметров взаимодействия с myDSS. Полное описание параметров приведено в описании командлета Set-DssMyDssProperties. Для обеспечения базовой работоспособности mDAG необходимо следующее:
- задать на ЦИ адрес mDAG;
- задать режим работы SDK -
Strong
для создания УКЭП,Weak
для УНЭП; - настроить требование проверять уникальность отпечатка устройства Пользователя
-DeviceFingerprintRequired
-$true
или$false
.
Set-DssMyDssProperties -MyDssServiceUrl https://<hostname>/<mDAG App Name> -MyDssKeyProtectionType Strong -DeviceFingerprintRequired $true
Примечание
Режим работы SDK Weak
(параметр -MyDssKeyProtectionType
) может
использоваться только для создания усиленной неквалифицированной
электронной подписи.
6. Включение метода аутентификации.
На данном шаге производится включение метода аутентификации myDSS при помощи командлета Enable-DssAuthenticationMethod.
Enable-DssAuthenticationMethod -Uri "http://dss.cryptopro.ru/identity/authenticationmethod/mydss"
#ИЛИ
Enable-DssAuthenticationMethod -Id 16
7. Интеграция с компонентами DSS.
На данном шаге производится интеграция mDAG с другими компонентами DSS. Для этого Администратор должен настроить адреса всех необходимых сервисов при помощи командлета Set-MdagProperties.
Примечание
URL-адрес, используемый для интеграции с Центром Идентификации в параметре -IdpBaseAddress
,
является регистрозависимым. Получить точное имя экземпляра Центра Идентификации (Sts App Name
)
можно при помощи командлета Get-DssStsInstance
, строка ApplicationName
.
Необходимо проверить точное соответствие информации, задаваемой при помощи -IdpBaseAddress
.
Признаком ошибки в регистре символов имени экземпляра Центра Идентификации, является следующий ответ сервиса:
HTTP 403
{"error":"invalid_cert_id","errorDescription":"Message: Authorization has been denied for this request.","errorSource":"Mdag"}
# Интеграция с Центром Идентификации:
Set-MdagProperties -IdpBaseAddress <http://<hostname>/Sts App Name>
# Интеграция с Сервисом Подписи
Set-MdagProperties -SignServerBaseAddress <http://<hostname>/SignServer App Name>
# Интеграция с Сервисом Аудита
Set-MdagProperties -AnalyticsBaseAddress <http://<hostname>/Analytics App Name>
# Интеграция с Сервисом Обработки Документов
Set-MdagProperties -DocumentStoreBaseAddress <http://<hostname>/DocumentStore App Name>
Примечание
После внесения изменений в конфигурацию экземпляров необходимо перезапустить пулы их веб-приложения при помощи соответствующих команд.
Пример перезапуска:
# Перезапуск пула приложений mDAG:
Restart-MdagInstance -DisplayName <string>
# Перезапуск пула приложений Центра Идентификации:
Restart-DssStsInstance -DisplayName <string>
Дополнительные действия по настройке (опциональные):
Администратор DSS может настроить для mDAG ограничение размера получаемых сервером
сообщений при помощи параметра -MaxMessageSize
командлета Set-MdagEndpointGlobalSettings.
Значение задается в байтах и по умолчанию равно 5 Мбайт (2147482624 байт).
Set-MdagEndpointGlobalSettings -MaxMessageSize 2147482624