Show / Hide Table of Contents

    Развертывание баз данных экземпляров компонентов

    Сервис Подписи, Центр Идентификации, Сервис Аудита, Сервис Обработки Документов и модуль аутентификации myDSS для своей работы требуют подключения к базам данных на SQL-сервере. Базы данных создаются при разворачивании экземпляров компонентов:

    • Центр Идентификации - командлет New-DssStsInstance,
    • Сервис Подписи - командлет New-DssSignServerInstance,
    • Сервис Аудита - командлет New-DssAnalyticsServiceInstance,
    • Сервис Обработки Документов - командлет New-DssDocumentStoreInstance,
    • Модуль аутентификации myDSS:
      • Сервис взаимодействия с ЦИ - командлет New-MyDssServerInternalInstance
      • Сервис взаимодействия с мобильным приложением myDSS - командлет New-MyDssServerExternalInstance,

    При этом существует два варианта размещения базы данных экземпляра компонента:

    • Локально - на том же сервере, что и экземпляр компонента;
    • Удаленно - кластер SQL-сервера AlwaysOn.

    Также в этом разделе:

    • Права доступа к удаленному SQL-серверу
    • Настройка параметров подключения к SQL-серверу
    • Развертывание экземпляров DSS в кластере
    • Примеры создания экземпляров DSS с настройкой подключения к БД

    Локальный SQL-сервер

    При разворачивании экземпляров DSS на локальном SQL-сервере в командлетах New-Dss...Instance достаточно указать имя SQL-сервера в параметре -SQLServerName.

    Пример:

    New-DssSignServerInstance -SiteName "Default Web Site" -ApplicationName SignServer -SQLServerName “.\SQLEXPRESS” –DisplayName SignServer
    

    При этом для возможности подключения экземпляров компонентов DSS к SQL будут созданы следующие учетные данные на SQL-сервере:

    1. Логин на уровне веб-сервера (соответствует имени пула приложений на IIS)
    2. Логин на уровне БД (соответствует имени пула приложений на IIS)

    Указанные учетные данные совпадают с именем пула приложений на IIS. Например, IIS AppPool/CryptoProDSS-1-STS.

    Примечание

    Администратор DSS, который разворачивает экземпляры компонентов, на SQL-сервере должен обладать следующими правами:

    • dbcreator,
    • securityadmin.

    Удаленный SQL-сервер

    При разворачивании экземпляров DSS на удаленном SQL-сервере вначале необходимо выбрать схему аутентификации:

    • учетные данные Windows;
    • учетные данные SQL Server.
    Примечание

    Управление доступом на уровне домена позволяет упростить администрирование учетных записей. По возможности рекомендуется использовать аутентификацию Windows.

    От типа выбранной аутентификации зависит набор параметров подключения к БД.

    Windows-аутентификация

    Примечание

    При аутентификации на удаленном SQL-сервере по учетным данным Windows сервера с экземплярами DSS и SQL-сервера должны находиться в одном домене Windows.

    В случае аутентификации на удаленном SQL-сервере по учетным данным Windows, необходимо перед разворачиванием создать для экземпляров DSS учетные записи в домене.

    Примечание

    Рекомендуется использовать gMSA (Group Managed Service Accounts) для учетных данных экземпляров в домене.

    Общее описание gMSA

    Пример настройки gMSA

    Разворачивание экземпляров DSS с Windows-аутентификацией на удаленном SQL-сервере производится при помощи командлета New-Dss...Instance(в зависимости от экземпляра компонента). При этом необходимо использовать параметр -ConnectionInfo, в который нужно передать параметры подключения к БД. Эти параметры заполняются при помощи командлета New-DssSql...ConnectionInfo (в зависимости от экземпляра компонента).

    Внимание!

    Необходимо учитывать наличие у Администратора DSS прав доступа к SQL-серверу.

    Описание структуры SqlConnectionInfo

    Параметры при создании экземпляра DSS с Windows-аутентификацией

    Примеры

    SQL-аутентификация

    Разворачивание экземпляров DSS с Windows-аутентификацией на удаленном SQL-сервере производится при помощи командлета New-Dss...Instance(в зависимости от экземпляра компонента). При этом необходимо использовать параметр -ConnectionInfo, в который нужно передать параметры подключения к БД. Эти параметры заполняются при помощи командлета New-DssSql...ConnectionInfo (в зависимости от экземпляра компонента).

    После выполнения командлета New-Dss...Instance на SQL-сервере будут созданы учетные записи с указанными данными.

    Внимание!

    Необходимо учитывать наличие у Администратора DSS прав доступа к SQL-серверу.

    Описание структуры SqlConnectionInfo

    Параметры при создании экземпляра DSS с SQL-аутентификацией

    Примеры

    Перед использованием командлетов в консоли PowerShell необходимо задать учетные данные Администратора DSS для подключения к SQL-серверу. Учетные данные передаются через параметры $DssAdmin, $DssAdminPwd.

    Права доступа к удаленному SQL-серверу

    Если у Администратора DSS есть права dbcreator и securityadmin на удаленном SQL-сервере, то разворачивание экземпляров DSS и их БД производится как это описано выше для Windows-аутентификации и SQL-аутентификации.

    Если у Администратора DSS нет прав dbcreator и securityadmin, то разворачивание экземпляров DSS и их БД состоит из следующих шагов:

    1. Администратор SQL-сервера создает заготовки БД на SQL-сервере. При этом необходимо создать на уровне SQL-сервера следующее:
    • логин для Администратора DSS. Администратор DSS должен быть включен в роль db_owner в созданных заготовках БД.
    • логины для экземпляров DSS.

    Имена БД по умолчанию представлены в таблице ниже.

    Компонент DSS Имя БД по умолчанию
    Сервис Аудита AnalyticsServiceDB
    Сервис Обработки Документов DocumentStoreDB
    Сервис Обработки Операций* DssOperationsDb
    Центр Идентификации IdentityServiceDB
    Сервис взаимодействия с мобильным приложением myDSS MyDssServerExternalDB
    Сервис взаимодействия с ЦИ (myDSS) MyDssServerInternalDB
    Сервис Подписи** SignatureServerCommonDB
    Сервис Подписи SignatureServerDB
    Примечание

    *Сервис Операций входит в состав и Сервиса Подписи, и Центра Идентификации. Соответственно, данная БД требуется в одном экземпляре для обоих компонентов.

    Сервис Подписи имеет 2 базы данных: SignatureServerCommonDB имеет **фиксированное имя и будет использоваться всеми развернутыми экземплярами Сервиса Подписи. Имена остальных БД можно изменять, оповестив об этом Администратора DSS.

    1. Администратор DSS создает экземпляры DSS с указанием имени БД и параметров подключения к ней. При этом необходимо указать флаг BeginUseEmpty. Если БД создавалась не с именем по умолчанию, в параметрах подключения также необходимо заполнить параметр DatabaseName.

    2. Администратор DSS включает учетные данные экземпляров DSS в роли соответствующих баз данных. Для этого необходимо выполнить следующие действия:

    • Создать на SQL-сервере пользователей SQL для экземпляров DSS в соответствующих БД.
    • Созданных пользователей включить в роли соответствующих БД.

    Имена ролей приведены в таблице ниже.

    Компонент DSS Имя роли
    Сервис Аудита auditinstance
    Сервис Обработки Документов documentstoreserverinstance
    Сервис Операций* operationmanager
    Центр Идентификации identityserverinstance
    Сервис взаимодействия с мобильным приложением myDSS mydssserverexternalinstance
    Сервис взаимодействия с ЦИ (myDSS) mydssserverinstance
    Сервис Подписи** signserverinstance
    Примечание

    *Сервис Операций входит в состав и Сервиса Подписи, и Центра Идентификации. Соответственно, в роль необходимо включать обе их учетные записи.

    **Сервис Подписи имеет 2 базы данных: SignatureServerCommonDB и SignatureServerDB. Соответственно, учетную запись экземпляра необходимо включать в нужную роль в каждой из этих БД.

    Настройка параметров подключения к SQL-серверу

    Для указания параметров подключения к SQL-серверу при разворачивании экземпляров DSS необходимо использовать командлеты New-Dss...SqlConnectionInfo.

    Параметр Тип Описание
    AccountType string Тип аутентификации в экземпляре SQL сервера для учётной записи, от имени которой будет выполняться подключение к БД:
    AutoDetect - автоматическая попытка определения типа аутентификации (по умолчанию)
    SqlAccount - SQL-аутентификация
    Windows - Windows-аутентификация.
    Если DSS неверно определил тип аутентификации, необходимо использовать параметр SkipValidation.
    AsUser string (Только при SQL-аутентификации) Имя учётной записи Администратора DSS на SQL-сервере
    AsUserPassword string (Только при SQL-аутентификации) Пароль учётной записи Администратора DSS на SQL-сервере
    BeginUseEmpty bool Использовать существующую пустую БД. Используется, если БД создавалась заранее.
    CreateBackUp bool Создавать резервную копию базы данных перед обновлением экземпляров DSS
    DatabaseName string Название базы данных
    RepairDatabaseChecksums bool Восстановить контрольные суммы при обновлении экземпляров DSS
    RestoreAccessModeAfterError bool Будет ли БД возвращена в MULTI_USER режим после обновления
    ServerName string Адрес экземпляра SQL-сервера, на котором следует развернуть базу данных.
    ServiceAccountName string Имя учетной записи экземпляра DSS
    ServiceAccountPassword string Пароль учетной записи экземпляра DSS
    SkipValidation bool Не определять автоматически способ аутентификации на SQL-сервере
    TraceLogPath string Путь к журналам обновления базы данных (на сервере, где разворачивается экземпляр DSS)
    UseExclusiveAccessMode bool Будет ли БД переведена в SINGLE_USER режим на время обновления
    UseExistingDB bool Использовать существующую базу данных. Используется при разворачивании дополнительных экземпляров DSS в кластере.
    UseNetworkService bool (Только при удаленной Windows-аутентификации) Использовать учётную запись Network Service в качестве учётной записи экземпляра, если нет возможности создать учетные записи в домене Windows или использовать gMSA.

    Параметры для Windows-аутентификации

    • AccountType (Заполняется, если отключена автоматическая попытка определения типа аутентификации)
    • BeginUseEmpty
    • DatabaseName (Заполняется, если требуется заполнить имя БД для экземпляра самостоятельно, либо экземпляр создается повторно на одном сервере)
    • ServerName
    • ServiceAccountName
    • SkipValidation (Устанавливается в случае нестандартных размещений SQL. Например, домен Windows и SQL-аутентификация)
    • UseExistingDB
    • UseNetworkService

    Параметры для SQL-аутентификации

    • AccountType (если отключена автоматическая попытка определения типа аутентификации)
    • AsUser
    • AsUserPassword
    • BeginUseEmpty
    • DatabaseName (Заполняется, если требуется заполнить имя БД для экземпляра самостоятельно, либо экземпляр создается повторно на одном сервере)
    • ServerName
    • ServiceAccountName
    • ServiceAccountPassword
    • SkipValidation (Устанавливается в случае нестандартных размещений SQL. Например, домен Windows и SQL-аутентификация)
    • UseExistingDB

    Параметры при обновлении экземпляров DSS

    Обновление экземпляров DSS их баз данных производится при помощи командлетов Update-Dss...Instance(в зависимости от экземпляра компонента). При этом указанные ниже параметры должны быть переданы в параметр -ConnectionInfo. Параметры заполняются при помощи командлетов New-DssSql...ConnectionInfo (в зависимости от экземпляра компонента).

    • AsUser - если была настроена SQL-аутентификация
    • AsUserPassword - если была настроена SQL-аутентификация
    • CreateBackUp
    • RepairDatabaseChecksums
    • RestoreAccessModeAfterError
    • SkipValidation (Устанавливается в случае нестандартных размещений SQL. Например, домен Windows и SQL-аутентификация)
    • TraceLogPath
    • UseExclusiveAccessMode

    Параметры при удалении экземпляров DSS

    Удаление экземпляров DSS их баз данных производится при помощи командлетов Remove-Dss...Instance(в зависимости от экземпляра компонента). При этом указанные ниже параметры должны быть переданы в параметр -ConnectionInfo. Параметры заполняются при помощи командлетов New-DssSql...ConnectionInfo (в зависимости от экземпляра компонента).

    • AsUser - если была настроена SQL-аутентификация
    • AsUserPassword - если была настроена SQL-аутентификация
    • SkipValidation (Устанавливается в случае нестандартных размещений SQL. Например, домен Windows и SQL-аутентификация)

    Развертывание экземпляров DSS в кластере

    Если необходимо развернуть дополнительные экземпляры DSS на отдельном сервере, то при заполнении параметров подключения к БД требуется указать имя существующей базы данных основного экземпляра и выставить параметр -UseExistingDB в значение $true.

    Примеры создания экземпляров DSS с настройкой подключения к БД

    # БД расположена на локальном сервере
    New-DssSignServerInstance -SQLServerName .\SQLServer -DBName SignatureServerDb
    
    # БД расположена на удаленном сервере
    $connInfo = New-DssSqlConnectionInfo -ServerName .\SQLServer -DatabaseName SignatureServerDb -ServiceAccountName SignServerAccount
    
    New-DssSignServerInstance -ConnectionInfo $connInfo -DisplayName SignServer -SiteName "Default Web Site" 
    
    Back to top © ООО "КРИПТО-ПРО", 2000-2020