Extensions für Benutzerdatenbanken
Voraussetzung: Mindestens TwinCAT 3 Build 4024.8 Die im Folgenden beschriebenen Funktionen erfordern mindestens TwinCAT 3 Build 4024.8. |
Verzeichnis zum Speichern von Benutzerdatenbanken Benutzerdatenbanken müssen im folgenden Verzeichnis gespeichert sein, um im TwinCAT Engineering genutzt werden zu können: C:\TwinCAT\3.1\CustomConfig\UserDBs |
Betriebssystemzugriff nur für autorisierte Benutzer erlauben Der Inhalt der Benutzerdatenbank ist mit einer Signatur gegen Manipulationen geschützt. Die Namen von Gruppen, Object Protection Leveln und Benutzern sind nicht verschlüsselt und könnten ausgelesen werden. Der Zugriff auf den IPC sollte über das Betriebssystem auf autorisierte Nutzer eingeschränkt werden. |
Einführung
Ab Build 4024.8 unterstützt die TwinCAT Software Protection Erweiterungsdateien für die Benutzerdatenbank, sogenannte „User DB Extensions“.
- Eine Benutzerdatenbank kann mit diesen „Extensions“ erweitert werden.
- Eine Extension ist eine zusätzliche XML-Datei, die vom Aufbau her der Haupt-Benutzerdatenbank entspricht, aber nur zusammen mit der Haupt-Benutzerdatenbank verwendet werden kann. Eine Extension ist also allein, ohne Haupt-Benutzerdatenbank, nicht nutzbar.
- Eine Extension kann nur die Definition von Benutzern, aber nicht die Definition von Gruppen oder Object Protection Leveln enthalten.
- Eine Extension hat keinen eigenen Administrator. Der signierende Administrator der Haupt-Benutzerdatenbank ist ebenfalls der signierende Administrator der zugehörigen Extension.
- Eine vorhandene Extension-Datei kann auf Dateiebene hinzugefügt oder entfernt werden. Dafür ist keine Konfiguration in der zugehörigen Haupt-Benutzerdatenbank erforderlich (erfordert also keine Administrator-Rechte).
- Die Extensions werden in einem Unterverzeichnis mit dem Namen der Haupt-Benutzerdatenbank abgelegt (unterhalb des Verzeichnisses, dass die Haupt- Benutzerdatenbank enthält): C:\TwinCAT\3.1\CustomConfig\UserDBs\<Name der UserDB>.
- Eine Extension ist in der Regel zeitlich begrenzt.
- Eine Benutzerdatenbank kann eine beliebige Anzahl Extensions haben.
Anwendung:
- In der Haupt-Benutzerdatenbank werden statische Informationen (wie die Definition von Gruppen oder Object Protection Leveln) abgelegt.
- In der Extension werden zeitlich begrenzte Informationen (Benutzer) gespeichert, z. B. für Servicezwecke.
Eine Benutzerdatenbank kann auf Dateiebene ohne Weiteres gegen eine andere Version (mit gleichem Namen und gleichem User DB Key) ausgetauscht werden. Um Änderungen in der Benutzerdatenbank manipulationssicher zu machen (Schutz vor Austausch gegen eine ältere Version ohne die Änderungen), müsste eine komplett neue Benutzerdatenbank (mit einem anderen User DB Key) erzeugt und erneut mit dem Projekt verbunden werden. Das ist aber in der Praxis häufig nicht realisierbar. Das kann einfach und elegant mit Extensions der Benutzerdatenbank gelöst werden.:
- Die Haupt-Benutzerdatenbank (mit den statischen Informationen wie der Definition von Gruppen oder Object Protection Leveln) ist fest mit dem Projekt verbunden.
- Die (zeitlich begrenzte) Extension enthält alle Informationen (Benutzer), die sich über die Zeit ändern können.
Szenarien mit verschiedenen Benutzergruppen / Object Protection Leveln sind mit Extensions einfacher zu realisieren. So können z. B. Inhouse-Entwickler in einer eigenen Extension zusammengefasst werden, die bei der Auslieferung einfach nicht mit auf das Zielsystem kopiert wird. So können Bereiche (oder einzelne Benutzer) nach Bedarf hinzugefügt oder entfernt werden, ohne jeweils die ganze Benutzerdatenbank anpassen zu müssen.
Das ermöglicht auch eine deutliche Vereinfachung bei der Versionsverwaltung einer Benutzerdatenbank.
Beispielanwendung aus dem Service-Bereich
- Die Main User DB enthält nur die notwendigsten Informationen (signierende und ändernde Administratoren, Definition der OPLs und Gruppen).
- Die Extension wird speziell für den Service-Einsatz erzeugt und enthält lediglich die Servicekraft als Benutzer. Die Extension ist für den Zeitraum des Service-Einsatzes zeitbeschränkt.
- Die Servicekraft bringt die Extension auf dem Service-Notebook (oder einem USB Stick) mit.
Zeitliche Beschränkung einer Benutzerdatenbank / Extension Eine manipulationssichere zeitliche Beschränkung erfordert eine manipulationsgeschützte Zeitreferenz! |