c't 22/2020
S. 156
Praxis
Flexiblere Autorisierung
Bild: Albert Hulm

Geregelter Zutritt

Flexible Autorisierung mit dem Open Policy Agent

Was ein Anwender in einer Software darf, wird traditionell anhand eines Rollenmodells entschieden. Für die vielen Regeln in einem Unternehmen ist das aber meist zu starr. Mit dem Open Policy Agent steuern Sie flexibler, wer was darf.

Von Jan Mahn

Jede Anwendung, auf die mehr als ein Anwender zugreifen soll, muss immer wieder die folgende, alles entscheidende Frage beantworten: Darf dieser Benutzer die gewünschte Aktion wirklich ausführen? In Unternehmensanwendungen hängt von der richtigen Beantwortung dieser Frage viel ab. Wer was darf, entscheidet meist nicht der Entwickler der Software selbst – er bekommt vielmehr die Regeln, die im Unternehmen gelten, in ganzen Sätzen auf den Tisch und hat die Aufgabe, sie für die Anwendung zu übersetzen. Solche Regeln können etwa so aussehen:

  • Mitarbeiter aus der Einkaufsabteilung dürfen Aufträge bis 1000 Euro frei­geben.
  • Der stellvertretende Leiter darf bis 10.000 Euro freigeben.
  • Der Leiter der Einkaufsabteilung darf alles freigeben.

Um sich dem Problem zu nähern, greift man meist zu einem Modell, das solche Berechtigungen vereinfacht. Viele Entwickler entscheiden sich für ein rollenbasiertes Modell (Role Based Access Control, RBAC). In einem solchen System gibt es Benutzer, Gruppen und Rollen. Ein Nutzer kann Mitglied mehrerer Gruppen sein. Benutzern und Gruppen kann man Rollen zuweisen – die Anwendung entscheidet dann jeweils, ob die Rolle vorhanden ist, die zum Ausführen einer Aktion notwendig ist. Im besten Fall kann man die Berechtigungsprüfung sogar an eine eigene RBAC-Komponente auslagern, sodass sich Code der Anwendung und die Regeln des Unternehmens nicht vermischen.

Kommentieren