Подсистема аудита
Подсистема аудита предоставляет встроенную возможность аудита для системных администраторов, администраторов приложения и аудиторов решения Интернета вещей (IoT) для организации. По умолчанию подсистема аудита отключена при запуске платформы. Необходимо включать ее.
Подсистема аудита предназначена для предоставления информации, необходимой для ответа на следующие вопросы:
Удовлетворяются ли нормативные требования?
Что делал в системе подозрительный сотрудник?
Кто внес какие изменения и когда?
* 
Важно помнить, что журнал аудита не предназначен быть еще одним журналом отладки. В журнале аудита содержится информация о том, кто внес изменения, когда и какие, а также любая другая информация, которая может потребоваться для соблюдения нормативных требований.
Первоначальный выпуск подсистемы аудита был частью ThingWorx Platform v.8.2.0. Эту версию называют реализацией таблицы данных. Начиная с версии ThingWorx Platform v.9.0.0 для подсистемы аудита также доступна другая реализация, которую называют реализацией непосредственного сохранения. Реализация непосредственного сохранения является полностью новой реализацией, которая предоставляет более надежный и производительный инструмент аудита. Для обратной совместимости реализация таблицы данных является реализацией по умолчанию при включении подсистемы аудита. При конфигурировании подсистемы аудита можно переключиться на реализацию непосредственного сохранения.
* 
PTC настоятельно рекомендует использовать реализацию непосредственного сохранения, поскольку реализация таблицы данных не будет применяться в будущих выпусках ThingWorx Platform. Кроме того, сервис QueryAuditHistory будет заменен сервисом QueryAuditHistoryWithQueryCriteria.
Если ранее использовалась реализация таблицы данных, данные сохраняются при выполнении обновления. После обновления рекомендуется архивировать все интерактивные данные аудита перед переключением к реализации непосредственного сохранения.
В следующих разделах приведены сведения о задачах, для которых выполняется аудит, а также о функциях подсистемы аудита для этих двух реализаций. Щелкните заголовок раздела, чтобы показать его содержимое. Чтобы скрыть содержимое, щелкните название еще раз.
Функции подсистемы аудита, реализация таблицы данных 
Реализация таблицы данных поддерживает следующие возможности аудита:
Поиск записей аудита
Архивация интерактивных записей аудита в автономное хранилище
Экспорт интерактивных и автономных данных аудита с использованием языка, выбранного для экспорта
Очистка интерактивных данных аудита и очистка данных для архивированных (автономных) данных аудита
Если подсистема аудита включена и установлен флажок Автоматический запуск, эта подсистема запускается при запуске ThingWorx Platform и останавливается при остановке платформы.
С версии ThingWorx Platform 8.5 подсистема аудита выполняет аудит переключения контекста безопасности от одного пользователя к другому, а также повышение контекста безопасности для суперпользователя. Дополнительные сведения см. в разделе Аудит переключения контекста безопасности .
* 
Для организаций, которые должны собирать и сохранять большие объемы данных аудита, настоятельно рекомендуется применять реализацию непосредственного сохранения для обеспечения оптимальной производительности и дополнительных функций.
По умолчанию подсистема отключена для новой установки или для обновления. Кроме того, включена реализация таблицы данных, а реализация непосредственного сохранения отключена.
Если вы являетесь системным администратором и включили подсистему аудита, можно изменить конфигурацию подсистемы аудита, чтобы переключиться от реализации таблицы данных на реализацию непосредственного сохранения. См. раздел Конфигурация подсистемы аудита.
Подсистема аудита в ThingWorx Platform, непосредственное сохранение 
Реализация непосредственного сохранения предоставляет все возможности аудита для реализации таблицы данных и многое другое. С добавлением этой реализации в ThingWorx Platform v.9.0.0 в подсистеме аудита имеются существенные изменения, обеспечивающие повышение производительности и масштабируемости:
При сохранении данных аудита используется поставщик хранилища данных ThingWorx Platform. Эту реализацию можно использовать с базами данных PostgreSQL или MSSQL в качестве поставщиков хранилища данных для экземпляров ThingWorx Platform.
* 
Невозможно изменить конфигурацию поставщика хранилища данных платформы с помощью страницы конфигурации подсистемы аудита.
Система запросов является более производительной.
Запросы можно настраивать, чтобы адаптировать к потребностям и вариантам использования в различных организациях. Сервисы запросов принимают лексемы локализации для параметра категории запроса.
Использование базы данных в реализации непосредственного сохранения расширяет возможности запросов. В дополнение к фильтрации и сортировке, которые доступны в реализации таблицы данных, можно указать свойства постраничной разбивки при использовании сервисов QueryAuditHistory и QueryAuditDataWithQueryCriteria в реализации непосредственного сохранения.
* 
Сервисы QueryAuditHistory и QueryAuditHistoryWithQueryCriteria не выполняют никакие проверки видимости. Все является видимым для пользователей, имеющих разрешения на выполнение этого сервиса. Сервис запросов можно выполнять непосредственно со страницы Сервисы подсистемы аудита. Можно также выполнить запрос косвенно, используя журнал аудита, который доступен для действия Мониторинг в интерфейсе пользователя ThingWorx Composer. Пользователи, имеющие соответствующие права доступа, могут запускать сервис вручную из ThingWorx Composer. Разработчики могут использовать интерфейсы API ThingWorx REST для запуска сервиса в программе.
Другой сервис QueryAuditHistory доступен на уровне вещи. Этот сервис ограничивает запрашиваемые данные только текущей вещью и текущим пользователем. Если пользователь, выполняющий этот сервис, находится в группе Auditors, пользователь может видеть действия всех других пользователей, но только для этой вещи.
* 
Группа пользователей Auditors доступна с версии ThingWorx Platform 9.0.0.
В дополнение к сервису ExportAuditData в реализации непосредственного сохранения предоставляется сервис ExportOnlineAuditData. Дополнительные сведения об этом сервисе см. в разделе Экспорт интерактивных данных аудита.
Реализация непосредственного сохранения также предоставляет менее затратную опцию сохранения, чем реализация таблицы данных с сервисом ArchiveAuditHistoryDirectPersistence[DATETIME[). Этот сервис копирует записи аудита из базы данных ThingWorx в файл в сконфигурированном репозитории файлов для данных аудита в папке AuditArchiveDirectPersistence.
Подсистема аудита может поддерживать клиентов с большими и малыми требованиями к данным аудита. Предоставляется руководство по конфигурированию подсистемы в соответствии с конкретными потребностями в хранении данных. См. раздел Конфигурация подсистемы аудита.
Для отслеживания выполнения сервисов в подсистеме аудита предоставляется категория с именем AUDIT.
Подсистема имеет дополнительные сообщения аудита для категорий. Дополнительные сведения о сообщениях аудита для реализации непосредственного сохранения данных см. в разделе ThingWorx сообщения аудита.
Если набор категорий аудита, предоставляемых в подсистеме, не соответствует требованиям вашей организации, разработчики могут создавать пользовательские категории аудита и сообщения. См. раздел Пользовательские категории аудита .
Только для бета-версии: реализация непосредственного сохранения также повышает удобство использования подсистемы аудита, предоставляя новый интерфейс пользователя в ThingWorx Composer для запроса данных аудита. Доступный в виде вкладки в разделе Мониторинг в Composer, этот новый интерфейс пользователя предоставляет опции фильтрации для запросов, а также опции постраничной разбивки для результатов запроса.
Журналы аудита могут содержать конфиденциальные данные. Чтобы обеспечить целостность данных аудита, убедитесь, что вы ограничиваете доступ, используя возможности разрешений ThingWorx. Дополнительные сведения см. в разделе Безопасность для задач аудита.
Какие задачи подвергаются аудиту? 
Обе реализации отслеживают в ThingWorx Platform появление событий, создаваемых различными компонентами и расширениями. Задачи, такие как передача файлов с помощью файловой системы платформы, могут генерировать события. Пользователь может подписываться на такие события, чтобы использовать их в качестве триггера для других действий.
Аудит доступен для следующих типов встроенных событий в ThingWorx:
Связанные с вещью события - FileTransfer и RemoteSession.
* 
Событие ThingStart отключено по умолчанию с версии ThingWorx Platform 9.0.0. Чтобы включить его, измените файл конфигурации, platform-settings.json. Если включено, выполняется аудит события.
События мониторинга безопасности - LoginSucceeded, LoginFailed, ApplicationKeySucceeded и ApplicationKeyFailed. Кроме того, аудит выполняется при переключении контекста безопасности.
* 
События ApplicationKeySucceeded и ApplicationKeyFailed инициируются только для соединений HTTP/HTTPS REST.
События подсистемы - выполняется аудит обновлений в конфигурации подсистемы. Кроме того, выполняется аудит в категории AUDIT для вызовов служб аудита, таких как архивация, экспорт и очистка.
* 
Действия запуска, остановки и перезапуска в подсистемах не подлежат аудиту.
Как правило, следующие события инициируются операцией с сущностью в ThingWorx:
Связанные с вещью события инициируются операциями, которые могут выполняться на вещах, такими как передача файлов с помощью подсистемы передачи файлов и туннелирования (событие RemoteSession).
События мониторинга безопасности, предназначенные для пользователей, получающих доступ к ThingWorx.
Настройка функциональности аудита 
Пользовательский компонент аудита содержит следующие компоненты:
Пользовательская категория аудита
Пользовательское сообщение аудита
Пользовательское событие аудита
Существует два способа создания лексемы пользовательской категории аудита и пользовательского сообщения аудита.
Путем создания нового внутреннего расширения Java для платформы с использованием пакета ThingWorx Java SDK. См. раздел Создание пользовательских категорий аудита с помощью расширения. Расширение должно включать таблицу локализации, чтобы при импорте расширения в ThingWorx Platform импортировалась таблица локализации с добавленными лексемами категории аудита и сообщения аудита.
Для пользовательской категории аудита - путем изменения таблицы локализации ThingWorx в ThingWorx Composer. См. раздел Пользовательские категории аудита .
Необходимо определить в коде для расширения пользовательские события аудита для включения двух аспектов. Эти аспекты не представлены в интерфейсе пользователя Composer, поэтому нельзя добавить пользовательское событие из Composer. Эти аспекты сообщают платформе о необходимости выполнить аудит данного события. На следующем рисунке эти два аспекта подсвечены.
Было ли это полезно?