Autorisierungskonzepte für Software: Von ABAC bis Zanzibar

Wer darf was in einer Software? Autorisierung ist zentral für die Sicherheit von Software und Entwickler können zwischen unterschiedlichen Ansätzen wählen.

Artikel verschenken
vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 17 Min.
Von
Inhaltsverzeichnis

Sage mir, Muse, die Taten des vielgewanderten Mannes, der so weit geirrt, nachdem er ins Unternehmen kam. Eine wahre Odyssee erwartet jeden neuen Mitarbeiter in fast jedem Unternehmen: Er bekommt einen oder mehrere Accounts für ein oder mehrere Systeme und startet dann voller Tatendrang. Alsbald läuft er gegen Wände aus fehlenden Berechtigungen und kämpft gegen Berechtigungs- und Freigabeprozesse. Bis er all das darf, was er für seine Arbeit braucht, vergehen Wochen, schlimmstenfalls Monate. Berechtigungen in IT-Systemen, die von mehr als einem Anwender genutzt werden, können technisch und organisatorisch kompliziert sein. Die naheliegende Abkürzung, nämlich volle Rechte für alle, wäre hingegen katastrophal für die Sicherheit. Es sollte vielmehr das Prinzip "Least Privilege" gelten; jeder bekommt gerade so viele Rechte, wie er unbedingt für seine Arbeit braucht.

Um das zu erreichen, gibt es altbewährte Ansätze und neue Ideen, die angetreten sind, um die Rechteverwaltung auch in großen Systemen zu vereinfachen. Dieser Artikel stellt bekannte und weniger verbreitete Autorisierungskonzepte vor. Als Nutzer verstehen Sie dadurch besser, warum Systeme, mit denen Sie täglich zu tun haben, so sind, wie sie sind. Für Entwickler gibt es neue Ideen abseits ausgetretener Pfade zu entdecken. Autorisierungskonzepte sind spannender, als man zunächst annehmen mag.

Mehr zum Thema Softwareentwicklung
c’t kompakt
  • Jede Software, die für mehrere Nutzer gedacht ist, muss Entscheidungen treffen, wer welche Aktion ausführen kann.
  • Verschiedene Autorisierungskonzepte kommen infrage, mit jeweils eigenen Vor- und Nachteilen.
  • Neben bewährten Konzepten gibt es auch neue Ansätze für eine zentrale Aufgabe der Softwareentwicklung.

Vorab etwas Begriffsklärung: Unter Autorisierung versteht man die Entscheidung, ob jemand berechtigt ist, eine Aktion auszuführen. Die Wahl des Autorisierungssystems ist immer eine Abwägungsaufgabe: Das System muss ausreichend flexibel und granular sein, um alle gewünschten Berechtigungsprüfungen abzudecken, gleichzeitig muss die Berechtigungsverwaltung für die erwartete Anzahl der Nutzer beherrschbar sein – wenn ein Admin für jeden neuen Mitarbeiter einen Tag lang Rechte zusammenklicken muss, läuft etwas falsch. Schließlich sollte das System auch gut skalieren und nicht zusammenbrechen, wenn viele Berechtigungsprüfungen gleichzeitig nötig sind.

Das war die Leseprobe unseres heise-Plus-Artikels "Autorisierungskonzepte für Software: Von ABAC bis Zanzibar". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.