Sicherheit für Prüfungsaktivitäten
Aktivitäten in ThingWorx Platform werden im Kontext eines Benutzers ausgeführt, insbesondere im Sicherheitskontext eines Benutzers. Ein Benutzer kann eine Person sein, die einen Dienst für ein Ding aufruft, oder ein ThingWorx Connection Server, der auf die Plattform zugreift, um eingehende Nachrichten von Edge-Geräten zu liefern. Beide Benutzer arbeiten in einem definierten Sicherheitskontext, der aus Berechtigungen besteht, die dem Benutzer zugewiesen sind. Es gibt Berechtigungen für die Entwurfszeit und die Laufzeit.
ThingWorx Berechtigungen
Die Sicherheit für Entitäten in ThingWorx umfasst das Festlegen der folgenden Berechtigungen:
• Entwurfszeitberechtigungen – Diese steuern, welche Benutzergruppen und Benutzer Elemente erstellen, lesen, aktualisieren und löschen können.
• Laufzeitberechtigungen – Diese steuern, welche Benutzergruppen und Benutzer auf Daten zugreifen, Dienste ausführen und Ereignisse für ein Ding auslösen können, einschließlich Datentabellen, Streams und Benutzer. Sie können Laufzeitberechtigungen auf Ding-, Dingvorlagen- oder Entitätssammlungsebene festlegen. Die abstrakten Entitäten, Dingformen, Data Shapes und Benutzergruppen im Modell haben keine Laufzeitberechtigungen.
• Sichtbarkeitsberechtigungen – Diese definieren, welche Organisation und Organisationseinheiten Zugriff zum Anzeigen einer Entität haben. Wenn die Mitglieder einer Organisation oder von Organisationseinheiten keinen Sichtbarkeitszugriff haben, können sie die Entität nicht in der Entitätsliste oder in den Suchergebnissen sehen. Ihnen können auch keine Lese-, Schreib-, Abonnieren- und anderen Berechtigungen innerhalb der Sichtbarkeitsrechte zugewiesen werden.
Anwendungsfälle und erforderliche Berechtigungen
Nachfolgend werden Anwendungsfälle, was Benutzer sehen müssen und die benötigten Berechtigungen aufgeführt:
• Benutzer, die alle Prüfungseinträge sehen können sollen, die einem bestimmten Ding zugeordnet sind, sollten der Benutzergruppe "Prüfer" hinzugefügt werden und Laufzeitberechtigungen für den Dienst QueryAuditHistory für das Ding sowie Sichtbarkeits- und Laufzeitberechtigungen für das Ding erhalten.
• Benutzer, die nur Prüfungseinträge in ihrem eigenen Benutzerkontext sehen können sollen, sollten Laufzeitberechtigungen für den Dienst QueryAuditHistory für das Ding sowie Laufzeitberechtigungen und Sichtbarkeit für das Ding erhalten.
In ThingWorx Platform Version 9.0.0 wurde eine Benutzergruppe namens "Prüfer" hinzugefügt, um Benutzern ohne Administratorrechte Berechtigungen zuzuweisen. Weitere Informationen finden Sie im nächsten Abschnitt.
Berechtigungen für die Benutzergruppen "Administratoren" und "Prüfer"
Standardmäßig haben Benutzer in der Gruppe "Administratoren" vollständige Berechtigungen für alle Elemente in ThingWorx, einschließlich des Prüfungsuntersystems, seiner Dienste und Daten. Standardmäßig können Benutzer in der Gruppe "Prüfer" beim Ausführen des Diensts
QueryAuditHistiory für ein Ding die Prüfungseinträge sehen, die von anderen Benutzern erstellt wurden. Für Benutzer und Benutzergruppen ohne Administratorrechte müssen Administratoren mithilfe von Dienstüberschreibungen die Möglichkeit gewähren, die vom Prüfungsuntersystem bereitgestellten Dienste aufzurufen. Weitere Informationen zur Verwendung von Dienstüberschreibungen finden Sie unter
Dienstüberschreibungen.
Standardmäßig verfügen Benutzer in der Gruppe "Administratoren" über Berechtigungen für die folgenden Entitäten in Bezug auf das Prüfungsuntersystem:
• Prüfungsuntersystem – ein Systemobjekt, das die folgenden Dienste in beiden Implementierungen verfügbar macht:
◦ Ausführen des Dienstes – Ausführung von QueryAuditHistory für das Prüfungsuntersystem
◦ Ausführen des Dienstes – ArchiveAuditHistory
◦ Ausführen des Dienstes – ExportAuditData
◦ Ausführen des Dienstes – CleanupOfflineAudit
◦ Ausführen des Dienstes – GetAuditEntryCount
◦ Ausführen des Dienstes – PurgeAuditData
◦ Ausführen des Dienstes – ExportOnlineAuditData
◦ Ausführen des Dienstes – ArchiveAuditHistoryDirectPersistence
◦ Ausführen des Dienstes – QueryAuditHistoryWithQueryCriteria
◦ Ausführen des Dienstes – Ausführung von QueryAuditHistory für ein Ding
• AuditArchiveFileRepository – das Datei-Repository des Prüfungsuntersystems, das für die Prüfungsarchive verwendet wird. Das Repository wird beim Start des Untersystems erstellt und verfügt über ein Verzeichnis für die derzeit aktive Implementierung. Wenn Sie von einer Implementierung zur anderen wechseln, werden die Prüfungsdaten aus der zuvor aktiven Implementierung beibehalten, und es wird ein neues Verzeichnis für die derzeit aktive Implementierung erstellt. Die Struktur des Repository ähnelt dem folgenden Beispiel einer Installation, in der beide Implementierungen aktiv waren:
• Abhängig von der aktiven Implementierung einer von zwei Schedulern für die Archivierung von Prüfungsdaten:
◦ AuditArchiveScheduler – ein Scheduler-Ding, das die automatisierte Archivierung von Prüfungseinträgen für die Datentabellen-Implementierung steuert.
◦ AuditArchiveSchedulerDirectPersistence – ein Scheduler-Ding, das die automatisierte Archivierung von Prüfungseinträgen für die Direktpersistenz-Implementierung steuert.
• AuditPurgeScheduler – ein Scheduler-Ding, das das automatisierte Aufräumen von Online-Prüfungseinträgen steuert.
• AuditArchiveCleanupScheduler – plant das Bereinigen von archivierten Offline-Prüfungsdatendateien.
• AuditArchiveCleanupNotificationScheduler – Sendet Erinnerungsbenachrichtigungen zur Bereinigung.
Erforderliche Berechtigungen für Benutzer ohne Administratorrechte
Die folgende Tabelle zeigt die Berechtigungen, die Benutzern ohne Administratorrechte in einer Benutzergruppe gewährt werden können, damit sie auf die Entitäten des Prüfungsuntersystems zugreifen können.
| Gewähren Sie Nicht-Administratoren NICHT die Berechtigung zum Bearbeiten von Objekten zur Entwurfszeit. Administratoren sollten Systemobjekte NICHT zur Entwurfszeit bearbeiten. Wenn Sie sie zur Entwurfszeit bearbeiten, können während eines Upgrades vorgenommene Änderungen verloren gehen. |
Erforderliche Berechtigungen für Prüfungsentitäten für eine Benutzergruppe ohne Administratorrechte
Entität | Berechtigungen für eine Nicht-Administrator-Benutzergruppe |
---|
Prüfungsuntersystem | So erlauben Sie Benutzern und Benutzergruppen ohne Administratorrechte das Aufrufen der Dienste QueryAuditHistory, QueryAuditHistoryWithQueryCriteria, ArchiveAuditHistory, ExportAuditData, ExportOnlineAuditData, CleanupOfflineAudit, PurgeAuditData, GetAuditEntryCount und ArchiveAuditHistoryDirectPersistence: • Untersystem für Prüfung – > . • Prüfungsuntersystem – > . Definieren Sie eine Dienstüberschreibung für jeden Dienst, den Benutzer in der Gruppe aufrufen können sollen, und fügen Sie eine Operation Ausführen des Dienstes für jeden Dienst hinzu. |
AuditArchiveFileRepository | Benutzern oder Benutzergruppen ohne Administratorrechte sollten KEINE Berechtigungen für das AuditArchiveFileRepository des Prüfungsuntersystems gewährt werden. |
AuditArchiveScheduler (Datentabellen-Implementierung) | Benutzer in der Gruppe "Administratoren" sollten Zugriff auf dieses Scheduler-Ding haben. Das Scheduler-Ding hat eine Eigenschaft, namens lastArchivedTime, die nach jeder erfolgreichen Ausführung einer Archivierung aktualisiert wird. Obwohl dies möglich ist, sollte diese Eigenschaft NIE von einem Benutzer, Administrator oder Nicht-Administrator aktualisiert werden. Aus diesem Grund (und anderen für Ihre Organisation) wird empfohlen, dass Nicht-Administratoren KEIN Zugriff auf den Scheduler gewährt wird. |
AuditArchiveSchedulerDirectPersistence | Benutzer in der Gruppe "Administratoren" sollten Zugriff auf dieses Scheduler-Ding haben. Das Scheduler-Ding hat eine Eigenschaft, namens lastArchivedTimeDirectPersistence, die nach jeder erfolgreichen Ausführung einer Archivierung aktualisiert wird. Obwohl dies möglich ist, sollte diese Eigenschaft NIE von einem Benutzer, Administrator oder Nicht-Administrator aktualisiert werden. Aus diesem Grund (und anderen für Ihre Organisation) wird empfohlen, dass Nicht-Administratoren KEIN Zugriff auf den Scheduler gewährt wird. |
AuditPurgeScheduler | Nur Benutzer in der Gruppe "Administratoren" sollten Zugriff auf dieses Scheduler-Ding haben. Es wird empfohlen, Nicht-Administratoren KEINEN Zugriff auf diesen Scheduler zu gewähren. |
AuditArchiveCleanupScheduler | Nur Benutzer in der Gruppe "Administratoren" sollten Zugriff auf dieses Scheduler-Ding haben. Es wird empfohlen, Nicht-Administratoren KEINEN Zugriff auf diesen Scheduler zu gewähren. |
AuditArchiveCleanupNotificationScheduler | So führen Sie für Nicht-Administratoren die Benachrichtigung für den Bereinigungsdienst aus: • AuditArchiveCleanupNotificationScheduler – > • AuditArchiveCleanupNotificationScheduler – > . Definieren Sie eine Dienstüberschreibung für diesen Dienst (Ausführen des Dienstes). |
Im Allgemeinen sollte eine Benutzergruppe erstellt und dieser sollten die folgenden Berechtigungen gewährt werden, damit Benutzer ohne Administratorrechte in einer Benutzergruppe Dienste des Prüfungsuntersystems aufrufen können:
• Prüfungsuntersystem – Sichtbarkeitsberechtigungen
• Prüfungsuntersystem – Entwurfszeitberechtigungen – Lesen zulassen
• Laufzeitberechtigungen für das Prüfungsuntersystem – Definieren Sie eine Dienstüberschreibung für jeden Dienst, den Benutzer in der Gruppe aufrufen können sollen, und lassen Sie das Ausführen des Dienstes zu.
In der folgenden Tabelle werden die Berechtigungen aufgeführt, die Entitäten gewährt werden müssen, damit ein Dienst für sie im Prüfungsuntersystem aufgerufen werden kann:
Berechtigungen für Benutzer ohne Administratorrechte zum Ausführen von Prüfungsdiensten
Dienst | Entitätstyp | Entitätsname | Sichtbarkeit | Entwurfszeit | Laufzeit |
---|
QueryAuditHistory | Untersystem | AuditSubsystem | Ja | Lesen | Dienst: QueryAuditHistory – Ausführen des Dienstes |
Data Shape | AuditHistory | Ja | Lesen |
QueryAuditHistoryWithQueryCriteria | Untersystem | AuditSubsystem | Ja | Lesen | Dienst: QueryAuditHistoryWithQueryCriteria – Ausführen des Dienstes |
Data Shape | AuditHistory | Ja | Lesen |
ArchiveAuditHistory | Untersystem | AuditSubsystem | Ja | Lesen | Dienst: ArchiveAuditHistory: Ausführen des Dienstes |
Ding | AuditArchiveScheduler | Ja | Keine | Eigenschaft LastArchiveTime: Lesen der Eigenschaft und Schreiben der Eigenschaft |
ArchiveAuditHistoryDirectPersistence | Untersystem | Untersystem für Prüfung | Ja | Lesen | Dienst: ArchiveAuditHistory-DirectPersistence: Ausführen des Dienstes |
Ding | AuditArchiveSchedulerDirectPersistence | Ja | Keine | Eigenschaft LastArchiveTimeDirectPersistence: Lesen der Eigenschaft und Schreiben der Eigenschaft |
ExportAuditData | Untersystem | AuditSubsystem | Ja | Lesen | Dienst: ExportAuditData: Ausführen des Dienstes |
Ding | AuditArchiveScheduler | Ja | Keine | Eigenschaft LastArchivedTime: Lesen der Eigenschaft und Schreiben der Eigenschaft |
Ding | <vom Benutzer erstelltes Datei-Repository> | Ja | Keine | Alle Dienste: Ausführen des Dienstes |
ExportOnlineAuditData | Untersystem | AuditSubsystem | Ja | Lesen | Dienst: ExportOnlineAuditData: Ausführen des Dienstes |
Ding | <vom Benutzer erstelltes Datei-Repository> | Ja | Keine | Alle Dienste: Ausführen des Dienstes |
CleanupOfflineAudit | Untersystem | AuditSubsystem | Ja | Lesen | Dienst CleanupOfflineAudit: Ausführen des Dienstes |
Ding | AuditArchiveCleanupScheduler | Ja | Keine | Eigenschaft DaysToArchive: Lesen der Eigenschaft und Schreiben der Eigenschaft |
Ding | AuditArchiveCleanupNotificationScheduler | Ja | Keine | Lesen der Eigenschaft und Schreiben der Eigenschaft |
Ding | <vom Benutzer erstelltes Datei-Repository> | Ja | Keine | Alle Dienste: Ausführen des Dienstes |
PurgeAuditData | Untersystem | AuditSubsystem | Ja | Lesen | Dienst PurgeAuditData: Ausführen des Dienstes |
Ding | AuditPurgeScheduler | Ja | Keine | Lesen der Eigenschaft und Schreiben der Eigenschaft |
GetAuditEntryCount | Untersystem | AuditSubsystem | Ja | Lesen | Dienst GetAuditEntryCount: Ausführen des Dienstes |