Определение модели ThingWorx в Composer > Моделирование > Шаблоны вещей > Удаленные шаблоны > Присутствие вещи > Присутствие вещи - вещи стратегий передачи сообщений: настройка безопасности
Присутствие вещи - вещи стратегий передачи сообщений: настройка безопасности
Безопасность имеет исключительно важное значение. Убедитесь, что для пользователей ThingWorx настроены минимальные требуемые разрешения видимости, времени конструирования и времени выполнения. Кроме того, убедитесь, что любые сервисы, автоматически выполняемые платформой, также сконфигурированы в контексте пользователя с минимально необходимыми разрешениями.
Конфигурация RunAsUser для вещей стратегий
Стратегии передачи сообщений содержат поле конфигурации RunAsUser для задания разрешений на выполнение действий платформы. Значение по умолчанию для этой конфигурации - встроенный пользователь, у которого вообще нет разрешений.
Если пользовательская стратегия ReportingStrategy требует расширения доступа к платформе, например к значениям свойств вещи, необходимо изменить конфигурацию RunAsUser. Для обеспечения безопасности только администраторы могут менять эту настройку. Для пользователя, заданного с опцией RunAsUser, требуются разрешения для видимости и для чтения, которые необходимы для вещи "Стратегия".
Устранение проблем конфигурации RunAsUser
Если для опции RunAsUser заданы недействительные или недостаточные разрешения, устройство не сможет быть помечено как передающее сообщения (для isReporting задано значение true). Соответствующие сообщения появятся в журнале приложения после любой негативной оценки передачи сообщений, включая сбои из-за несуществующего RunAsUser или возникновения исключения безопасности во время попытки вызова ReportingAlgorithm для стратегии. Для тестирования оценки можно непосредственно вызвать EvaluateReporting для вещи устройства, а также можно контролировать сообщения в журналах. Тиейте в виду, что если оценка выявила, что устройство не соединено должным образом, то для isReporting будет задано значение false, если ранее было задано значение true.
Сводка безопасности сервисов
Сервис
EntityOf
Тип
Описание
EvaluateReporting
Подлежит сообщению
Вещь устройства
Точка входа для инициирования оценки передачи сообщений. Используется для таймеров, привязок WebSocket и различных пользовательских событий, которые могут оказывать влияние на статус соединения устройства.
Этот сервис передает свои параметры в ReportingAlgorithm. Рекомендуется использовать этот сервис как способ передачи информации в ReportingAlgorithm.
Этот сервис вызывает ReportingStrategy.ReportingAlgorithm.
SetReportingStrategy
Подлежит сообщению
Вещь устройства
Обновляет свойство Strategy на устройстве до THINGNAME для стратегии, которую устройство будет использовать для определения присутствия.
ReportingAlgorithm
ReportingStrategy
Вещь "Стратегия"
Выполняет оценку вещи с целью определить ее присутствие. Для предотвращения неразрешенного доступа выполняется в контексте пользователя конфигурации RunAsUser стратегии.
Рекомендуется передавать в ReportingAlgorithm как можно больше информации в виде аргументов (для EvaluateReporting) вместо обращения к сущностям ThingWorx изнутри этого сервиса.
* 
Этот метод может быть переопределен.
События ThingWorx и EvaluateReporting
В некоторых случаях может потребоваться выполнение сервиса EvaluateReporting как результата события ThingWorx. Например, может потребоваться выполнение сервиса при первом срабатывании таймера. Следует помнить, что события ThingWorx выполняются в контексте пользователя, инициировавшего событие. В результате у этих пользователей должны быть соответствующие разрешения на выполнение сервиса EvaluateReporting и на последующий вызов ReportingStrategy.ReportingAlgorithm.
Было ли это полезно?