Access Control Plug-in

Das WinCC OA Access Control Plug-in kann verwendet werden, um den Zugriff auf Datenpunkte (Lesen, Schreiben, Anzeigen) anhand von Benutzerberechtigungen zu steuern.

DasWinCC OA Access Control Plug-in wendet frei programmierbare Filter auf eingehende Nachrichten innerhalb der WinCC OA-Manager an. Das Access Control Plug-in ist für die Verwendung innerhalb eines WinCC OA-Projektes vorgesehen, um vor der Verbindung unautorisierter Komponenten (Manager-Authentifizierung) zu schützen.

Das Access Control Plug-in wird aufgrund der Konfiguration zujedem Manager eines Projektes geladen; ein Manager, der das Plug-in nicht geladen hat, kann nicht mehr zum Event-Manager verbinden. Dies wird bei der Anmeldung innerhalb des Plug-ins, welches im Kontext des Event-Managers läuft, kontrolliert.

Weiters können dort – noch vor jeder Interaktion des Managers mit dem Event-Manager – Datenpunkte und andere Informationen geladen und für den ordnungsgemäßen Betrieb verarbeitet werden (innerhalb der init-Methode).

Es gibt 2 Varianten, die Anmeldung eines Clients abzusichern: Identifikation und den Challenge / Response- Mechanismus.

  • In der Identifikation werden die Methoden getIdentity (Client-Manager) und checkIdentity (Data-Manager) benutzt, um eine einfache Prüfung des sich anmeldenden Managers zum Data-Manager zu ermöglichen.
  • In Challenge / Response wird der gleichnamige Mechanismus verwendet, um die Verbindungen zwischen den Clients und dem Data-Manager sicher im Sinne von „Security“ herstellen zu können. Dafür gibt es die Methoden getChallenge (Server), getResponse(Client) und checkResponse (Data- und Eventmanager am Server). Dieser Mechanismus steht unter Kerberos nicht zur Verfügung.

Bei der Verwendung des Plug-ins als Filter können alle jene Funktionen kontrolliert werden, die lesenden oder schreibenden Zugriff im Manager-Interface (API) bieten. Dazu gehören sowohl Datenpunkt-orientierte Funktionen und Queries als auch CNS-Funktionen. Bei lesenden Funktionen können bei Bedarf einzelne Datenpunkte aus der Message entfernt werden, bei schreibenden Funktionen muss im Falle eines Filtertreffers die weitere Ausführung der Funktion selbst mit einem Fehler verworfen werden. Weiters gibt es "Anzeige"-Funktionen, die analytische Information weitergeben (zb. getIdSet).

Als Hilfsfunktion gibt es Verwaltungsfunktionen in einem lokal im Plug-in gehaltenen Speicherbereich als Mapping von Schlüssel – Wertepaaren (setResource / getResource).