Rollen aus mehreren Quellen

In einer Geschäftsanwendung bündelt eine Rolle bestimmte Berechtigungen. Die Rolle „Prüfberichte lesen“ kann beispielsweise den Zugriff auf Berichte eines Standorts erlauben. Ihre Zuweisung kann aus einer Verzeichnisgruppe stammen oder von einer zuständigen Person direkt in der Anwendung vorgenommen worden sein.

Für den aktuellen Zugriff mag zunächst nur wichtig erscheinen, dass die Rolle vorhanden ist. Beim späteren Entzug reicht diese Information nicht mehr. Der Austritt aus einer Verzeichnisgruppe hebt eine davon unabhängige manuelle Freigabe nicht automatisch auf. Ebenso darf eine Synchronisation eine fremde Zuweisung nicht nachträglich zu ihrem eigenen Bestand erklären.

Den Vergabegrund mitführen

Zusätzlich zur wirksamen Rolle wird deshalb ihre Herkunft festgehalten. Zu einem solchen Nachweis gehören beispielsweise die Quelle, das betroffene Benutzerkonto, die Rolle und der Organisationsbereich. Der nächste Abgleich betrachtet dann nur die Vergaben, für die seine eigene Quelle zuständig ist.

Das ist mehr als ein Änderungsprotokoll. Ein Protokoll hält fest, was früher geschehen ist. Der Herkunftsnachweis beschreibt dagegen auch, welche Quellen die aktuelle Zuweisung weiterhin begründen. Er wird bei der Entscheidung über einen Entzug mit ausgewertet.

Zwei unabhängige Quellen begründen die Rolle Prüfberichte lesen. Quelle A entfällt; Quelle B bleibt bestehen und erhält die Rolle.Zwei unabhängige Quellen begründen die Rolle Prüfberichte lesen. Quelle A entfällt; Quelle B bleibt bestehen und erhält die Rolle.
Entfällt eine Quelle, wird zunächst nur ihr Vergabegrund entfernt. Eine weiterhin gültige zweite Quelle bleibt wirksam.

Eine Quelle entfällt

Im Beispiel erhält ein Benutzer dieselbe Rolle für denselben Standort aus zwei angebundenen Verzeichnissen. Beim nächsten Abgleich meldet Verzeichnis A die betreffende Gruppe nicht mehr. Der Nachweis von A wird entfernt. Die Rollenzuweisung bleibt jedoch erhalten, solange Verzeichnis B sie weiterhin begründet.

Erst wenn auch der letzte durch diese Synchronisation verwaltete Vergabegrund entfällt, kann die gemeinsame Zuweisung entfernt werden. Ein bereits zuvor manuell vergebenes Recht wird dabei gesondert behandelt: Die Synchronisation übernimmt es nicht als eigene Vergabe und entzieht es auch nicht aufgrund eines fehlenden Gruppeneintrags.

Unterschiedliche Zuständigkeiten beim Entzug
AusgangslageFolge eines Abgleichs
Nur Quelle A vergibt die RolleEntfällt A, kann ihre Zuweisung zurückgenommen werden.
A und B begründen dieselbe RolleDer Entzug von A lässt den gültigen Nachweis von B bestehen.
Rolle wurde zuvor manuell vergebenDie Synchronisation ist nicht für ihren Entzug zuständig.

Kontosperren getrennt behandeln

Eine Kontosperre betrifft die Nutzbarkeit des Kontos insgesamt. Sie ist daher eine andere Entscheidung als die Zuweisung einer einzelnen Rolle. Auch hier ist die Herkunft wichtig: Meldet ein Verzeichnis das Konto wieder als aktiv, darf dadurch eine unabhängig gesetzte administrative Sperre nicht aufgehoben werden.

Eine automatische Wiederaktivierung setzt voraus, dass die Synchronisation die noch maßgebliche Sperre selbst verantwortet und kein anderer gültiger Sperrgrund entgegensteht. Wurde der Kontozustand inzwischen manuell geändert, ist die frühere Synchronisationsentscheidung keine ausreichende Grundlage mehr.

Gleichzeitige Änderungen

Zwischen dem Lesen eines Kontos und dem Schreiben des neuen Zustands kann eine weitere Änderung eintreffen. Die Verarbeitung sollte deshalb die gelesene Version beim Speichern berücksichtigen. Stimmt sie nicht mehr, muss der aktuelle Zustand neu bewertet werden.

Zusätzlich können zeitlich begrenzte Zuständigkeiten konkurrierende Abgleichläufe koordinieren. Geht eine solche Zuständigkeit verloren, darf ein verspäteter Lauf die neuere Entscheidung nicht überstimmen. Bleibt nach einem Fehler unklar, welche Sperrgründe noch gelten, ist eine nachvollziehbare administrative Klärung sinnvoller als eine unbegründete automatische Freigabe.

Wirksame Rechte und bestehende Sitzungen

Der aktualisierte Rechtebestand und eine bereits ausgestellte Sitzung sind getrennte Ebenen. Ein Zugangstoken kann noch alte Rollenangaben enthalten. Für zeitnahe Rechteänderungen muss daher zusätzlich festgelegt werden, wann Sitzungen erneuert, serverseitig nachgeprüft oder beendet werden.

Eine klare Herkunftsverwaltung beantwortet zunächst, weshalb eine Berechtigung besteht. Zusammen mit den Regeln für Sitzungen und Sperren lässt sich daraus ein Betriebsablauf ableiten, der automatische Gruppenverwaltung und bewusste lokale Entscheidungen miteinander vereinbart.

Weiterführende Informationen