Allgemein zu Schreib- und Zugriffsschutz
Sie können ein Projekt über Zugriffs- und Schreibschutz vor versehentlicher Änderung schützen. Sie können es zusätzlich mit einem Leseschutz (Know-how-Schutz) versehen.
Schreibschutz:
Um das gesamte Projekt mit einem einfachen Schreibschutz zu versehen, gibt es folgende Möglichkeiten:
-
Sie wählen beim Öffnen des Projekts die Option „Schreibgeschützt öffnen“.
-
Sie setzen in den „Projektinformationen“ den Status „Freigegeben“.
-
Sie aktivieren in den Eigenschaften der Projektdatei im lokalen Dateisystem die Option "Schreibgeschützt".
Um nur bestimmte Objekte in einem Projekt vor Änderungen zu schützen, oder nur bestimmten Anwendern Zugriff zu gewähren, können Sie eine Benutzer- und Zugriffsrechteverwaltung (siehe unten) einsetzen. Manche Zielgeräte unterstützen ebenfalls eine Benutzer- und Rechteverwaltung. Damit kann auch der Zugriff von CODESYS auf Objekte und Dateien des Zielgeräts eingeschränkt sein.
Schreibschutz und Zugriffsschutz dienen jedoch nicht als Know-how-Schutz der Bausteine! Sowohl CODESYS selbst, Automation Platform-Plug-ins, als auch Personen mit Kenntnissen des Projektdatei-Formats können mit CODESYS erzeugte Bausteine ansehen oder modifizieren.
Know-how-Schutz:
Know-how-Schutz eines Projekts erreichen Sie durch Verschlüsselung der Projektdatei. Entweder mit einem Projekt-Passwort, mit Hilfe des CODESYS Security Keys (Dongle) oder mit Hilfe eines Zertifikats. Der Schutz über den Key oder das Zertifikat wird empfohlen, da in diesem Fall kein Geheimnis zwischen den berechtigten Anwendern geteilt werden muss. Der gewünschte Typ der Projektverschlüsselung wird in den Projekteinstellungen aktiviert.
Know-how-Schutz einer Bibliothek erreichen Sie durch Bereitstellung als zielsystemunabhängige
"Geschützte Bibliothek" (*.compiled-library
, *.compiled-library-v3
). Die Bibliotheksdatei beinhaltet in diesem Format keinen Quellcode mehr, sondern
nur noch verschlüsselten Precompile-Kontext. Der Compiler ist weiterhin in der Lage,
diese Daten zu interpretieren. Ob noch Zugriff durch andere CODESYS-Komponenten oder Zusatz-Plug-ins möglich ist, hängt von deren Funktionalität ab und
ist im Einzelfall zu beachten. Der Schutz kann durch Signierung noch erhöht werden.
Know-how-Schutz und Kopierschutz einer Bootapplikation erreichen Sie mit Hilfe eines Laufzeitsystem-Dongles (einfach oder über Lizenz) oder mit einer Verschlüsselung mit Hilfe eines Zertifikats. Die Aktivierung einer dieser Optionen erfolgt in den Objekteigenschaften der Applikation.
Verschlüsselung mit Zertifikaten
Sie können in CODESYS Projekte und Applikationen mit Zertifikaten verschlüsseln und signieren, um sie vor unerwünschtem Zugriff zu schützen.
Dazu können Sie für jedes einzelne Benutzerprofil bestimmte "Security"-Einstellungen konfigurieren. Diese Einstellungen werden beim Arbeiten des Benutzers mit CODESYS-Projekten immer automatisch verwendet und müssen also nicht für jedes Projekt neu vorgenommen werden. Die allgemeine Konfiguration der Security-Features für ein Benutzerprofil nehmen Sie in CODESYS in der Ansicht „Security- Screen“ vor. Sehen Sie dazu weiter unten einzelne Anleitungen.
Sie können eine Projektdatei oder eine Applikation für den Download oder Online-Change auch direkt mit einem Zertifikat verschlüsseln:
-
Eine benutzerunabhängige Verschlüsselung für das aktuelle Projekt konfigurieren Sie im Dialog „Projekteinstellungen“, Kategorie „Sicherheit“.
-
Eine benutzerunabhängige Verschlüsselung der Applikation konfigurieren Sie im Dialog „Eigenschaften“ des Applikationsobjekts.




HINWEIS

Wenn Sie ein Projekt, eine Applikation oder Onlinecode mit einem Zertifikat verschlüsseln, benötigen Sie immer das Zertifikat mit privatem Schlüssel, um dieses Objekt erneut zu öffnen!
Wenn das Zusatzprodukt CODESYS Security Agent installiert ist, bietet die Ansicht „Security-Screen“ eine weitere Registerkarte „Geräte“. Sie ermöglicht das Konfigurieren von Zertifikaten für die verschlüsselte Kommunikation mit Steuerungen.
Zertifikate, Windows Certificate Store
Alle zur Verfügung stehenden Zertifikate befinden sich im "Windows Certificate Store" („certmgr“) Ihres Computers. Es gibt zwei Schlüsseltypen:
-
Zertifikate mit privatem Schlüssel
-
zur Dateientschlüsselung
-
für die digitale Signatur
-
-
Zertifikate mit öffentlichem Schlüssel
-
zur Dateiverschlüsselung
-
zur Überprüfung der digitalen Signatur
-
Üblicherweise wird der lokale Windows Certificate Store durch den IT-Administratior des Computers mit Zertifikaten befüllt. Zertifikate werden dazu entweder mit speziellen Tools selbst erstellt, oder die Erstellung wird bei einem vertrauenswürdigen Zertifizierungsdienstleister (Certification Authority, "CA") beantragt.
Wenn Sie eine Zertifikatsdatei erhalten, die Sie selbst in den Windows Certificate Store installieren müssen, doppelklicken Sie auf die Datei im Ablageverzeichnis. Je nach Typ (Zertifikat mit privatem oder nur mit öffentlichem Schlüssel) erhalten Sie den passenden Importassistenten.
Benutzerverwaltung und Passwort-Manager
In CODESYS können Benutzerkonten mit unterschiedlichen Rechten verwaltet werden. Für jedes Konto können Sie festlegen, mit welchen Aktionen der Benutzer auf ein Projektobjekt zugreifen darf.
Sie konfigurieren die Benutzerverwaltung in den „Projekteinstellungen“ in der Kategorie „Benutzer und Gruppen“.
Vor dem Anlegen von Benutzern und Gruppen beachten Sie bitte Folgendes:
-
Rechte können nur an Benutzergruppen vergeben werden. Sie müssen also jeden Benutzer einer Gruppe zuordnen.
-
Automatisch gibt es immer eine Gruppe "Everyone" und standardmäßig ist zunächst jeder Benutzer und jede andere Gruppe Mitglied dieser Gruppe. Somit ist jedes Benutzerkonto automatisch wenigstens mit den definierten Standardrechten ausgestattet.
Sie können die Gruppe "Everyone" nicht löschen, nur umbenennen, und Sie können keine Mitglieder aus dieser Gruppe entfernen.
Vorsicht: Standardmäßig hat "Everyone" nicht das Recht, die aktuelle Benutzer-, Gruppen- und Rechtekonfiguration zu ändern!
-
Automatisch gibt es immer eine Gruppe "Owner", die einen Benutzer "Owner" enthält. Ab V3.5 hat in einem neuen Projekt zunächst nur der "Owner" das Recht, die aktuelle Benutzer-, Gruppen- und Rechtekonfiguration zu ändern! Somit kann nur "Owner" dieses Recht an eine andere Gruppe vergeben.
Zunächst kann der "Owner" mit Benutzername "Owner" und leerem Passwort einloggen. Sie können weitere Benutzer der Gruppe "Owner" hinzufügen oder aus dieser entfernen, aber mindestens ein Mitglied muss enthalten bleiben. Die Gruppe "Owner" können Sie - wie "Everyone" - nicht löschen, und sie besitzt immer alle Zugriffsrechte. So wird verhindert, dass ein Projekt durch das Verneinen aller Zugriffsrechte für alle Gruppen unbrauchbar gemacht wird.
Sie können sowohl die Gruppe "Owner" als auch den Benutzer "Owner" umbenennen.
-
Wenn das Programmiersystem oder ein Projekt neu gestartet wird, ist zunächst kein Benutzer im Projekt eingeloggt. Dann aber kann sich der Anwender über ein bestimmtes Benutzerkonto mit Benutzername und Passwort einloggen um die für das Konto definierten Zugriffsrechte zu bekommen.
-
Jedes Projekt hat seine eigene Benutzerverwaltung! Um also beispielsweise bestimmte Zugriffsrechte auf eine im Projekt eingebundene Bibliothek zu bekommen, muss sich der Anwender explizit in das Bibliotheksprojekt einloggen.
Benutzer und Gruppen, die in verschiedenen Projekten definiert sind, sind nicht gleich, auch wenn sie gleiche Namen haben.
-
Eine Benutzerverwaltung in einem Projekt ist nur sinnvoll, wenn sie mit entsprechender Rechtevergabe für den Zugriff auf Projekt und Objekte verbunden wird. Die allgemeine Rechteverwaltung für ein Projekt erfolgt im Dialog „Rechte“ der „Benutzerverwaltung“. Sie können die Zugriffsrechte auf ein einzelnes Projektobjekt außerdem auf der Registerkarte „Zugriffskontrolle“ der „Eigenschaften“ des Objekts verändern.
-
Für das Anmelden und Abmelden in/von einem Projekt als definierter Benutzer gibt es standardmäßig Menübefehle unter „Projekt Benutzerverwaltung“. Ein Passwort-Manager erlaubt das Verwalten der Zugangsdaten auf Ihrem Computer.
Ab V3.5 hat in einem neuen Projekt zunächst nur der "Owner" das Recht, die aktuelle Benutzer-, Gruppen- und Rechtekonfiguration zu ändern! Somit kann nur "Owner" dieses Recht an eine andere Gruppe vergeben.




HINWEIS

CODESYS speichert die Benutzer-Passwörter unzugänglich. Wenn Sie ein Passwort vergessen, wird das Benutzerkonto unbrauchbar. Wenn Sie das "Owner"-Passwort vergessen, wird möglicherweise das gesamte Projekt unbrauchbar!
Passwort-Manager
Der Passwort-Manager ermöglicht es, die Zugangsdatensätze zu speichern, die Sie während der Anmelde-Prozeduren für Projekte eingeben. Er ist über eine Schaltfläche im Anmeldedialog zugänglich und bietet schnellen Zugriff auf die gerade benötigten Zugangsdaten. Dies kann beispielsweise hilfreich sein, wenn Sie parallel an einigen Bibliotheksprojekten arbeiten, die durch verschiedene Passwörter geschützt sind.
Der Passwort-Manager selbst ist durch ein individuelles Master-Passwort geschützt. Wenn Sie den Passwort-Manager erstmalig benützen möchten, fordert CODESYS Sie auf, dieses Passwort im Passwort-Manager-Konfigurationsdialog zu definieren. CODESYS merkt sich das Master-Passwort, bis Sie die aktuelle CODESYS-Sitzung beenden. Sie müssen das Passwort immer eingeben, wenn Sie das erste Mal während einer neuen Sitzung in den Passwort-Manager einloggen möchten, oder nachdem Sie es geändert haben.
Rechteverwaltung
Eine Rechteverwaltung für den Zugriff auf Projekt und Objekte in einem Projekt ist nötig, um eine Benutzerverwaltung sinnvoll zu machen.
Die allgemeine Rechteverwaltung für ein Projekt konfigurieren Sie im Editor „Rechte“ der „Benutzerverwaltung“. Die Zugriffsrechte auf ein einzelnes Projektobjekt können Sie außerdem auf der Registerkarte „Zugriffskontrolle“ des Dialogs „Eigenschaften“ des Objekts verändern.
Vor der Rechtevergabe beachten Sie bitte Folgendes:
-
In einem neuen Projekt setzt CODESYS grundsätzlich alle Rechte zur Ausführung von Aktionen auf Objekte mit dem Standardwert "erlaubt" (Standardrecht). Einzige Ausnahme ist das Recht auf Änderung der aktuellen Benutzer-, Gruppen- und Rechtekonfiguration. Dieses hat zunächst nur die "Owner"-Gruppe".
-
Wenn Sie Mitglied einer Gruppe sind, die Rechte ändern darf, können Sie das beim weiteren Arbeiten auf einem Projekt jederzeit für jedes Recht tun. Sie ändern ein Recht durch Umsetzen zwischen "erlaubt" und "verboten" bzw. durch Zurücksetzen auf den Standard.
Ablage, Speichern
Versehen Sie die Projektdatei vor dem Speichern im Dateisystem mit dem gewünschten Schutz, siehe oben. Für eine schreibgeschützte Projektdatei erhalten Sie je nach Art des Schreibschutzes verschiedene Optionen, die Datei dennoch zu speichern.
Wenn das Projekt später in einer älteren CODESYS-Version geöffnet werden soll, ist es sinnvoll, das Projekt genau für diese Version (Dateityp) zu speichern, da CODESYS Sie im Zuge dieser Speicherung auch sofort über eventuelle Datenverluste informiert.
Wenn Sie Bibliotheksprojekte speichern möchten, beachten Sie die Regeln zur Erstellung von Bibliotheken. Erwägen Sie auch die Möglichkeit, eine Bibliothek direkt in ein Bibliotheksrepository zu installieren.
Wenn Sie ein Projekt auf einem anderen Computer weiter verwenden möchten, ist es sinnvoll, nicht nur die Projektdatei zu speichern, sondern ein Projektarchiv aus allen relevanten Zusatzdateien zu erstellen.
Sie können einstellen, dass bei jedem Speichern des Projekts zusätzlich eine Sicherungskopie dieses Projekts angelegt wird. Außerdem können Sie konfigurieren, dass Projekte generell in bestimmten Zeitintervallen automatisch gespeichert werden.
Wenn Sie Projekte in einer Quellcodeverwaltung halten möchten, beachten Sie die entsprechenden Add-Ons für CODESYS. Beispielsweise wird die Anbindung an SVN unterstützt.
-
Schreibschutz einrichten
-
Passwort vergeben
-
Projekt mit Dongle schützen
-
Benutzerverwaltung einrichten
-
Objekte im Projekt über Zugriffsrechte schützen
-
Anmeldung über Benutzerkonto und Passwort-Manager
-
Projekt mit einem Zertifikat verschlüsseln
-
Projekt speichern
-
Projektarchiv speichern/versenden
-
Projekt an Quellcode-Verwaltung anbinden