Вы можете открыть актуальную версию документа прямо сейчас.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение В
(справочное)
Сервисы журнала аудита
В.1 Сервисы в диаграмме
Диаграмма класса аудита сервисно-ориентированной архитектуры (SOA) на рисунке В.1 служит иллюстрацией сервисов журналов аудита, описанных в настоящем приложении.
Рисунок В.1 - Диаграмма класса аудита
В.2 Сервис ведения журнала аудита (Audit Logger Service)
Название функциональной возможности - SubmitAuditEvent (Предоставить Событие Аудита).
Описание. Добавляет событие аудита, которое необходимо обработать.
Предварительное условие:
- запись события аудита не является пустым значением;
- запись события аудита соответствует схеме (запись не будет отклонена, если она не соответствует).
Входные данные. Запись события аудита (детали подлежат определению).
Выходные данные. Пустое значение.
Выходные условия. Запись принята.
Условия исключения
Отчет об ошибке, если событие не может быть записано из-за того, что:
- AuditEventRecord является пустым значением;
- AuditEventRecord не соответствует схеме;
- сервис временно недоступен;
- сервис недоступен (основная проблема обеспечения дистанционной связи).
Примечание - Исключения могут быть проигнорированы программой, но должны быть внедрены системой аудита.
Связь с уровнями соответствия
Прочие примечания. Предположения:
- у системы должно быть единое время;
- у хранилища будет функциональная возможность "разветвлять" его по сервисам контроля, пейджерам, всюду, куда должна быть отправлена информация в зависимости от события;
- необходима способность сообщать Audit Event Record Schema (схему записи события аудита);
- для надежных результатов у клиента и систем сервиса должно быть согласованное время.
(У хранилища будет возможность "разветвлять" его по сервисам контроля, пейджерам, всюду, куда должна быть отправлена информация в зависимости от события) - не входит в спецификацию клиента, но это стоит рассмотреть позже.
Другое значимое содержание. При подробном описании необходимо рассмотреть вопросы надежной доставки, кэширования, мониторинга и т.д.
В.3 Сервис генератора записей аудита (Audit Record Generator Service)
Название функциональной возможности - CreateAuditEventRecord (СоздатьЗаписьСобытияАудита) (ДОПОЛНИТЕЛЬНАЯ).
Описание. Создает фиктивную запись о событии аудита.
Предварительное условие. Пустое значение.
- Входные данные: AuditEventType (ТипСобытияАудита).
- Выходные данные: AuditEventRecord (ЗаписьСобытияАудита).
Постусловия. Создан шаблон фиктивной записи о событии аудита подходящего типа. Если значение AuditEventType - пустое значение, то возвращается фиктивная запись о событии аудита, содержащая все поля каждого типа события (например, применяются все стандарты RFC 3881, ИСО 12052:2006 (DICOM) плюс все, что определено местной политикой в качестве обязательных полей, подлежащих аудиту).
Условия исключительной ситуации. AuditEventType не признан. Если тип события не распознан, то с помощью функциональной возможности будет отправлено в ответ предупреждение, список всех признанных типов событий плюс полная схема всех возможных полей.
Связь с уровнями соответствия. Подлежит определению.
Прочие замечания
Целью этой функциональной возможности является добавление возможности изменения схемы в одном месте и разрешения для всех приложений делать примечания касательно того, что схема изменилась, и обновления схемы, которую они используют без необходимости менять какой-либо код.
С помощью этой функциональной возможности также можно сообщать приложению о том, какая информация требуется для представления события аудита. Она также дает возможность иметь несколько хранилищ, или хранить как локально, так и удаленно без необходимости ставить в известность клиента.
AuditRecordGenerator (ГенераторЗаписейАудита) может использовать AuditEventCatalog (КаталогСобытийАудита) для того, чтобы определить надлежащие схемы для запрашиваемого типа события. Это, наряду с исключением неточной схемы в AuditLogger (УстройствоВеденияЖурналаАудита), позволит клиентам обнаруживать, когда локальная копия схемы, которую они сохранили в кэш-памяти, устарела и разрешать распространить среди клиентов новые версии схемы без изменения кода.
Другое значимое содержание
Это дополнительный сервис. Опытные разработчики сохранят отклик в кэш-памяти на стороне клиента для экономии времени для схем, которые не изменились.
В.4 Сервис каталога событий аудита (Audit Event Catalog Service)
Название функциональной возможности - FindAuditEventService (НайтиСервисСобытияАудита).
Описание. Возвращает (ссылку на?) схему события аудита для запрошенного типа. Этот сервис не является непосредственно видимым для клиента, но открыт для использования сервисами ведения журнала аудита и генератора записей аудита.
Предварительное условие. Пустое значение.
- Входные данные: AuditEventType.
- Выходные данные: AuditEventSchema (ссылка?).
Инварианты
Постусловия
- Условия исключительной ситуации. AuditEventType не является общепризнанным типом.
Связь с уровнями соответствия
Прочие примечания
Данный класс предоставляет базу централизованного хранения для определения схемы AuditEvent и должна использоваться в качестве источника локальных копий схемы в системах клиентов. Через AuditRecordGenerator схемы могут быть автоматически распространены среди клиентов.
Другое значимое содержание
Это просто сервис фоновой обработки. Косвенно доступный для клиента через предыдущий сервис.
В.5 Сервис устройства контроля аудита (Audit Monitor Service)
Примечание - Определение сигнала тревоги - это то, что отправляется, когда сервис устройства контроля обнаруживает, что серии событий соответствуют шаблону поведения.
alertName (имя сигнала тревоги) определяется как шаблон событий с уникальным именем, например, "поиск идентификатора данного субъекта данных". В реальной жизни, если есть повод переживать, что кто-то шпионит за субъектом данных, то каждый случай доступа к информации этого субъекта данных должен вызывать сигнал тревоги.
Название функциональной возможности: SubscribeToAlert (ПодписатьсяНаПредупреждение).
Описание. Вызывается сервисами AuditAlert для уведомления сервиса устройства контроля аудита о том, что сервис AuditAlert хочет получать оповещение в случае сигнала тревоги системы защиты.
Входное условие - alertName действительно, т.е. имеет ассоциированный с ним шаблон, который был добавлен.
Входные данные
- alertName (Примечание - Некоторые имена alertName могут быть предопределены, но в противном случае добавляют только шаблоны);
- subscriberReference (Примечание - В протоколе SOAP это был бы конечный адрес веб-сервиса, в Java - это адрес интерфейса. Ссылка должна быть уникальной во избежание коллизий).
Выходные данные. Пустое значение.
Инварианты
Постусловия
- Сервис AuditAlert, пославший сигнал тревоги, теперь известен для устройства контроля AuditMonitor;
- Условия исключительной ситуации. Недействительное имя alertName.
Прочие примечания
Предположение. Язык шаблонов был всеми согласован.
Для того, чтобы иметь возможность "подписаться, А ТАКЖЕ получить историю событий за последний час", интерфейс может вызывать обе эти функциональные возможности ПЛЮС функциональную возможность queryauditrecords из Сервиса отчетов аудита.
Примечание - Необходимо обозначить, как захватывать и использовать параметр, позволяющий пользователю обозначать дату окончания срока подписки.
Окончание срока подписки. В сервисе устройства контроля дата не указана. Если клиент хочет, чтобы подписка окончилась, внедрение сервиса оповещений/уведомлений может позволить осуществлять планирование подписок. Сервис устройства контроля должен быть легким в эксплуатации.
Название функциональной возможности - UnsubscribeFromAlerts (ОтписатьсяОтПредупреждений).
Описание. Вызывается сервисами AuditAlert для уведомления сервиса устройства контроля аудита о том, что сервис AuditAlert больше не хочет получать оповещения о событиях аудита.
Следует отметить, что подписка на сервис устройства контроля - это не то же самое, что и подписка на сервис оповещений. На сервис оповещений подписываются лица в разное время. На сервис устройства контроля подписываются такие сервисы, как сервис оповещений. Это более простой сервис, направленный на сравнение шаблонов, на несложные сигналы тревоги и оповещение.
Предусловие
Входные данные
- alertName;
- subscriberReference (ссылка Подписчика).
Выходные данные. Пустое значение.
Выходные условия: подписка больше не зарегистрирована.
Условия исключения
Связь с уровнями соответствия
Прочие примечания
Другое значимое содержание. Отправить событие аудита!
Название функциональной возможности - AddPattern (ДобавитьШаблон)
Описание. Позволяет сервису AuditAlert указывать новый тип шаблона событий для поиска со спецификацией касательно того, как определять, что наступило условие для отправки сигнала тревоги.
Предварительное условие
- alertName не является пустым значением и является уникальным;
- eventPattern (шаблон события) не является пустым значением и надлежащим образом обозначено.
Входные данные: alertName, eventPattern.
Выходные данные: пустое значение.
Постусловия. К шаблонам, о которых знает AlertMonitor, добавлен новый шаблон, связанный с именем alertName.
Условия исключения:
- alertName уже существует;
- alertName является пустым значением;
- eventPattern недействителен.
Связь с уровнями соответствия
Прочие примечания
Предположение. Язык шаблонов был всеми согласован.
Предположение. Шаблоны каким-то образом ассоциированы с создателем...
Политика доступа к определенным экземплярам может быть такой: "этот пользователь/URL/и т.д. может модифицировать..."
Другое значимое содержание. Отправить событие аудита.
Название функциональной возможности - RetrievePattern (Вернуть Шаблон)
Описание. Позволяет сервису AuditAlert вернуть шаблон. Если имя alertName недействительно или является пустым значением, то эта функциональная возможность возвращает список всех шаблонов.
Входное условие
Входные данные: alertName.
Выходные данные: подробные данные о шаблоне или списке всех зарегистрированных или доступных шаблонов.
Постусловия: Шаблон или список шаблонов.
Условия исключения: нет.
Прочие примечания
Это событие само себя проверяет аудитом. Местные политики должны решать, является ли это сервисом, который отправляет событие аудита, или приложением, которое его использует, т.е. это должны определить разработчики.
Другое значимое содержание (дополнительное). Отправить событие аудита.
Название функциональной возможности - DeletePattern (Удалить Шаблон)
Описание. Удаляет шаблон, который более не применяется. Если все еще есть получатели, подписанные на шаблон, и параметр forcedDelete (принудительноеУдаление) присутствует и является истинным, то Удаление является принудительным Delete. Если параметр НЕ присутствует и все еще есть получатели, подписанные на шаблон, то событие DeletePattern будет неуспешным и запрашивающему лицу будет отправлено исключение.
Входное условие. alertName не является пустым значением.
Входные данные:
- alertName;
- параметр ForcedDelete.
Выходные данные: пустое значение.
Постусловия
- Шаблон и все подписчики этого шаблона удалены.
- Например, выходные данные - пустое значение.
Условия исключения. Если у предупреждения существуют подписчики и forcedDelete не присутствует и не является истинным, отправить исключение удаленному инициатору запроса.
Связь с уровнями соответствия
Прочие примечания. Удаление подписчиков должно известить инициатора и/или подписчиков.
Не забудьте "запустить событие" о том, что подписчики все еще есть. Другая деятельность по обращению или перечислению подписчиков может быть оставлена на этап реализации.
Если это доступно, DeletePattern должен посылать список остающихся подписчиков при неудаче удаления.
Другое значимое содержание. Отправить событие аудита.
В.6 Сервис сигнала тревоги или оповещения (Alert or Notification Service)
Название функциональной возможности - SubmitNotification (НаправитьУведомление).
Описание. Направляет сообщение с сигналом тревоги, которое должно быть обработано.
Предусловие
Входные данные: NotificationMessage (СообщениеУведомления).
Выходные данные: пустое значение.
Выходные условия. AlertMessage отправлено в соответствии с применимыми правилами.
Условия исключения:
- AlertMessage является пустым значением;
- ошибка обработки AlertMessage.
Связь с уровнями соответствия
Прочие примечания
Реальный метод для оповещения пользователя (например, пейджер или другое средство) является зависимым от реализации.
Другое значимое содержание. Отправить событие аудита после направления сигнала тревоги.
Название функциональной возможности - SetNotificationRuleSet (УстановитьНаборПравилОповещения).
Описание. Создает и поддерживает соответствие правилам, используемым для определения того, как необходимо обрабатывать AlertMessage.
Предусловие. AlertRuleSet (НаборПравилСигналаТревоги) не является пустым значением.
Формат AlertRuleSet должен быть признанным и обрабатываемым Сервисом.
Входные данные: AlertRuleSet.
Выходные данные: пустое значение.
Предусловия. Был установлен новый AlertRuleSet.
Условия исключения:
- AlertRule является пустым значением;
- неизвестное правило.
Связь с уровнями соответствия
Название функциональной возможности - RetrieveAlertRules (ВернутьПравилаСигналаТревоги).
Описание. Возвращает копию правил для сигналов тревоги, действующих в данном сервисе.
Предусловие. Нет.
Входные данные: нет.
Выходные данные: AlertRules.
Инварианты. AlertRules не изменены.
Постусловия. Выход AlertRules содержит полный набор действующих AlertRules.
Условия исключения. Нет.
Связь с уровнями соответствия
Прочие примечания
Другое значимое содержание
В.7 Сервис отчетов аудита (Audit Report Service)
Название функциональной возможности - QueryAuditService (СервисАудитовОпроса).
Описание. Опрашивает Сервис аудита для записей, соответствующих шаблону или параметрам опроса, запрошенным в фильтре опроса.
Предусловие. QueryFilter (ФильтрЗапроса) не является пустым значением. Если запрашиваются все записи, то должен использоваться шаблон * (или его эквивалент в оговоренном языке запросов).
Язык фильтра запроса должен быть оговорен.
Входные данные: QueryFilter.
Выходные данные: список уникальных идентификаторов для запрошенных записей.
Постусловия. Идентификаторы записей, соответствующие фильтру запроса, были получены.
Условия исключения:
- QueryFilter является пустым значением;
- QueryFilter не может быть проанализирован.
Связь с уровнями соответствия
Прочие примечания
Другое значимое содержание
Название функциональной возможности - RetrieveAuditRecord (ВернутьЗаписьАудита).
Описание. Возвращает определенную запись аудита.
Предусловие. RecordId (ИдентификаторЗаписи) не является пустым значением.
Входные данные: RecordId.
Выходные данные: запрашиваемая запись, если таковая существует. В противном случае - пустое значение.
Постусловия. Запись, соответствующая RecordId, получена.
Условия исключения. RecordId является пустым значением.
Название функциональной возможности - RetrieveAuditRecordExcerpt (ВернутьОтрывокЗаписиАудита)
Описание. Возвращает отрывок, определенный описаниями полей из записи, подходящей по идентификатору записи.
Предусловие. Идентификатор записи не является пустым значением.
Описания полей действительны.
Входные данные:
- RecordId;
- FieldDescriptions (ОписанияПолей).
Выходные данные: отрывок записи аудита, соответствующий полям запроса из записи, подходящей по идентификатору, если такой идентификатор существует. В противном случае - пустое значение.
Постусловия. Запрашиваемый отрывок получен.
Условия исключения:
- RecordId является пустым значением;
- FieldDescriptions недействительны.
Связь с уровнями соответствия
В.8 Сервис анализа аудита (Audit Analysis Service)
Название функциональной возможности - Analyze (Анализировать).
Описание. Осуществляет запрошенный анализ.
Предусловие. Запрос анализа является действующим алгоритмом.
Входные данные: AnalysisAlgorithm (АлгоритмАнализа).
Выходные данные: AnalysisReport (ОтчетПоРезультатамАнализа).
Постусловия. AnalysisAlgorithm был выполнен и результаты получены.
Условия исключения. AnalysisAlgorithm недействителен.
Связь с уровнями соответствия.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.