Sicherheitseinstellungen konfigurieren
Der OPC UA Server ermöglicht die Konfiguration von Berechtigungen auf Namespace- und Node-Ebene. Hierdurch kann sowohl der Zugriff auf ADS-Geräte (z. B. auf verschiedene SPS‑Laufzeiten) als auch Variablen feingranular eingestellt werden. Diese Sicherheitseinstellungen sind für alle ADS-Geräte verfügbar, die im Server-Namespace dargestellt werden können.

Konfiguration
Die Konfiguration der Berechtigungen erfolgt auf Basis einer XML-basierten Konfigurationsdatei (TcUaSecurityConfig.xml), die in demselben Verzeichnis wie der Server liegt. Die Konfigurationsdatei besteht aus den drei Bereichen Benutzer (Users), Gruppen (Groups) und AccessInfos.
Benutzer (Users)
Im Bereich Users können Sie Benutzerkonten konfigurieren, die vom OPC UA Server als Login akzeptiert werden sollen. Hierbei gibt es drei verschiedene Authentifizierungsmethoden:
OS (empfohlene Authentifizierungsmethode) | Es werden die Mechanismen vom Betriebssystem verwendet, um Benutzername und Passwort zu validieren. Das Benutzerkonto obliegt vollständig der Kontrolle des Betriebssystems und/oder der Domäne. |
Server (nicht empfohlen) | Benutzername und Passwort sind nur dem OPC UA Server bekannt. Beide Informationen werden hierbei im Klartext in der XML-Datei hinterlegt. |
None | Es wird nur der Benutzername vom Server ausgewertet, das Passwort wird ignoriert. |
Benutzer können mit einem Tag <DefaultAccess> konfiguriert werden, das den Standardzugriff des Benutzers auf einen bestimmten Namespace angibt.
Benutzer können Mitglied einer oder mehrerer Gruppen sein. Dies können Sie über das Attribut MemberOf spezifizieren. Bei Mitgliedschaft in mehreren Gruppen trennen Sie die Gruppen durch ein Semikolon.

Gruppen (Groups)
Um eine einfachere Konfiguration mit mehreren Benutzeraccounts zu ermöglichen, können Sie die Benutzer in Gruppen zusammenfassen.
Gruppen können ebenfalls mit einem Tag <DefaultAccess> konfiguriert werden.
Über das Attribut MemberOf können Sie Gruppen verschachteln. Bei Mitgliedschaft in mehreren Gruppen trennen Sie die Gruppen durch ein Semikolon.

AccessInfos
Wenn eine feingranulare Einstellung von Berechtigungen auf Node-Ebene erfolgen soll, können Sie zusätzlich AccessInfos konfigurieren, welche die Zugriffsberechtigungen auf Nodes spezifizieren. Zugriffsrechte können hierbei auf Unterelemente vererbt werden. Obwohl AccessInfos die feingranularste Konfigurationsmöglichkeit von Berechtigungen ermöglichen, wird eine solche Konfiguration auch schnell unübersichtlich. Prüfen Sie daher, ob eine Konfiguration von Zugriffsrechten auf Namespace-Ebene (siehe oben) nicht ausreichend ist.
Die AccessInfo für eine Node beinhaltet die folgenden Einstellungen:
NS | Konfiguriert den NamespaceName, in dem die Node lokalisiert ist |
Id | Konfiguriert den Identifier der Node, inklusive des IdentifierTypes (z. B. s = String) |
Depth | Vererbungstiefe der Berechtigungen (-1 für unendlich) |
User/Group | Benutzer oder Gruppe, der/die auf diese Node Zugriff erhalten soll, inklusive des AccessLevels |

AccessInfos können per Drag-and-drop von Variablen aus dem Target Browser konfiguriert werden. Die konfigurierbaren Berechtigungen sind kumulativ.
Beispielkonfiguration
Gegeben sei folgendes einfaches Steuerungsprogramm. Die Variablen sind bereits im OPC-UA-Namespace des Servers veröffentlicht. Der OPC UA Server befindet sich zunächst im Auslieferungszustand.

Zugriffbeschränkungen
Der Zugriff auf den Server soll für Clients wie folgt eingeschränkt werden:
- Anonymous Zugriff soll deaktiviert werden.
- Es soll einen Benutzer „Administrator“ geben, der Vollzugriff auf den kompletten Server hat.
- Es soll einen Benutzer „User1“ geben, der ausschließlich Lesezugriff auf MAIN.Instance1 hat. Der Benutzer soll hierbei nicht aus dem Betriebssystem kommen, sondern nur intern im Server verwendet werden.
- Es soll einen Benutzer „User2“ geben, der ausschließlich Lesezugriff auf MAIN.Instance2 hat. Der Benutzer soll hierbei nicht aus dem Betriebssystem kommen, sondern nur intern im Server verwendet werden.
- Über eine Gruppe "Users" sollen allgemeine Zugriffsberechtigungen für alle Benutzer konfiguriert werden.
Einstellungen
Die Konfiguration des OPC UA Server wird wie folgt eingestellt:

Einstellungen für den Benutzer „Administrator“:

Einstellungen für den Benutzer „User1“:

Einstellungen für den Benutzer „User2“:

Einstellungen Access Infos „MAIN.Instance1“:

Einstellungen Access Infos „MAIN.Instance2“:

Einstellungen für die Gruppe „Users“:
Die Benutzergruppe wird sowohl mit grundlegendem Zugriff auf benötigte Server- und Typsystem-Namensräume ausgestattet als auch mit Read- und Browse-Berechtigungen auf den PLC1-Namensraum.

Ergebnis
Nach Aktivierung der Konfiguration stellt sich der Namensraum des Servers für „User1“ nach einem Verbindungsaufbau wie folgt dar:

Auf die Node „Instance1“ hat der Benutzer nur Leserechte, was durch das Attribut UserAccessLevel deutlich wird:

Der Benutzer „Administrator“ hingegen hat volle Zugriffsrechte auf alle Elemente des Namensraums:
