SOA braucht Identity-Management

08.04.2008
Von Bernhard Davignon
Die Kopplung verschiedener IT-Systeme in einer Service-orientierten Architektur erfordert ein durchgängiges Konzept für den Umgang mit Identitäten und Sicherheitsverfahren.

Unternehmen richten ihre IT immer häufiger an den Prinzipien einer Service-orientierten Architektur (SOA) aus. Applikationen werden in Services geschnitten mit dem Ziel, neue Prozesse und Anwendungen auf der Basis bestehender Dienste aufbauen zu können. Dabei ist oft folgendes Phänomen zu beobachten: Die Herausforderungen einer SOA werden direkt adressiert und erste Lösungen gebaut. Das Zugriffs-Management lösen die Verantwortlichen pragmatisch. So steuert beispielsweise die genutzte Integrationssoftware die Berechtigungen für die angebundenen Services und Applikationen. Im Zuge des weiteren Ausbaus der IT-Landschaft wird dieses Verfahren schnell unbeherrschbar. Um den heute geltenden Compliance-Anforderungen gerecht zu werden, ist es notwendig, ein einheitliches Vorgehen für das Management von Authentifizierung, Autorisierung, Verbindlichkeit und Nachvollziehbarkeit zu etablieren.

In Fachkreisen wird bereits seit einiger Zeit ein zentral organisiertes Identity-Management diskutiert. Daran knüpfen sich Erwartungen bezüglich einer Vereinfachung der Benutzer- und Berechtigungsverwaltung, der Möglichkeit eines Single-Sign-ons und weiterer Vorteile. Diese lassen die Einführung eines Identity-Managements als sinnvoll erscheinen. Trotzdem besteht in vielen Unternehmen noch Nachholbedarf. Ohne ein funktionierendes Identity-Management ist es schwierig, eine SOA aufzubauen, die Sicherheit, Verbindlichkeit und Nachvollziehbarkeit gewährleistet. Zugleich stellt eine SOA aus Sicht des Identity-Managements eine besondere Herausforderung dar.

Zu den Grundprinzipien der SOA gehört eine lose Kopplung von Systemen. Im Vergleich zu einem monolithischen System ist die Verwaltung von Identitäten und die Kontrolle sowie Steuerung von Zugriffsberechtigungen ungleich komplexer. Die Ausgangssituation ist meist durch eine Vielzahl von Systemen mit eigener Benutzerverwaltung und eigenem Berechtigungs-Management gekennzeichnet. In einigen Fällen ist das Berechtigungs-Management darüber hinaus eng mit der Geschäftslogik verbunden. Unternehmen nutzen meist unterschiedliche Verfahren und Datenhaltungen, um Identitäten zu speichern und Mitarbeiter zu authentifizieren sowie zu autorisieren.

Probleme in der Praxis

Die konkreten Probleme zeigt folgende Aufgabenstellung: Ein neuer Prozess soll auf Basis dreier unterschiedlicher Systeme realisiert werden. Die neu erstellte Applikation integriert Services von drei unterschiedlichen Programmen mit jeweils eigener Benutzerverwaltung. Alle drei Systeme protokollieren die Benutzeraktivitäten. Um eine sinnvolle Protokollierung aller Benutzeraktivitäten zu ermöglichen, reicht die integrierende Applikation die Benutzeridentität an alle drei Anwendungen weiter. Jedes System muss den Benutzer authentifizieren und dessen Berechtigung prüfen. Die Konsequenz ist, dass die User in allen drei Systemen administriert und jeweils neu authentifiziert werden müssen. Diese Authentifizierungsprozesse verursachen einen Entwicklungs- und Pflegeaufwand. Aufgrund des damit entstehenden Overheads beeinträchtigen sie die Gesamtperformance der Anwendung.

Die Integration von Services macht am Firmentor nicht halt. In B-to-B-Szenarien auf Basis einer SOA muss auch das Identity-Management über Unternehmensgrenzen hinweg funktionieren. Zur Bewältigung dieser Herausforderungen gibt es verschiedene Ansätze.

Einheitliche Verwaltung

Der Administrationsaufwand für die Pflege der Benutzerdaten in den verschiedenen Anwendungssystemen stellt eines der größten Probleme in der Verwaltung von Identitäten und Berechtigungen dar. Diese Situation können Unternehmen mit einer zentralen Lösung für die Benutzerverwaltung verbessern. In einer einheitlichen Oberfläche werden die Identitäten, Berechtigungen und Passwörter der Benutzer gepflegt und in den Verzeichnisdiensten oder Datenbanken der Systeme gespeichert. Dabei berücksichtigt die Benutzerverwaltung neben einheitlichen Basisinformationen auch anwendungsspezifische Aufgaben. Dieser Ansatz lässt sich schnell und pragmatisch umsetzen, löst aber nur einen Teil der Probleme. In einer SOA bietet er nur eine ungenügende Standardisierung der Authentifizierungsverfahren und Daten sowie der eingesetzten Techniken.

Zentralisierung

Der Übergang von der einheitlichen Benutzerwaltung zum zentralisierten Identity-Management ist fließend. Der wesentliche Unterschied besteht im Aufsetzen eines zentralen Benutzerverzeichnisses. Im Sinne eines "Single Point of Truth" speichert dieses Verzeichnis alle Identitäten. Dabei gibt es unterschiedliche Ansätze, welche Informationen von diesem zentralen Verzeichnis vorgehalten werden. Das Spektrum reicht von Basisinformationen einer Identität über Unternehmensrollen bis hin zu Applikationsberechtigungen. In komplexen IT-Landschaften werden die Identitäten meist von einem Personalverwaltungssystem geliefert und über verschiedene Satellitenverzeichnisse den Systemen zur Verfügung gestellt. Bei Bedarf speichern diese Satellitenverzeichnisse für eine Anwendungsdomäne spezifische und ergänzende Benutzerinformationen.

Single-Sign-on

Unter Single-Sign-on (SSO) versteht man eine besondere Form der Authentifizierung, die es dem Anwender erlaubt, auf Basis einer einzigen Anmeldung verschiedene Anwendungen und Systeme zu nutzen. Der Aufbau einer umfassenden Single-Sign-on-Lösung ist sehr aufwändig. In der Praxis wird daher nur ein Teil der Anwendungslandschaft in ein solches Verfahren integriert. Kern einer Single-Sign-on Lösung ist die zentrale Anmeldung des Benutzers an einem Authentifizierungsservice. Dieser vergibt bei erfolgreicher Anmeldung ein verschlüsseltes Ticket, das bei den folgenden Zugriffen an die jeweiligen Systeme übergeben wird. Damit diese das Ticket auswerten können, ist eine technische Integration des Anwendungssystems mit der Single-Sign-on Lösung erforderlich. Das Ticket bildet auch die Grundlage dafür, die Authentifizierung, Autorisierung und Protokollierung in einer SOA umzusetzen.

Delegated Administration

Werden Services über Abteilungs- und Unternehmensgrenzen hinweg genutzt, ist eine zentrale Benutzerverwaltung nicht mehr sinnvoll. Um trotzdem ein zentrales Verzeichnis verwenden zu können, empfiehlt sich das Konzept der Delegated Administration. Grundlage dieses Verfahrens ist die Verwaltung der Benutzer eines angebundenen Unternehmens durch deren Administratoren. Bietet ein Unternehmen beispielsweise ein Portal für die Integration seiner Lieferanten, erhalten ausgewählte, so genannte "trusted" Mitarbeiter der Lieferanten, die Berechtigung zur Pflege oder Anlage von Benutzerdaten. Das zentrale Verzeichnis kann so alle benötigten Identitäten und Berechtigungen kontrollieren, ohne dass intern ein übermäßiger Administrationsaufwand entsteht.

Identity Federation

Die Identity Federation könnte man auch als die SOA des Identity-Managements bezeichnen. IT-Verantwortliche verzichten dabei darauf, alle Benutzeridentitäten in einem Unternehmensverzeichnis zu verwalten. Wird ein interner Service von einem externen, "trusted" Partner aufgerufen, werden die mit dem Aufruf übertragenen Informationen über Identität und Berechtigungen des Aufrufers akzeptiert und in den internen Kontext übersetzt. (wh)

Hier lesen Sie …

  • wie sich SOA auf das Identity-Management auswirkt;

  • welche Lösungsansätze erfolgreich sind;

  • wo die Probleme liegen.

Mehr zum Thema

http://www.computerwoche.de/soa-meets-bpm