Создание и настройка экземпляра Сервиса взаимодействия с DSS SDK (myDssApiGateway, mDAG)
Данный раздел определяет последовательность действий при разворачивании и настройке экземпляра Сервиса взаимодействия с DSS SDK (mDAG).
Предварительные условия:
- Установленная роль Сервер приложений (IIS);
- Настроенная привязка https* на Сервере приложений (IIS);
- Установленный КриптоПро CSP (входит в комплект поставки);
Внимание!
Веб-сервер, на котором разворачивается mDAG, должен использовать сертификат, соответствующий ГОСТ Р 34.10-2012.
Примечание
Экземпляр mDAG можно полноценно настроить, когда развернуты и настроены экземпляры остальных компонентов DSS.
Базовая последовательность шагов по настройке (обязательные):
1. Создание экземпляра службы mDAG (командлет New-MdagInstance).
На данном шаге будет создано веб-приложение на Сервере приложений IIS.
Пример:
New-MdagInstance -SiteName "Default Web Site" -DisplayName apigateway
2. Настройка доступа к DSS через mDAG.
На данном шаге производится настройка доступа к DSS через mDAG с использованием протокола OpenID Connect 1.0.
Настройка осуществляется посредством ввода следующих команд:
# Настройка на Центре Идентификации доступа по OpenID Connect
Add-DssClient -Identifier cryptopro.dss.mydss.<apigateway App Name> -Name "<myDSS API Gateway>" -Description "<myDSS API Gateway OAuth client description>" -AllowedFlow MyDssAssertion,ClientCredentials -GenerateSecret
# Настройка на mDAG доступа по OpenID Connect
$clientSecret = (Get-DssClientSecret -ClientId cryptopro.dss.mydss.<apigateway App Name>).Value
Set-MdagProperties -ClientId cryptopro.dss.mydss.<apigateway App Name> -ClientSecret $clientSecret
Примечание
Зарегистрированный clientSecret
действителен в течение 1 года с момента его регистрации. После его
истечения необходимо сгенерировать новый clientSecret
для прежнего клиента:
Set-DssClient -ClientId cryptopro.dss.mydss.<apigateway App Name> -GenerateSecret
$clientSecret = (Get-DssClientSecret -ClientId cryptopro.dss.mydss.<apigateway App Name>).Value
Set-DssFeOidcSettings -ClientId cryptopro.dss.mydss.<apigateway App Name> -ClientSecret $clientSecret
3. Регистрация криптопровайдера для 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"
4. Настройка параметров взаимодействия с 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
) может
использоваться только для создания усиленной неквалифицированной
электронной подписи.
Дополнительно для сценария инициализации мобильного устройства при помощи QR-кода с начальным вектором аутентификации (см. раздел 5.3 документа "ЖТЯИ.00096-02 96 02 КриптоПро DSS. Общее описание") можно настроить защиту начального вектора аутентификации при помощи кода активации, передаваемого в SMS- или Email-сообщении. Для этого необходимо выполнить следующие настройки:
# Для Пользователя
Set-DssMyDssProperties -KeyInfoDivideByUserRequired 1
# Для Оператора
Set-DssMyDssProperties -KeyInfoDivideRequired 1
# Установка длины кода активации 8 символов
Set-DssMyDssProperties -SecondKeyPartLength 8
5. Включение метода аутентификации.
На данном шаге производится включение метода аутентификации myDSS при помощи командлета Enable-DssAuthenticationMethod.
Enable-DssAuthenticationMethod -Uri "http://dss.cryptopro.ru/identity/authenticationmethod/mydss"
ИЛИ
Enable-DssAuthenticationMethod -Id 16
6. Интеграция с компонентами DSS.
На данном шаге производится интеграция mDAG с другими компонентами DSS. Для этого Администратор должен настроить адреса всех необходимых сервисов при помощи командлета Set-MdagProperties.
# Интеграция с Центром Идентификации:
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>
7. Подключение Сервиса Обработки Операций.
На данном шаге производится подключение Сервиса Обработки Операций к Сервису Подписи и Центру Идентификации.
# Подключение Сервиса Обработки Операций
Connect-DssOperationStore -ConnectionInfo <$connInfo> -DisplayName <SignServer AppName>
Connect-DssStsOperationStore -ConnectionInfo <$connInfo> -DisplayName <STS AppName>
В параметр -ConnectionInfo
можно поместить переменную, в которой находится результат
заполнения структуры SQLConnectionInfo
,
используемой при разворачивании БД компонентов DSS.
Пример:
$connInfo = New-DssSqlConnectionInfo -ServerName .\SQLServer -DatabaseName <OperationServiceDbName>
Внимание!
В параметре -ConnectionInfo
должны быть параметры подключения к одной и той же ранее
созданной БД Сервиса Обработки Операций. Подробнее развертывание БД описано в соответствующем
разделе.
Примечание
После внесения изменений в конфигурацию экземпляров необходимо перезапустить пулы их веб-приложения при помощи соответствующих команд.
Пример перезапуска:
# Перезапуск пула приложений mDAG:
Restart-MdagInstance -DisplayName <string>
# Перезапуск пула приложений Центра Идентификации:
Restart-DssStsInstance -DisplayName <string>
Дополнительные действия по настройке (опциональные):
Администратор DSS может настроить для mDAG ограничение размера получаемых сервером
сообщений при помощи параметра -MaxMessageSize
командлета Set-MdagEndpointGlobalSettings.
Значение задается в байтах и по умолчанию равно 5 Мбайт (2147482624 байт).
Set-MdagEndpointGlobalSettings -MaxMessageSize 2147482624