Настройка оповещения
СЭП «КриптоПро DSS» позволяет настроить оповещение Пользователей и Операторов о различных событиях системы. Также события могут заноситься в журнал Сервиса Аудита.
Примечание
Оповещение Пользователей требует подключения ЦИ и/или Сервиса Подписи к SMS-шлюзу оператора сотовой связи или к почтовому серверу в соответствии со схемой размещения компонентов (см документ ЖТЯИ.00096-02 96 02 КриптоПро DSS. Общее описание) и в соответствии с требованиями к подключению к сетям общего пользования, описанными в разделе 10 документа ЖТЯИ.00096-02 95 01 КриптоПро HSM. Правила пользования.
В этом разделе:
- Принцип работы системы оповещения
- Оповещение Пользователей/Операторов
- Оповещение по Email
- Оповещение по SMS
- PUSH-уведомления
- Политики оповещения
- Шаблоны сообщений
- Командлеты администрирования
- Список событий
Принцип работы системы оповещения
Система оповещения КриптоПро DSS позволяет уведомлять различными способами Пользователей и Операторов о событиях, происходящих на следующих компонентах:
- Центр Идентификации;
- Сервис Подписи;
- Сервис Обработки Документов;
- модуль аутентификации myDSS (PUSH-уведомления для подтверждения операций).
При этом используется разделение событий на два основных потока:
- события, подлежащие уведомлению, отправляются на Сервис рассылки уведомлений (
Notification Service
), откуда могут быть доставлены Пользователям и Операторам в соответствии с политиками оповещения; - события, подлежащие записи в журнал аудита, отправляются на Сервис Аудита.
Некоторые события могут отправляться как в аудит, так и на Сервис рассылки уведомлений.
Настройка оповещения Пользователей и/или Операторов
Пользователи и Операторы КриптоПро 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).
Примеры:
Примечание
Примеры составлены для случая, когда редактируется политика оповещения Пользователей. Для
редактирования политики оповещения Операторов следует указывать параметр -Type Operator
и
НЕ использовать параметр –GroupId <ID группы>
.
Получение политики оповещения Пользователей по уровням:
# Получение глобальной политики:
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
, следующее его заполнение для
данного события перезапишет все указанные способы доставки. Т.е. при изменении данного параметра
каждый раз нужно указывать все необходимые способы доставки.
Отключение оповещения обо всех событиях
Для того чтобы отключить оповещение обо всех событиях необходимо в параметре Notifier
передать пустой список типов оповещения.
Примечание
Отключение оповещения обо всех событиях необходимо выполнить перед настройкой оповещение только о выделенных событиях.
Set-DssNotificationPolicy -Type User -AllNotificationEvents -GroupId 1 -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
.