Безопасность для задач аудита
Задачи платформы ThingWorx выполняются в контексте пользователя - в частности, в контексте безопасности пользователя. Пользователь может быть лицом, вызывающим сервис в вещи, или может быть сервером соединений ThingWorx, обращающимся к платформе, чтобы доставлять входящие сообщения с устройств Edge. Оба пользователя работают в определенном контексте безопасности, состоящем из разрешений, назначенных пользователю. Существуют разрешения для времени конструирования и времени выполнения.
* 
Дополнительные сведения об аудите переключения контекста безопасности см. в разделе Аудит переключения контекста безопасности .
Разрешения ThingWorx
Безопасность для сущностей в ThingWorx включает задание следующих разрешений:
Разрешения времени конструирования - управляют тем, какие группы пользователей и пользователи могут создавать, читать, изменять и удалять сущности.
Разрешения времени выполнения - управляют тем, какие группы пользователей и пользователи могут получать доступ к данным, выполнять сервисы и инициировать события для вещей, включая таблицы данных, потоки и пользователей. Можно задавать разрешения времени выполнения на уровне вещи, шаблона вещи или набора сущностей. Абстрактные сущности, профили вещи, структуры данных и группы пользователей в модели не имеют разрешений времени выполнения.
Разрешения видимости - определяют, какие организации и подразделения имеют доступ для просмотра сущности. Если у участников организации или подразделения нет доступа к видимости, они не могут просматривать сущность в списке сущностей или в результатах поиска. Им также нельзя назначать разрешения чтения, записи, подписки и другие в рамках прав видимости.
Варианты использования и требуемые разрешения
Варианты использования, которые должны видеть пользователи, и требуемые им разрешения включают следующее:
Пользователи, которые должны видеть все записи аудита так же, как и администратор, должны быть добавлены в группу пользователей, созданную с помощью шагов, описанных в приведенном ниже разделе Необходимые разрешения для запуска служб аудита не администраторами.
Пользователи, которые должны видеть все записи аудита, связанные с определенной вещью, должны быть добавлены в группу пользователей "Аудиторы" и получить разрешения времени выполнения для сервиса QueryAuditHistory в вещи, а также разрешения видимости и времени выполнения для вещи.
Пользователи, которые должны видеть только записи аудита в контексте пользователя, должны иметь разрешения времени выполнения для сервиса QueryAuditHistory в вещи, а также разрешения времени выполнения и видимость вещи.
В версии 9.0.0 ThingWorx Platform была добавлена группа пользователей с именем "Аудиторы", чтобы назначать разрешения для пользователей, не являющихся администраторами. Дополнительные сведения см. в следующем разделе.
Разрешения для групп пользователей "Администраторы" и "Аудиторы"
По умолчанию пользователи в группе "Администраторы" имеют разрешения на полный доступ ко всему в ThingWorx, включая подсистему аудита, ее сервисы и данные. По умолчанию пользователи в группе "Аудиторы" могут видеть записи аудита, созданные другими пользователями при выполнении сервиса QueryAuditHistiory в вещи. Для пользователей и групп, не являющихся администраторами, администраторы должны предоставить возможность вызывать сервисы, предоставляемые подсистемой аудита, используя переопределения сервисов. Дополнительные сведения об использовании переопределений сервисов. см. в разделе Переопределения сервисов.
По умолчанию пользователи в группе "Администраторы" имеют разрешения на следующие сущности, связанные с подсистемой аудита:
Подсистема аудита - это системный объект, предоставляющий следующие сервисы в обеих реализациях:
Выполнение сервиса - QueryAuditHistory выполняется в подсистеме аудита
Выполнение сервиса - ArchiveAuditHistory
Выполнение сервиса - ExportAuditData
Выполнение сервиса - CleanupOfflineAudit
Выполнение сервиса - GetAuditEntryCount
Выполнение сервиса - PurgeAuditData
Выполнение сервиса - ExportOnlineAuditData
Выполнение сервиса - ArchiveAuditHistoryDirectPersistence
Выполнение сервиса - QueryAuditHistoryWithQueryCriteria
Выполнение сервиса - QueryAuditHistory выполняется в вещи
AuditArchiveFileRepository является репозиторием файлов подсистемы аудита, используемым для архивов аудита. Создаваемый при запуске подсистемы репозиторий имеет каталог для текущей активной реализации. При переключении из одной реализации в другую сохраняются данные аудита из ранее активной реализации и создается новый каталог для текущей активной реализации. Структура репозитория в процессе установки будет иметь вид, аналогичный следующему, если были активными обе реализации:
В зависимости от активной реализации для архивации данных аудита используется один из двух планировщиков:
AuditArchiveScheduler, представляющий вещь Scheduler, управляет автоматической архивацией записей аудита для реализации таблицы данных.
AuditArchiveSchedulerDirectPersistence, представляющий вещь Scheduler, управляет автоматической архивацией записей аудита для реализации непосредственного сохранения.
AuditPurgeScheduler, представляющий вещь Scheduler, управляет автоматической очисткой записей аудита.
AuditArchiveCleanupScheduler планирует очистку данных автономных архивных файлов данных аудита.
AuditArchiveCleanupNotificationScheduler отправляет уведомления с напоминаниями об очистке данных.
Необходимые разрешения для не администраторов
В следующей таблице показаны разрешения, которые можно предоставить неадминистративным пользователям в группе пользователей, чтобы они могли получать доступ к этим записям подсистемы аудита.
* 
Ни в коем случае не предоставляйте пользователям, не являющимся администраторами, разрешение изменять объекты во время конструирования. Администраторам не следует изменять системные объекты во время конструирования. Если править их во время конструирования, существует риск потерять все изменения, внесенные во время обновления.
Необходимые разрешения для аудита сущностей для группы не администраторов
Сущность
Разрешения для неадминистративной группы пользователей
Подсистема аудита
Разрешить неадминистративным пользователям и группам пользователей вызывать сервисы QueryAuditHistory, QueryAuditHistoryWithQueryCriteria, ArchiveAuditHistory, ExportAuditData, ExportOnlineAuditData,CleanupOfflineAudit, PurgeAuditData, GetAuditEntryCount и ArchiveAuditHistoryDirectPersistence:
Подсистема аудита - Время конструирования > Чтение.
Подсистема аудита - Время выполнения > Переопределения свойств, сервисов или событий. Определите переопределение сервиса для каждого сервиса, который должен быть доступен для вызова всем пользователям в группе, и добавьте для каждого сервиса действие Выполнение сервиса.
AuditArchiveFileRepository
Разрешения для репозитория AuditArchiveFileRepository подсистемы аудита не должны предоставляться неадминистративным пользователям или группам пользователей.
AuditArchiveScheduler (реализация таблицы данных)
Пользователи в группе администраторов должны иметь доступ к этой вещи планировщика. Вещь планировщика имеет свойство lastArchivedTime, которое обновляется после каждого успешного выполнения операции архивации. Хотя это возможно, это свойство НИКОГДА не должно изменяться пользователем, администратором или неадминистратором. По этой причине (и другим причинам, которые могут существовать в организации) рекомендуется не предоставлять неадминистративным пользователям доступ к планировщику.
AuditArchiveSchedulerDirectPersistence
Пользователи в группе администраторов должны иметь доступ к этой вещи планировщика. Вещь планировщика имеет свойство lastArchivedTimeDirectPersistence, которое обновляется после каждого успешного выполнения операции архивации. Хотя это возможно, это свойство НИКОГДА не должно изменяться пользователем, администратором или неадминистратором. По этой причине (и другим причинам, которые могут существовать в организации) рекомендуется не предоставлять неадминистративным пользователям доступ к планировщику.
AuditPurgeScheduler
Только пользователи в группе "Администраторы" должны иметь доступ к этой вещи планировщика. Рекомендуется не предоставлять доступ к этому планировщику пользователям, не являющимся администраторами.
AuditArchiveCleanupScheduler
Только пользователи в группе "Администраторы" должны иметь доступ к этой вещи планировщика. Рекомендуется не предоставлять доступ к этому планировщику пользователям, не являющимся администраторами.
AuditArchiveCleanupNotificationScheduler
Разрешение неадминистративным пользователям выполнять уведомления сервиса очистки:
AuditArchiveCleanupNotificationScheduler - Время конструирования > Чтение
AuditArchiveCleanupNotificationScheduler - Время выполнения > Переопределения свойств, сервисов или событий. Определите переопределение сервиса для этого сервиса (Выполнение сервиса).
В целом, чтобы позволить неадминистративным пользователям в группе пользователей вызывать сервисы подсистемы аудита, должна быть создана группа пользователей, которой нужно предоставить следующие разрешения:
Подсистема аудита - разрешения видимости.
Подсистема аудита - разрешения времени конструирования - разрешить чтение.
Разрешения времени выполнения подсистемы аудита - определите переопределение каждого сервиса, возможность вызова которого должны иметь все пользователи в группе, и разрешите выполнение сервиса.
В следующей таблице перечислены разрешения, которые нужно предоставить для сущностей, чтобы позволить вызывать в них сервис в подсистеме аудита:
Разрешения для неадминистративных пользователей для выполнения сервисов аудита
Сервис
Тип сущности
Имя сущности
Видимость
Время конструирования
Время выполнения
QueryAuditHistory
Подсистема
AuditSubsystem
Да
Чтение
Сервис: QueryAuditHistory - выполнение сервиса
Структура данных
AuditHistory
Да
Чтение
QueryAuditHistoryWithQueryCriteria
Подсистема
AuditSubsystem
Да
Чтение
Сервис: QueryAuditHistoryWithQueryCriteria - выполнение сервиса
Структура данных
AuditHistory
Да
Чтение
ArchiveAuditHistory
Подсистема
AuditSubsystem
Да
Чтение
Сервис: ArchiveAuditHistory - выполнение сервиса
Вещь
AuditArchiveScheduler
Да
Нет
Свойство LastArchiveTime - чтение свойства и запись свойства
ArchiveAuditHistoryDirectPersistence
Подсистема
Подсистема аудита
Да
Чтение
Сервис: ArchiveAuditHistory-DirectPersistence - выполнение сервиса
Вещь
AuditArchiveSchedulerDirectPersistence
Да
Нет
Свойство LastArchiveTimeDirectPersistence - чтение свойства и запись свойства
ExportAuditData
Подсистема
AuditSubsystem
Да
Чтение
Сервис: ExportAuditData - выполнение сервиса
Вещь
AuditArchiveScheduler
Да
Нет
Свойство LastArchivedTime - чтение свойства и запись свойства
Вещь
<создаваемый пользователем FileRepository>
Да
Нет
Все сервисы - выполнение сервиса
ExportOnlineAuditData
Подсистема
AuditSubsystem
Да
Чтение
Сервис: ExportOnlineAuditData - выполнение сервиса
Вещь
<создаваемый пользователем FileRepository>
Да
Нет
Все сервисы - выполнение сервиса
CleanupOfflineAudit
Подсистема
AuditSubsystem
Да
Чтение
Сервис CleanupOfflineAudit - выполнение сервиса
Вещь
AuditArchiveCleanupScheduler
Да
Нет
Свойство DaysToArchive - чтение свойства и запись свойства
Вещь
AuditArchiveCleanupNotificationScheduler
Да
Нет
Чтение свойства и запись свойства
Вещь
<создаваемый пользователем FileRepository>
Да
Нет
Все сервисы - выполнение сервиса
PurgeAuditData
Подсистема
AuditSubsystem
Да
Чтение
Сервис PurgeAuditData - выполнение сервиса
Вещь
AuditPurgeScheduler
Да
Нет
Чтение свойства и запись свойства
GetAuditEntryCount
Подсистема
AuditSubsystem
Да
Чтение
Сервис GetAuditEntryCount - выполнение сервиса
Было ли это полезно?