Sécurité des activités d'audit
Les activités sur ThingWorx Platform s'effectuent dans le contexte d'un utilisateur, en particulier le contexte de sécurité d'un utilisateur. Un utilisateur peut être une personne qui appelle un service sur un objet ou il peut s'agir d'un serveur de connexion ThingWorx qui accède à la plateforme pour livrer des messages entrants de périphériques Edge. Ces deux utilisateurs opèrent dans un contexte de sécurité défini, déterminé par les permissions attribuées à l'utilisateur. Il existe des permissions pour les phases de conception et d'exécution.
Autorisations ThingWorx
La sécurité des entités dans ThingWorx nécessite de définir les autorisations suivantes :
• Autorisations de conception : elles définissent les utilisateurs et groupes d'utilisateurs autorisés à créer, lire, mettre à jour et supprimer des entités.
• Autorisations d'exécution : elles définissent les groupes d'utilisateurs et les utilisateurs qui peuvent accéder aux données, exécuter des services et déclencher des événements sur un objet, notamment les tables de données, les flux et les utilisateurs. Vous pouvez définir des autorisations d'exécution au niveau de l'objet, du modèle d'objet ou de la collection d'entités. Les entités, les formes d'objet, les formes de données et les groupes d'utilisateurs abstraits d'un modèle ne disposent pas d'autorisations d'exécution.
• Autorisations de visibilité : elles définissent l'organisation et les unités d'organisation qui disposent d'un accès pour afficher une entité. Si les membres d'une organisation ou des unités d'organisation ne disposent pas d'une autorisation de visibilité, ils ne peuvent afficher l'entité ni dans la liste d'entités, ni dans les résultats de recherche. Ils ne peuvent pas non plus se voir attribuer des autorisations de lecture, d'écriture, d'abonnement et autres, dans le cadre des droits de visibilité.
Cas d'utilisation et autorisations requises
Les cas d'utilisation, les données visibles aux utilisateurs et les autorisations requises sont notamment les suivants :
• Les utilisateurs habilités à voir toutes les entrées d'audit associées à un objet particulier doivent être ajoutés au groupe d'utilisateurs Auditeurs et doivent disposer des autorisations d'exécution du service QueryAuditHistory sur l'objet, ainsi que des autorisations de visibilité et d'exécution sur l'objet.
• Les utilisateurs habilités à voir uniquement les entrées d'audit dans leur contexte d'utilisateur doivent disposer des autorisations d'exécution du service QueryAuditHistory sur l'objet, ainsi que des autorisations d'exécution et de visibilité sur l'objet.
Autorisations pour les groupes d'utilisateurs Administrateurs et Auditeurs
Par défaut, les utilisateurs du groupe Administrateurs disposent de toutes les autorisations nécessaires pour tous les éléments de ThingWorx, y compris le sous-système d'audit, ses services et ses données. Par défaut, les utilisateurs du groupe Auditeurs peuvent voir les entrées d'audit créées par d'autres utilisateurs lors de l'exécution du service
QueryAuditHistiory sur un objet. Pour les utilisateurs et les groupes d'utilisateurs non-administrateurs, les administrateurs doivent les autoriser à appeler les services fournis par le sous-système d'audit, en utilisant des remplacements de service. Pour plus d'informations sur l'utilisation des remplacements de service. reportez-vous à la rubrique
Remplacements de service.
Par défaut, les utilisateurs du groupe Administrateurs disposent des autorisations sur les entités suivantes associées au sous-système d'audit :
• Sous-système d'audit, qui est un objet système qui expose les services suivants dans les deux implémentations :
◦ Exécution de services : QueryAuditHistory (exécution sur le sous-système d'audit)
◦ Exécution de services : ArchiveAuditHistory
◦ Exécution de services : ExportAuditData
◦ Exécution de services : CleanupOfflineAudit
◦ Exécution de services : GetAuditEntryCount
◦ Exécution de services : PurgeAuditData
◦ Exécution de services : ExportOnlineAuditData
◦ Exécution de services : ArchiveAuditHistoryDirectPersistence
◦ Exécution de services : QueryAuditHistoryWithQueryCriteria
◦ Exécution de services : QueryAuditHistory (exécution sur un objet)
• AuditArchiveFileRepository, qui est le référentiel de fichiers du sous-système d'audit utilisé pour les archives d'audit. Créé au démarrage du sous-système, le référentiel dispose d'un répertoire pour l'implémentation active. Si vous passez d'une implémentation à l'autre, les données d'audit de l'implémentation précédente sont conservées et un nouveau répertoire est créé pour l'implémentation actuellement active. La structure du référentiel est similaire à l'illustration suivante dans une installation où les deux implémentations ont été utilisées :
• Selon l'implémentation active, l'un des deux planificateurs pour l'archivage des données d'audit :
◦ AuditArchiveScheduler, qui est un objet Scheduler qui contrôle l'archivage automatisé des entrées d'audit pour l'implémentation de type Table de données.
◦ AuditArchiveSchedulerDirectPersistence, qui est un objet Scheduler qui contrôle l'archivage automatisé des entrées d'audit pour l'implémentation de type Persistance directe.
• AuditPurgeScheduler, qui est un objet Scheduler qui contrôle la purge automatisée des entrées d'audit en ligne.
• AuditArchiveCleanupScheduler, qui planifie le nettoyage des fichiers de données d'audit hors ligne et archivés.
• AuditArchiveCleanupNotificationScheduler : envoie des notifications de rappel de nettoyage.
Autorisations requises pour les utilisateurs non-administrateurs
La table ci-dessous présente les autorisations pouvant être accordées aux utilisateurs non-administrateurs d'un groupe d'utilisateurs pour leur donner accès à ces entités du sous-système d'audit.
| Veillez à ne pas autoriser les utilisateurs non administrateurs à modifier des objets au moment de la conception. Les administrateurs ne doivent pas modifier les objets système au moment de la conception. En procédant ainsi, vous risquez de perdre les modifications apportées lors d'une mise à niveau. |
Autorisations requises pour l'audit d'entités par un groupe d'utilisateurs non-administrateurs
Entité | Permissions pour un groupe d'utilisateurs non administrateurs |
---|
Sous-système d'audit | Pour autoriser les utilisateurs et groupes d'utilisateurs non-administrateurs à appeler les services QueryAuditHistory, QueryAuditHistoryWithQueryCriteria, ArchiveAuditHistory, ExportAuditData, ExportOnlineAuditData, CleanupOfflineAudit, PurgeAuditData, GetAuditEntryCount et ArchiveAuditHistoryDirectPersistence : • Sous-système d'audit : > . • Sous-système d'audit : > . Définissez un remplacement de service pour chaque service dont vous souhaitez autoriser l'appel par les utilisateurs du groupe, et ajoutez une Exécution de services pour chaque service. |
AuditArchiveFileRepository | Permissions liées au AuditArchiveFileRepository du sous-système d'audit. Elles NE doivent PAS être accordées aux utilisateurs ou groupes d'utilisateurs non-administrateurs. |
AuditArchiveScheduler (Implémentation de type Table de données) | Les utilisateurs du groupe Administrateurs doivent avoir accès à cet objet planificateur. Cet objet dispose d'une propriété appelée lastArchivedTime, qui est mise à jour après chaque exécution réussie d'une opération d'archivage. Bien que cela soit possible, cette propriété ne doit JAMAIS être mise à jour par un utilisateur, qu'il soit ou non-administrateur. Pour cette raison (et d'autres motifs propres à votre organisation), il est recommandé que les utilisateurs non-administrateurs n'aient PAS accès au planificateur. |
AuditArchiveSchedulerDirectPersistence | Les utilisateurs du groupe Administrateurs doivent avoir accès à cet objet planificateur. Cet objet dispose d'une propriété appelée lastArchivedTimeDirectPersistence, qui est mise à jour après chaque exécution réussie d'une opération d'archivage. Bien que cela soit possible, cette propriété ne doit JAMAIS être mise à jour par un utilisateur, qu'il soit ou non-administrateur. Pour cette raison (et d'autres motifs propres à votre organisation), il est recommandé que les utilisateurs non-administrateurs n'aient PAS accès au planificateur. |
AuditPurgeScheduler | Seuls les utilisateurs du groupe Administrateurs doivent avoir accès à cet objet planificateur. Il est recommandé de NE PAS autoriser les utilisateurs non administrateurs à accéder à ce planificateur. |
AuditArchiveCleanupScheduler | Seuls les utilisateurs du groupe Administrateurs doivent avoir accès à cet objet planificateur. Il est recommandé de NE PAS autoriser les utilisateurs non administrateurs à accéder à ce planificateur. |
AuditArchiveCleanupNotificationScheduler | Pour autoriser les utilisateurs non-administrateurs à exécuter la notification du service de nettoyage : • AuditArchiveCleanupNotificationScheduler : > • AuditArchiveCleanupNotificationScheduler : > . Définissez un remplacement de service pour ce service (Exécution de services). |
En général, pour autoriser les non-administrateurs d'un groupe d'utilisateurs à appeler les services du sous-système d'audit, un groupe d'utilisateurs doit être créé et les permissions suivantes doivent lui être accordées :
• Sous-système d'audit : permissions de visibilité
• Sous-système d'audit : permissions de conception : autoriser la lecture
• AuditSubsystem : autorisations d'exécution : définissez un remplacement de service pour chaque service dont vous souhaitez autoriser l'appel par les utilisateurs du groupe, et autorisez l'Exécution de services.
Le tableau suivant répertorie les permissions qui doivent être accordées aux entités pour autoriser l'appel d'un service sur celles-ci dans le sous-système d'audit :
Autorisations d'exécution des services d'audit par les utilisateurs non-administrateurs
Service | Type d'entité | Nom de l'entité | Visibilité | Conception | Exécution |
---|
QueryAuditHistory | Sous-système | AuditSubsystem | Oui | Lire | Service QueryAuditHistory - Exécution de services |
Forme de données | AuditHistory | Oui | Lire |
QueryAuditHistoryWithQueryCriteria | Sous-système | AuditSubsystem | Oui | Lire | Service QueryAuditHistoryWithQueryCriteria - Exécution de services |
Forme de données | AuditHistory | Oui | Lire |
ArchiveAuditHistory | Sous-système | AuditSubsystem | Oui | Lire | Service ArchiveAuditHistory - Exécution de services |
Objet | AuditArchiveScheduler | Oui | Aucune | Propriété LastArchiveTime : lecture de propriétés et écriture de propriétés |
ArchiveAuditHistoryDirectPersistence | Sous-système | AuditSubsystem | Oui | Lire | Service ArchiveAuditHistory-DirectPersistence - Exécution de services |
Objet | AuditArchiveSchedulerDirectPersistence | Oui | Aucune | Propriété LastArchiveTimeDirectPersistence : lecture de propriétés et écriture de propriétés |
ExportAuditData | Sous-système | AuditSubsystem | Oui | Lire | Service ExportAuditData - Exécution de services |
Objet | AuditArchiveScheduler | Oui | Aucune | Propriété LastArchivedTime : lecture de propriétés et écriture de propriétés |
Objet | <Référentiel de fichiers utilisateur> | Oui | Aucune | Tous les services - Exécution de services |
ExportOnlineAuditData | Sous-système | AuditSubsystem | Oui | Lire | Service ExportOnlineAuditData - Exécution de services |
Objet | <Référentiel de fichiers utilisateur> | Oui | Aucune | Tous les services - Exécution de services |
CleanupOfflineAudit | Sous-système | AuditSubsystem | Oui | Lire | Service CleanupOfflineAudit - Exécution de services |
Objet | AuditArchiveCleanupScheduler | Oui | Aucune | Propriété DaysToArchive : lecture de propriétés et écriture de propriétés |
Objet | AuditArchiveCleanupNotificationScheduler | Oui | Aucune | Lecture de propriétés et écriture de propriétés |
Objet | <Référentiel de fichiers utilisateur> | Oui | Aucune | Tous les services - Exécution de services |
PurgeAuditData | Sous-système | AuditSubsystem | Oui | Lire | Service PurgeAuditData - Exécution de services |
Objet | AuditPurgeScheduler | Oui | Aucune | Lecture de propriétés et écriture de propriétés |
GetAuditEntryCount | Sous-système | AuditSubsystem | Oui | Lire | Service GetAuditEntryCount - Exécution de services |