OIDC-Authentifizierung in WinCC OA

Die OIDC-Authentifizierungsfunktion ermöglicht die Unterstützung des OpenID Connect® (OIDC) Standards in WinCC OA und erlaubt die Integration mit modernen Identity Providern für eine sichere, tokenbasierte Benutzerauthentifizierung.

Überblick

Die OIDC-Authentifizierungsfunktion ermöglicht es WinCC OA-Benutzer über OpenID Connect® (OIDC) zu authentifizieren, ein branchenübliches Protokoll auf Basis von OAuth 2.0. Diese Integration macht es möglich, Drittanbieter-Identity-Provider wie Keycloak, Microsoft Entra ID (Azure AD) oder jeden anderen OIDC-kompatiblen Dienst zu verwenden.

Durch die Einführung von OIDC richtet sich WinCC OA nach modernen IT-Sicherheitspraktiken und unterstützt zentrale Authentifizierung in verteilten Umgebungen. Benutzer können sich mit ihren bestehenden Unternehmenszugangsdaten anmelden, wodurch lokal verwaltete Passwörter entfallen.

Zweck

Ziel der OIDC-Authentifizierung ist es, einen einheitlichen und sicheren Authentifizierungsmechanismus für WinCC OA-Projekte bereitzustellen. Sie integriert sich in unternehmensweite Identitätsmanagementsysteme und reduziert den manuellen Administrationsaufwand.

  • Zentrale Verwaltung von Benutzern und Gruppen über Unternehmens-Identity-Provider.
  • Einhaltung von Sicherheits- und Zugriffskontrollrichtlinien der Organisation.
  • Unterstützung von Single Sign-On (SSO) über mehrere Clients und Systeme hinweg.

Integrationsumfang

Die OIDC-Authentifizierung unterstützt sowohl externe Identity Provider als auch den internen WinCC OA OIDC-Provider, der Benutzer aus dem _Users-Datenpunkt authentifizieren kann. Dies gewährleistet Kompatibilität und bietet einen Fallback-Mechanismus, falls externe Identity Provider nicht verfügbar sind.

In der ersten Implementierung steht die OIDC-Authentifizierung für UI-Typ-Manager zur Verfügung, bei denen eine Benutzerinteraktion beim Login möglich ist. Die Authentifizierung zwischen Maschinen erfolgt weiterhin über das Server-Side Authentication (SSA)-Framework mit zertifikatsbasierter Anmeldung.

Die OIDC-Funktion nutzt das bestehende AccessControlPlugin und die SSA-Logik, um eine konsistente Integration mit den vorhandenen Sicherheitsmechanismen sicherzustellen.

Konzeptionelle Zusammenfassung

Wenn ein Projekt für OIDC konfiguriert ist, erfolgt die Authentifizierung über Tokens, die vom Identity Provider ausgestellt werden. Das System verwendet den standardmäßigen OIDC Authorization Code Flow, wie in RFC 8252 definiert.

Nach erfolgreicher Authentifizierung stellt der Identity Provider Tokens aus, welche die verifizierte Benutzeridentität und Rolleninformationen enthalten. WinCC OA validiert diese Tokens und legt Benutzer und Gruppen automatisch anhand der bereitgestellten Metadaten an.

Jedes Projekt unterstützt einen einzelnen Authentifizierungstyp, der über den [general] authType-Config-Eintrag definiert wird:

  • legacy – Client-seitige Authentifizierung
  • serverside – Serverseitige Authentifizierung
  • oidc – OpenID Connect®-Authentifizierung

Projekte, die für OIDC konfiguriert sind, können nicht mit anderen Authentifizierungstypen gemischt werden, um ein konsistentes Sicherheitsmodell zu gewährleisten.

Vorteile

  • Integration mit Unternehmens-Identity-Systemen für zentrale Zugriffskontrolle.
  • Sichere, tokenbasierte Authentifizierung ohne Passwortaustausch.
  • Single Sign-On für mehrere WinCC OA-Clients und Anwendungen.
  • Skalierbarkeit und Wartbarkeit in verteilten Systemen.
  • Fallback-Möglichkeit durch den integrierten WinCC OA OIDC-Provider.

Kompatibilität

Die OIDC-Authentifizierung wird ab WinCC OA-Version 3.21 unterstützt. Alle Systeme in einem verteilten Projekt müssen eine Version mit OIDC-Unterstützung verwenden.

HINWEIS:
OpenID® und OpenID Connect® sind eingetragene Marken der OpenID Foundation.

Hinweise & Einschränkungen

Wichtige Einschränkungen und Anforderungen für die Verwendung der OIDC-Authentifizierung und verwandter Funktionen in WinCC OA-Projekten.

Versionsanforderungen für verteilte (DIST)-Systeme

Alle Systeme in einer verteilten (DIST) Umgebung müssen WinCC OA Version 3.21 oder neuer verwenden, um OIDC-Authentifizierung zu unterstützen. Gemischte Versionsumgebungen werden für OIDC-Funktionen nicht unterstützt.

UserID-Synchronisierung in DIST-Systemen

Um OIDC-Authentifizierung in Verteilte Systeme zu ermöglichen, muss die Konfiguration für UserID zwischen den Systemen mit Dist-Verwaltung synchronisiert werden. Dadurch wird sichergestellt, dass Benutzeridentitäten auf allen Knoten im verteilten System konsistent sind.

Folgende Punkte sind zu beachten:

  • Dist Management muss auf dem Master-System korrekt konfiguriert sein.
  • Das Erstellen eines Benutzers in einem verteilten System, das nicht das Master-System ist, kopiert die Benutzerinformationen (ID, Name, Gruppe usw.) bei Verwendung von OIDC automatisch.
  • Wenn ein neuer Benutzer auf einem System erstellt wird, das derzeit nicht mit dem Master-System verbunden ist, kann sich der neue Benutzer erst anmelden, wenn die Verbindung wiederhergestellt ist.

OIDC-Verhalten in redundanten Projekten

Nach einem Redundanzwechsel müssen sich Benutzer erneut authentifizieren, indem sie ihre Zugangsdaten erneut eingeben. Eine automatische Sitzungsübertragung wird nicht unterstützt.

In einem redundanten System kann es beim Neustart einer Seite, z. B. während eines Redundanzwechsels, während ein externer OIDC-Provider nicht verfügbar ist, dazu führen, dass UIs geschlossen werden, welche diesen derzeit nicht verfügbaren OIDC-Provider zur Authentifizierung verwendet haben.

Upgrade-Information: Kein automatisches Upgrade

Für die OIDC-Authentifizierung in WinCC OA-Version 3.21 gibt es keinen automatischen Upgrade-Prozess. Bestehende Projekte müssen manuell aktualisiert werden, wenn OIDC-Funktionen benötigt werden.

Einige Projekte können auf die OIDC-Authentifizierung umgestellt werden. Dieser Vorgang muss jedoch manuell erfolgen, und es kann nicht garantiert werden, dass alle in früheren Versionen verwendeten Funktionen mit der OIDC-Authentifizierung kompatibel sind.

Fehlersuche

Für zusätzliche Debugging-Informationen kann das Debug-Flag -dbg oidcauth dem User Interface Manager, dem Control-Manager mit HTTP-Server oder dem JavaScript-Manager, der den WinCC OA Interner Identity Provider ausführt, hinzugefügt werden, um zusätzliche Log-Ausgaben und Kommunikationsdetails zu aktivieren.

Algorithmen

Derzeit werden Edwards-curve Digital Signature Algorithm (EdDSA)-Schlüssel nicht unterstützt.