Настройка оповещения
СЭП «КриптоПро DSS» позволяет настроить оповещение Пользователей и Операторов о различных событиях системы. Также события могут заноситься в журнал Сервиса Аудита.
Примечание
Оповещение Пользователей требует подключения ЦИ и/или Сервиса Подписи к SMS-шлюзу оператора сотовой связи или к почтовому серверу в соответствии со схемой размещения компонентов (см документ ЖТЯИ.00096-02 96 02 КриптоПро DSS. Общее описание) и в соответствии с требованиями к подключению к сетям общего пользования, описанными в разделе 10 документа ЖТЯИ.00096-02 95 01 КриптоПро HSM. Правила пользования.
В этом разделе:
- Принцип работы системы оповещения
- Настройки модулей оповещения
- Оповещение Пользователей/Операторов
- Оповещение по Email
- Оповещение по SMS
- PUSH-уведомления
- Политики оповещения
- Шаблоны сообщений
- Командлеты администрирования
- Список событий
Принцип работы системы оповещения
Система оповещения КриптоПро DSS позволяет уведомлять различными способами Пользователей и Операторов о событиях, происходящих на следующих компонентах:
- Центр Идентификации;
- Сервис Подписи;
- Сервис Обработки Документов;
- 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).
Примеры:
Оповещение Пользователей
Получение политики оповещения Пользователей по уровням
# Получение глобальной политики:
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
Set-DssNotificationPolicy -AllowOverride 1 -IdpId (Get-DssIdentityProvider -IssuerName realsts).Id
Set-DssNotificationPolicy -AllowOverride 1 -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 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
Настройка политики оповещения Операторов с возможностью редактирования
Данный пример позволяет настроить оповещение Пользователей. При этом Пользователи могут изменять список событий, о которых они получают оповещения, в Веб-интерфейсе Пользователя.
$allowChangeByUser = $false
$allowChangeByOperator = $true
$groupId = 1
Set-DssNotificationPolicy -AllowOverride 1
Set-DssNotificationPolicy -AllowOverride 1 -IdpId (Get-DssIdentityProvider -IssuerName realsts).Id
Set-DssNotificationPolicy -AllowOverride 1 -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
.