Показать/Скрыть содержание

    Настройка оповещения

    СЭП «КриптоПро DSS» позволяет настроить оповещение Пользователей и Операторов о различных событиях системы. Также события могут заноситься в журнал Сервиса Аудита.

    Примечание

    Оповещение Пользователей требует подключения ЦИ и/или Сервиса Подписи к SMS-шлюзу оператора сотовой связи или к почтовому серверу в соответствии со схемой размещения компонентов (см документ ЖТЯИ.00096-02 96 02 КриптоПро DSS. Общее описание) и в соответствии с требованиями к подключению к сетям общего пользования, описанными в разделе 10 документа ЖТЯИ.00096-02 95 01 КриптоПро HSM. Правила пользования.

    В этом разделе:

    • Принцип работы системы оповещения
    • Настройки модулей оповещения
    • Оповещение Пользователей/Операторов
    • Оповещение по Email
    • Оповещение по SMS
    • PUSH-уведомления
    • Политики оповещения
    • Шаблоны сообщений
    • Командлеты администрирования
    • Список событий

    Принцип работы системы оповещения

    Система оповещения КриптоПро DSS позволяет уведомлять различными способами Пользователей и Операторов о событиях, происходящих на следующих компонентах:

    • Центр Идентификации;
    • Сервис Подписи;
    • Сервис Обработки Документов;
    • PUSH-уведомления для мобильных приложений.

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

    • события, подлежащие уведомлению, отправляются на Сервис рассылки уведомлений (Notification Service), откуда могут быть доставлены Пользователям и Операторам в соответствии с политиками оповещения;
    • события, подлежащие записи в журнал аудита, отправляются на Сервис Аудита.

    Некоторые события могут отправляться как в аудит, так и на Сервис рассылки уведомлений.

    notification.png

    Настройка оповещения Пользователей и/или Операторов

    Пользователи и Операторы КриптоПро DSS могут быть оповещены о событиях Центра Идентификации, Сервиса Подписи и myDSS посредством SMS-сообщений, электронной почты и PUSH-уведомлений (в мобильном приложении myDSS при использовании данного метода аутентификации).

    Примечание

    События Сервиса Обработки Документов предназначены исключительно для записи в журнал аудита. Оповещение указанными выше способами об этих событиях не производится.

    Настройка оповещения Пользователей и/или Операторов о событиях КриптоПро DSS производится следующим образом.

    1. Регистрация плагинов для доставки событий на Сервис рассылки уведомлений.

    Все события КриптоПро DSS, предназначенные для отправки Пользователям и Операторам, должны быть переданы в Сервис рассылки уведомлений. Сервис рассылки уведомлений является частью Центра Идентификации и разворачивается автоматически при создании экземпляра. Для передачи событий на Сервис рассылки уведомлений необходимо зарегистрировать на том компоненте, с которого собираются события, следующие плагины:

    Для событий Центра Идентификации:

    • Add-DssStsPlugin - регистрация транспортного плагина.
    • Add-DssStsNotifier - регистрация модуля рассылки уведомлений.
    $hostname = <hostname>
    $STSappName = "STS"
    
    # Регистрация транспортного плагина
    $plugin = Add-DssStsPlugin –PluginTypeName "DSS.Notification.Transport.NotificationTransportPlugin,DSS.Notification.Transport" -PluginType NotificationService -Settings @{ServiceAddress="https://$hostname/$STSappName/"}
    
    # Регистрация модуля оповещения
    Add-DssStsNotifier -TransportPluginID $plugin.ID -NotifierType NotificationService
    

    Для событий Сервиса Подписи:

    • Add-DssSignServerPlugin - регистрация транспортного плагина.
    • Add-DssSignServerNotifier - регистрация модуля рассылки уведомлений.

    • Транспортный плагин - командлет Add-DssSignServerPlugin.

    $hostname = <hostname>
    $STSappName = "STS"
    
    $plugin = Add-DssSignServerPlugin –PluginTypeName "DSS.Notification.Transport.NotificationTransportPlugin,DSS.Notification.Transport" -PluginType NotificationService -Settings @{ServiceAddress="https://$hostname/$STSappName/"}
    
    Add-DssSignServerNotifier -TransportPluginID $plugin.ID -NotifierType NotificationService
    

    Для событий DSS SDK:

    Используются собственные командлеты.

    Для событий Сервиса Обработки Документов:

    События Сервиса Обработки Документов предназначены только для записи в журнал аудита.

    Дополнительные настройки плагинов для доставки событий на Сервис рассылки уведомлений

    Плагины для доставки событий на Сервис рассылки уведомлений имеют также дополнительные параметры. Полный список доступных настроек:

    Транспортный плагин (командлет Add(Set)-Dss...Plugin):

    • ServiceAddress - адрес Сервиса рассылки уведомлений в формате "http(s)://<Sts hostname>/<StsAppName>/".
    • UseMutualTlsFlag - флаг ('True' или 'False'), включающий использование конечной точки notifications/cert на Сервисе рассылки уведомлений. Использование данной конечной точки позволяет подключаться к ней по протоколу TLS, используя сервисный сертификат компонента, на котором регистрируется транспортный плагин.

    Плагин рассылки уведомлений (командлет Add(Set)-Dss...Notifier):

    • MinQueueSize – приемлемый размер очереди сообщений. При превышении заданного значения обработчики будут забирать сообщения из очереди без паузы до момента уменьшения размера очереди ниже данного значения. По умолчанию параметр равен 100.
    • MaxQueueSize – максимальный размер очереди. При достижении максимального размера очереди отправка новых сообщений блокируется, до момента снижения размера очереди ниже данного значения. По умолчанию параметр равен 10000.
    • TimerInterval – интервал времени опроса очереди сообщений в мс. По умолчанию параметр равен 500.
    • TTL – количество повторных попыток отправки сообщения, при возникновении ошибок. По умолчанию параметр равен 3.
    • MessageWindow – количество сообщений, забираемых из очереди для отправки за один раз. По умолчанию параметр равен 1.
    • ThreadCount – количество обработчиков очереди сообщений. По умолчанию равен 1.
    • Enabled – состояние компонента для рассылки сообщений: включен/отключен. По умолчанию включен.

    2. Настройка политик оповещения Пользователей и/или Операторов.

    Политики оповещения

    События, отправленные с компонентов DSS при помощи настроенных ранее плагинов, доставляются на Сервис рассылки уведомлений. Здесь происходит получение информации о доступных способах доставки (Email, SMS, PUSH), а также контактной информации из профиля Пользователя или Оператора, которому должно быть доставлено уведомление. Для получения данной информации необходимо настроить политику оповещения для Пользователей и Операторов.

    Политика оповещения Пользователей

    Политика оповещения Пользователей состоит из трех уровней:

    • глобального,
    • уровня группы,
    • уровня Пользователя (настройка доступна только через веб- и REST-интерфейсы).

    Политика оповещения Пользователей заполняется при помощи командлета Set-DssNotificationPolicy и представляет собой набор следующих настроек:

    Параметр Тип Описание
    Type User Определяет, для кого настраивается политика.
    Notifiers SMS, Email, PUSH (1 или несколько через запятую) Список назначений для отправки уведомлений о событиях, указанных в параметре Notifiers.
    GroupID int Идентификатор группы, если необходимо настроить политику уровня группы.
    NotificationEvents AllNotificationEvents ИЛИ Notifiers {}(пустой список) ИЛИ Notifiers (1 или несколько через запятую) Набор событий, о которых необходимо оповещать.
    AllowChangeByOperator bool Определяет, может ли Оператор изменять политику оповещения Пользователя в веб-интерфейсе.
    AllowChangeByUser bool Определяет, может ли Пользователь изменять политику оповещения в веб-интерфейсе.
    AllowOverride bool Определяет, может ли политика быть переопределена на более низком уровне иерархии.
    Примечание

    В зависимости от того, политика какого уровня настраивается — глобального уровня или уровня группы — необходимо также соответственно использовать параметр –GroupId со значением идентификатора настраиваемой группы. Для заполнения глобальной политики специальный параметр указывать не требуется.

    Если в иерархии политик есть политика с AllowOverride = false, настройки политики уровнем ниже не имеют силы. Если все политики в иерархии имеют AllowOverride = true, параметры AllowChangeByUser и AllowChangeByOperator используются из политики группы, а настройка самого оповещения применяется индивидуально для каждого Пользователя (настраивается в Веб-интерфейсе Пользователя).

    Примечание

    Перед изменением настроек политики оповещения при помощи командлетов (глобальный уровень
    или уровень группы), убедитесь, что на уровень выше не применялось значение AllowOverride = false.

    Политика оповещения Операторов

    Политика оповещения Операторов состоит из двух уровней:

    • глобального,
    • уровня Оператора (настройка доступна только через веб- и REST-интерфейсы).

    Политика оповещения Пользователей заполняется при помощи командлета Set-DssNotificationPolicy и представляет собой набор следующих настроек:

    Параметр Тип Описание
    Type Operator Определяет, для кого настраивается политика.
    Notifiers SMS, Email (1 или оба через запятую) Список назначений для отправки уведомлений о событиях, указанных в параметре Notifiers.
    NotificationEvents AllNotificationEvents ИЛИ {}(пустой список) ИЛИ Notifiers (1 или несколько через запятую) Набор событий, о которых необходимо оповещать.
    AllowChangeByOperator bool Определяет, может ли Оператор изменять политику оповещения в веб-интерфейсе.
    AllowOverride bool Определяет, может ли политика быть переопределена на более низком уровне иерархии.

    Если в глобальной политике имеется значение AllowOverride = false, настройки политики уровня Оператора на веб-интерфейсе будут недоступны. Если глобальная политика AllowOverride = true, параметр AllowChangeByOperator применяется индивидуально для каждого Оператора (настраивается в его личном кабинете на веб-интерфейсе или при помощи REST API).

    Примеры:

    Оповещение Пользователей

    Получение политики оповещения Пользователей по уровням

    # Получение глобальной политики:
    Get-DssNotificationPolicy -Type User
    # Если в выводе данной команды содержится AllowOverride = False,
    # настройки уровня группы не имеют силы.
    
    # Получение политики группы Пользователей
    Get-DssNotificationPolicy -Type User -GroupId 1
    # Если в выводе данной команды содержится AllowOverride = False,
    # Пользователь не сможет изменить политику доступа к операциям в Веб-
    # интерфейсе.
    
    # Просмотр списка событий с указанием настроенных способов доставки для каждого события:
    (Get-DssNotificationPolicy -Type User ).EventNotifiers
    

    Настройка политики оповещения Пользователей без возможности редактирования

    Данный пример позволяет настроить оповещение Пользователей. При этом Пользователи НЕ могут изменять список событий, о которых они получают оповещения.

    # Оповещать Пользователей о всех событиях:
    Set-DssNotificationPolicy -Type User -AllNotificationEvents -Notifiers SMS,Email -AllowOverride 0 
    
    # НЕ оповещать Пользователей ни о каких событиях:
    Set-DssNotificationPolicy -Type User -AllNotificationEvents -Notifiers @() -AllowOverride 0
    
    # Указать набор событий, о которых необходимо оповещать Пользователей: 
    Set-DssNotificationPolicy -Type User -NotificationEvents CertificateCreated,DeviceConfirmed -Notifiers SMS,Email
    
    ИЛИ
    
    Set-DssNotificationPolicy -Type User -NotificationEvents 1, 2 -Notifiers SMS,Email
    
    # Выбор способа доставки для всех событий SMS и Email:
    Set-DssNotificationPolicy –Type User -AllNotificationEvents -Notifiers SMS,Email
    
    Примечание

    В случае, если необходимо изменить политику группы, следует добавлять параметр –GroupId <ID группы>.

    Примечание

    Если для какого-либо события уже был задан параметр -Notifiers, следующее его заполнение для данного события перезапишет все указанные способы доставки. Т.е. при изменении данного параметра каждый раз нужно указывать все необходимые способы доставки.

    Настройка политики оповещения Пользователей с возможностью редактирования

    Данный пример позволяет настроить оповещение Пользователей. При этом Пользователи могут изменять список событий, о которых они получают оповещения, в Веб-интерфейсе Пользователя.

    $allowChangeByUser = $true
    $groupId = <Идентификатор группы Пользователей>
    
    Set-DssNotificationPolicy -AllowOverride 1 –Type User
    Set-DssNotificationPolicy -AllowOverride 1 –Type User -GroupId $groupId -AllowChangeByUser $allowChangeByUser
    

    Полный список событий и их кодов.

    Оповещение Операторов

    Примечание

    Для редактирования политики оповещения Операторов следует указывать параметр -Type Operator и > НЕ использовать параметр –GroupId <ID группы>.

    Получение политики оповещения Операторов

    # Получение глобальной политики:
    Get-DssNotificationPolicy -Type Operator
    # Если в выводе данной команды содержится AllowOverride = False,
    # Оператор не сможет самостоятельно настраивать политику в своем 
    # личном кабинете на веб-интерфейсе.
    
    # Просмотр списка событий с указанием настроенных способов доставки для каждого события:
    (Get-DssNotificationPolicy -Type Operator ).EventNotifiers
    

    Настройка политики оповещения Операторов без возможности редактирования

    Данный пример позволяет настроить оповещение Операторов. При этом Операторы НЕ могут изменять список событий, о которых они получают оповещения.**

    # Оповещать Операторов о всех событиях:
    Set-DssNotificationPolicy -Type Operator -AllNotificationEvents -Notifiers SMS,Email -AllowOverride 0 
    
    # НЕ оповещать Операторов ни о каких событиях:
    Set-DssNotificationPolicy -Type Operator -AllNotificationEvents -Notifiers @() -AllowOverride 0
    
    # Указать набор событий, о которых необходимо оповещать Операторов: 
    Set-DssNotificationPolicy -Type Operator -NotificationEvents CertificateCreated,DeviceConfirmed -Notifiers SMS,Email
    
    ИЛИ
    
    Set-DssNotificationPolicy -Type Operator -NotificationEvents 1, 2 -Notifiers SMS,Email
    
    # Выбор способа доставки для всех событий SMS и Email:
    Set-DssNotificationPolicy –Type Operator -AllNotificationEvents -Notifiers SMS,Email
    

    Настройка политики оповещения Операторов с возможностью редактирования

    Данный пример позволяет настроить оповещение Пользователей. При этом Пользователи могут изменять список событий, о которых они получают оповещения, в Веб-интерфейсе Пользователя.

    $allowChangeByUser = $false
    $allowChangeByOperator = $true
    $groupId = 1
    
    Set-DssNotificationPolicy -AllowOverride 1 –Type Operator
    Set-DssNotificationPolicy -AllowOverride 1 –Type Operator -GroupId $groupId -AllowChangeByUser $allowChangeByUser -AllowChangeByOperator $allowChangeByOperator 
    

    Отключение оповещения обо всех событиях

    Для того чтобы отключить оповещение обо всех событиях, необходимо указать флаг AllNotificationEvents и в параметре Notifier передать пустой список типов оповещения.

    Set-DssNotificationPolicy -Type <User ИЛИ Operator> -AllNotificationEvents -GroupId <ID группы, если -type User> -Notifier @()
    

    3. Задание контактной информации Пользователей и/или Операторов.

    Наличие контактной информации Пользователей и/или Операторов необходимо для корректной работы системы оповещения. В зависимости от выбранного способа оповещения (Email, SMS) в профиле Пользователя или Оператора должны быть указаны соответствующие номера телефонов или адрес электронной почты. Заполнение контактной информации возможно следующими способами:

    • Для Пользователей - посредством REST API или непосредственно Пользователем в Личном кабинете на веб-интерфейсе.
    • Для Операторов - при помощи специализированных командлетов.

    4. Регистрация набора плагинов для определенного способа рассылки.

    Как только для события получены способы доставки и контактная информация, производится его отправка. Для отправки должны быть зарегистрированы следующие плагины:

    • Плагин форматирования сообщений - командлеты Add-DssStsPlugin, Add-DssStsPlugin с параметром -PluginType Formatter -PluginTypeName "<имя класса>,<имя сборки>"

    • Транспортный плагин - командлеты Add-DssStsPlugin, Add-DssStsPlugin с параметром -PluginType Email или -PluginType Sms в зависимости от выбранного способа доставки;

    • Плагин рассылки уведомлений - командлет Add-DssInternalNotifier с параметрами -NotifierType Email или -NotifierType Sms в зависимости от выбранного способа доставки, -TransportPluginID <ID транспортного плагина>, -FormatterPluginID <ID плагина формирования сообщений>.

    Пример настройки оповещения Пользователей по Email

    Пример настройки уведомлений по SMS

    Для описанных способов оповещения установлены шаблоны сообщений. Администратор может их изменять при помощи специализированных командлетов.

    Настройка PUSH-уведомлений и их шаблонов

    5. Включение/отключение оповещения

    После выполнения всех перечисленных выше действий оповещение будет настроено и включено автоматически. Для отключения оповещения можно использовать следующие способы:

    • Убрать контактную информацию Пользователя/Оператора, с которой связаны настройки оповещения.
    • Запретить отправку уведомлений в политике оповещения.
    • Отключить плагин рассылки уведомлений (см. п.4) при помощи командлета Disable-DssInternalNotifier. Включить плагин возможно при помощи командлета Enable-DssInternalNotifier.

    Настройка записи событий в аудит

    Плагины, необходимые для отправки и записи сообщений в журнал аудита, регистрируются при помощи командлетов вида New-Dss...Audit.

    В начало © ООО "КРИПТО-ПРО", 2000–2025