Пример PowerShell-сценария для настройки компонента «Сервис взаимодействия с DSS SDK (myDssApiGateway, mDAG)»
Данный сценарий выполняет минимально необходимую настройку экземпляра компонента «Сервис взаимодействия с DSS SDK (myDssApiGateway, mDAG)».
# Создание нового экземпляра mDAG:
New-MdagInstance -SiteName "Default Web Site" -DisplayName apigateway
# Настройка отношений доверия с Центром Идентификации
Add-DssRelyingPartyTrust -Identities <mDAG_ID вида urn:cryptopro:dss:mdag:<apigateway App Name>> -Name <Отображаемое имя mDAG>
# Регистрация прикладной системы (включает в себя регистрацию 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
# Регистрация криптопровайдера
Add-DssCryptoProviderProfile -DisplayName <STSAppName> -Type MyDss -PrimaryProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -PrimaryProviderType 80 -Name "CryptoProfile for DSS SDK"
# Настройка взаимодействия mDAG с myDSS:
Set-DssMyDssProperties -MyDssServiceUrl https://<hostname>/<mDAG App Name> -MyDssKeyProtectionType Strong -DeviceFingerprintRequired $true
# Включение метода аутентификации:
Enable-DssAuthenticationMethod -Uri "http://dss.cryptopro.ru/identity/authenticationmethod/mydss"
ИЛИ
Enable-DssAuthenticationMethod -Id 16
# Интеграция с Центром Идентификации:
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>
# Подключение Сервиса Обработки Операций
$connInfo = New-DssSqlConnectionInfo -ServerName .\SQLServer -DatabaseName <OperationServiceDbName>
Connect-DssOperationStore -ConnectionInfo <$connInfo> -DisplayName <SignServer AppName>
Connect-DssStsOperationStore -ConnectionInfo <$connInfo> -DisplayName <STS AppName>
# Перезапуск пула приложений mDAG:
Restart-MdagInstance -DisplayName <string>
# Перезапуск пула приложений Центра Идентификации:
Restart-DssStsInstance -DisplayName <string>
Дополнительные настройки
# Смена Client Secret:
Set-DssClient -ClientId cryptopro.dss.mydss.<apigateway App Name> -GenerateSecret
$clientSecret = (Get-DssClientSecret -ClientId cryptopro.dss.mydss.<apigateway App Name>).Value
Set-MdagProperties -ClientId cryptopro.dss.mydss.<apigateway App Name> -ClientSecret $clientSecret
# Настройка ограничения размера получаемых сообщений на веб-сервере:
Set-MdagEndpointGlobalSettings -MaxMessageSize 2147482624