Sicherheit für Remotezugriff
Um Remotesitzungen für Geräte auszuführen, für die sie verantwortlich sind, benötigen Endbenutzer Berechtigungen und Sichtbarkeit, um die Remotezugriffsdienste auszuführen, die auf den Dingen mit zugewiesener RemoteAccessible-Dingform zur Verfügung stehen. Der Systemadministrator ist verantwortlich für die Einrichtung der Sicherheitsentitäten (z.B. Nicht-Administratorbenutzer, Benutzergruppen und Organisationen), für die Berechtigungen und Sichtbarkeit erforderlich sind. Außerdem sind Administratoren dafür verantwortlich, die Dienste, welche Berechtigungen und Sichtbarkeit für den Remotezugriff gewähren, auszuführen.
* 
Wenn Ihre Assets Axeda eMessage Agents (Axeda Gateway und Axeda Connector) ausführen, muss die ThingWorx Connection Services Extension (CSE) zuerst importiert werden, gefolgt von der ThingWorx Remote Access Extension (RAE) und der ThingWorx Axeda Compatibility Extension (ACE). Werden diese drei Erweiterungen nicht in genau dieser Reihenfolge importiert, so verfügen Sie nicht über alle Entitäten, die Sie für Assets benötigen, die Axeda eMessage Agents ausführen.
Sicherheitsentitäten erstellen
Sie müssen mindestens eine der nachfolgenden Entitäten erstellen, um die Sicherheit für den Remotezugriff einzurichten:
Ein ThingWorx Nichtadministrator. Beispiel: raUuser.
Eine ThingWorx Benutzergruppe. Beispiel: raUserGroup. Fügen Sie dieser Gruppe einen Nicht-Administrator-Benutzer hinzu.
Eine ThingWorx Organisation. Beispiel: raOrg. Fügen Sie dieser Organisation die Benutzergruppe raUserGroup hinzu.
Details zu Benutzern, Benutzergruppen, Organisationen sowie Sichtbarkeit und Berechtigungen für Dinge und Dingvorlagen für diese Entitäten finden Sie unter den folgenden Themen:
Sobald Sie die Sicherheitsentitäten erstellt haben, können Sie Dienste ausführen, um Benutzern Berechtigungen und Sicherheit für den Remotezugriff auf Dinge sowie Dinge, die von einer bestimmten Dingvorlage abgeleitet sind, zu gewähren. Sie benötigen die Namen der Benutzergruppen und der Organisationen, die sie erstellt haben, wenn Sie die Dienste ausführen.
Ausführen von Diensten, um Sichtbarkeit und Berechtigungen für den Remotezugriff zu gewähren
Die ThingWorx Remote Access Extension (RAE) und die ThingWorx Axeda Compatibility Extension (ACE) bieten Dienste, die die Einstellung von Berechtigungen und Sichtbarkeit für den Remotezugriff automatisieren. Die folgenden Dinge stellen diese Dienste bereit:
ThingworxInternalRemoteAccessProvider-Ding (RAE) für Assets, die eine Edge-Anwendung ausführen, die mit einem ThingWorx Edge SDK, einem ThingWorx WebSocket-based Edge MicroServer (WS EMS) oder einer Lua Script Resource (LSR) geschrieben wurden:
RemoteAccessPermissionsServices.GrantPermissionsThingWorxInternalForThing
RemoteAccessPermissionsServices.GrantPermissionsThingWorxInternalForTemplate
eMessageServices-Ding (ACE) für Assets, die Axeda Gateway Agents oder Axeda Connector Agents ausführen:
eMessageServices.GrantRemoteAccessPermissionsForThing.
eMessageServices.GrantRemoteAccessPermissionsForTemplate.
Wann sollten die von diesen Dingen bereitgestellten Dienste verwendet werden? Dies hängt von dem Agenten ab, der auf den Edge-Geräten ausgeführt wird. Die folgende Tabelle ordnet die Typen von Agents ihren RemoteAccessProvider-Dingen zu und zeigt den Namen des Dings an, aus dem Dienste ausgeführt werden sollen, um Remotezugriffsberechtigungen und Sichtbarkeit für eine Organisation und/oder Benutzergruppe zu gewähren. Die Tabelle zeigt auch an, welche Erweiterung die notwendigen Dinge bereitstellt.
Agenten zu Remotezugriffsanbietern zuordnen
Agenttyp
Erforderliche Erweiterungen
Remotezugriffsanbieter
Dienstding (Erweiterung)
ThingWorx WebSocket-based Edge MicroServer (WS EMS) und Lua Script Resource (LSR)
RAE
ThingworxInternalRemoteAccessProvider-Ding (RAE).
RemoteAccessPermissionsServices-Ding (RAE)
Axeda eMessage Agents (Axeda Gateway und Axeda Connector)
RAE und ACE*
Axeda Global Access Server (GAS), dargestellt in ThingWorx durch das GASRemoteAccessProvider-Ding (ACE)
eMessageServices-Ding (ACE)
* 
* Die RAE stellt die grundlegenden Entitäten für den Remotezugriff bereit, die mit den Axeda-Entitäten implementiert werden. Aus diesem Grund benötigen Sie beide Erweiterungen für den Remotezugriff mit Axeda Agents.
Navigieren Sie zu dem Ding, welches die Dienste zum Gewähren von Berechtigungen für den Remotezugriff bereitstellt, und führen Sie anschließend einen oder beide Dienste aus, um einer Organisation oder einer Benutzergruppe Sichtbarkeit und Berechtigungen zu gewähren. Verwenden Sie den Dienst GrantRemoteAccessPermissionsForThing, um Sichtbarkeit und Berechtigungen für ein einzelnes Ding zu gewähren. Verwenden Sie den Dienst GrantRemoteAccessPermissionsForTemplate, um Sichtbarkeit und Berechtigungen für einen Satz von Dingen (d.h. alle Dinge derselben Dingvorlage) zu gewähren. In beiden Fällen MÜSSEN die folgenden Parameter für den Dienst festgelegt werden:
organization – Geben Sie den Namen der Organisation an, der Sichtbarkeit und Berechtigungen gewährt werden sollen, um Remotesitzungen auf dem angegebenen Ding oder Dingen, die von der angegebenen Dingvorlage abgeleitet wurden, zu starten, zu beenden und abzurufen. Der ThingWorx Basistyp für diesen Parameter ist STRING.
userGroup – Geben Sie den Namen der Benutzergruppe an, der Sichtbarkeit und Berechtigungen gewährt werden sollen, um Remotesitzungen auf dem angegebenen Ding oder Dingen, die von der angegebenen Dingvorlage abgeleitet wurden, zu starten, zu beenden und abzurufen. Der ThingWorx Basistyp für diesen Parameter ist GROUPNAME.
Geben Sie den Namen der Entität an, für die die Remotezugriffsberechtigungen und die Sichtbarkeit für die angegebene Organisation und Benutzergruppe gewährt werden sollen:
thingName – Geben Sie für den Dienst, der Berechtigungen für den Remotezugriff auf ein Ding gewährt, den Namen dieses Dings in ThingWorx an. Der Basistyp für diesen Parameter ist THINGNAME.
templateName – Geben Sie für den Dienst, der Berechtigungen für den Remotezugriff auf eine Dingvorlage gewährt, den Namen dieser Dingvorlage an. Der Basistyp für diesen Parameter ist THINGTEMPLATENAME.
WICHTIG! Das für den Dienst angegebene Ding oder die angegebene Dingvorlage müssen die Dingform RemoteAccessible implementieren. Die nachfolgende Tabelle ordnet Agenten zu Dingvorlagen zu. Sollten Sie benutzerdefinierte Dingvorlagen erstellt haben, können Sie diese Dingvorlagen ebenfalls angeben. Stellen Sie sicher, dass diese Dingvorlagen ebenfalls die RemoteAccessible-Dingform implementieren.
Agenttypen Dingvorlagen zuordnen
Agenttyp
Dingvorlagen
ThingWorx WebSocket-based Edge MicroServer (WS EMS) und Lua Script Resource (LSR)
RemoteThingWithTunnels, RemoteThingWithTunnelsAndFileTransfer oder eine benutzerdefinierte Dingvorlage, die eine dieser Dingvorlagen UND die Dingform RemoteAccessible implementiert.
Edge-Anwendung geschrieben mit ThingWorx Edge C SDK, ThingWorx Edge Java SDK oder ThingWorx Edge .NET SDK
RemoteThingWithTunnels, RemoteThingWithTunnelsAndFileTransfer oder eine benutzerdefinierte Dingvorlage, die eine dieser Dingvorlagen UND die Dingform RemoteAccessible implementiert.
Axeda eMessage Agents
AxedaEMessageGatewayModel, AxedaManagedModel, AxedaStandaloneModel oder eine benutzerdefinierte Dingvorlage, die eine dieser Dingvorlagen implementiert. Alle diese Dingvorlagen implementieren die Dingform AxedaRemoteAccessible.
Sicherheit für den ThingWorx Remote Access Client (RAC)
Der Remote Access Client kann über ein Mashup gestartet werden, das eine Benutzeroberfläche zum Verwalten und Erstellen von Remote-Sitzungen bereitstellt. Ab v.1.1.0 des RAC und v.1.2.0 der RAE wird ein temporärer Anwendungsschlüssel namens Nonce-Schlüssel von ThingWorx Platform für den Benutzer generiert, der die Remote-Sitzung initiiert. Nachdem dieser Schlüssel erstellt wurde, wird ein URI erstellt, der den Nonce-Schlüssel, den öffentlichen Host und Port der Plattform sowie die Sitzungs-ID der neu erstellten Remote-Sitzung enthält. Dieser URI wird verwendet, um den Remote Access Client zu starten. Der Nonce-Schlüssel im URI wird verwendet, um Konnektivität vom Remote Access Client zur Plattform einzurichten. Nachdem der Nonce-Schlüssel verwendet wurde oder abgelaufen ist, wird er so schnell wie möglich von der Plattform entfernt.
Plattform-Benutzerberechtigungen
Der Remote Access Client stellt eine Verbindung mit ThingWorx Platform her. Dabei wird ein Nonce-Schlüssel verwendet wird, der dem Initiator der Sitzung zugeordnet ist. Der Benutzer verfügt über den Remote Access Client über den Mindestsatz an Sicherheitsanforderungen, die für den Client erforderlich sind, um eine Sitzung mit dem Remote-Gerät zu starten:
READ auf dem RemoteAccessible-Ding
PROPERTY READ auf dem RemoteAccessible-Ding
SERVICE INVOKE auf den Sitzungsdiensten wie StartSession auf dem RemoteAccessible-Ding