In modernen IT-Systemen greifen viele Benutzer gleichzeitig auf Daten, Anwendungen und Dienste zu. Damit nicht jeder alles darf, braucht es Berechtigungskonzepte. Sie legen fest, wer welche Ressourcen nutzen, ändern oder verwalten darf. Ziel ist es, Sicherheit, Datenschutz und Stabilität zu gewährleisten, ohne die Arbeit unnötig zu behindern.
Ein gutes Berechtigungskonzept sorgt für:
Berechtigungskonzepte sind damit ein zentrales Element von IT-Sicherheit und unverzichtbar in Unternehmen, Verwaltungen und auch in privaten IT-Umgebungen.
Ein Berechtigungskonzept beschreibt ein System, in dem die Nutzung von Ressourcen nicht uneingeschränkt möglich ist, sondern eine genaue Definition der Nutzung je Benutzer und Ressource erfolgt. Obwohl ursprünglich aus dem organisatorischen Umfeld kommend haben Berechtigungskonzepte, vor allem im Zusammenhang mit IT-Systemen eine wichtige Bedeutung.
Ressourcen sind hier beispielsweise Daten und Informationen, aber auch die technische Infrastruktur wie Systemzugänge, Speicherplatz, Rechnerleistung, Computerprogramme usw.
Merke: Ein Berechtigungskonzept dient dem Schutz eine Ressource vor Veränderung oder Zerstörung, verhindert aber auch ihren unrechtmäßigen Gebrauch.
Schützenswerte Ressourcen können beispielsweise Hardware sein:
Aber auch Software oder Daten müssen oft geschützt werden:
Schutz bedeutet also die Ressourcen vor Veränderung oder Zerstörung (z. B. Datensicherheit) zu schützen. Es bedeutet aber auch zu ihren unrechtmässigen Gebrauch (z. B. Datenschutz) zu verhindern.
Es gibt unterschiedliche Kriterien für Benutzerkonzepte. Im vorliegenden Fall wollen wir uns auf die drei Elemente Rollen, Gruppen und Rollen konzentrieren.
Bei diesem Konzept werden die Rechte direkt einem Benutzerkonto zugewiesen.
Beispiel:
Rein benutzerbezogene Konzepte neigen zur Unübersichtlichkeit und sind deshalb oft nur rudimentär ausgeprägt. Das nachfolgende ERD einer Benutzersteuerung zeigt eine mögliche Umsetzung auf reiner Benutzerebene, bei dem die Berechtigung in einer eigenen Datentabelle verwaltet wird. Denkbar wäre es auch die Rechte direkt in der User-Tabelle zu verlagen.
Besser ist ein Konzept über Benutzergruppen. Damit lassen sich Berechtigungen zusammenfassen, beispielsweise alle Berechtigungen, die Mitarbeiter in der Personalbuchhaltung benötigen, wie es sich aus den dortigen Geschäftsprozessen eben ergibt.
Das Betriebssystem UNIX ist ein Beispiel eine Benutzerverwaltung über Gruppen. Für jedes Objekt (Prozess, Datei, Verzeichnis, etc.) werden im Kern drei Gruppen zugelassen. Diese lassen sich beispielweise durch den Befehl ls –lrt ermitteln:
Jedem der eben genannten Objekte können via dem shell-Befehl chmod drei Arten von Berechtigungen gegeben werden:
Neben der symbolischen Darstellung (z.B. rwxrwxr-x) gibt es auch noch eine oktale Darstellung. Die Grundrechte (Lesen, Schreiben, Ausführen) und Kombinationen daraus werden hierbei durch eine einzelne Ziffer repräsentiert und dem Eigentümer, der Gruppe und allen anderen zugeordnet. Je nach Anwendung wird dabei von unterschiedlichen Grundwerten ausgegangen und entweder Rechte gegeben oder entzogen.
Bei chmod wird beispielsweise von der Grundeinstellung keine Rechte (000) ausgegangen und Rechte gegeben, wohingegen bei umask von alle Rechte vorhanden (777) ausgegangen und Rechte entzogen werden. Entsprechend sind die Werte je nach Anwendung anders.
Oktal | Klartext der Berechtigung | chmod | umask | Symbolisch | Binär |
---|---|---|---|---|---|
0 | Keine Rechte | chmod 000 | umask 777 | — | 000 |
1 | Ausführen | chmod 100 | umask 666 | –x | 001 |
2 | Schreiben | chmod 200 | umask 555 | -w- | 010 |
3 | Schreiben + Ausführen | chmod 300 | umask 444 | -wx | 011 |
4 | Lesen | chmod 400 | umask 377 | r– | 100 |
5 | Lesen + Ausführen | chmod 500 | umask 277 | r-x | 101 |
6 | Lesen + Schreiben | chmod 600 | umask 177 | rw- | 110 |
7 | Lesen + Schreiben + Ausführen | chmod 700 | umask 077 | rwx | 111 |
Erklärung der Spalten
Das Verwalten der Benutzerrechte via Rollen erweitert die Gruppenverwaltung. Jedem Mitarbeiter, der nun konkret in der Personalbuchhaltung arbeitet, wird diese Rolle zugeordnet. Ein Mitarbeiter kann aber durchaus mehrere Rollen haben, wenn er mehrere Funktionen bekleidet. Auf diese Weise wird erreicht, dass sowohl Veränderungen in den Zuständigkeiten der einzelnen Mitarbeiter als auch Veränderungen im Geschäftsprozess, nur an jeweils einer Stelle im Berechtigungskonzept nachvollzogen werden müssen, und dieses konsistent und überschaubar bleibt.
Ebene | Fokus / Definition | Vorteile | Nachteile | Beispiel | Aufwand |
---|---|---|---|---|---|
Benutzerebene | Rechte werden direkt einem einzelnen Benutzerkonto zugewiesen. | Sehr feingranular, individuelle Steuerung möglich | Extrem unübersichtlich bei vielen Usern, Redundanz | Benutzer Anna darf Ordner C:\\Projekte lesen/schreiben | Linear (O(n)) – jeder Benutzer muss einzeln gepflegt werden |
Rollenebene | Rechte werden Rollen (z. B. „Admin“, „Mitarbeiter“) zugeordnet, Benutzer erhalten Rollen. | Gut skalierbar, klare Abbildung von Funktionen | Rollenmodell muss durchdacht sein, sonst Chaos | Rolle Buchhaltung darf Rechnungen bearbeiten | Annähernd konstant (O(1)) pro User nach Einrichtung – Hauptaufwand liegt in der Modellierung (einmalig) |
Gruppenebene | Benutzer werden zu Gruppen (z. B. „HR“, „IT“) zusammengefasst, Berechtigungen gelten für alle Mitglieder. | Sehr einfach bei großen Organisationen, organisatorisch naheliegend | Grobkörnig, wenig flexibel bei abweichenden Einzelrechten | Gruppe Marketing darf auf Laufwerk M: zugreifen | Logarithmisch bis linear (O(log n) – O(n)) – Verwaltung nach Abteilungen einfacher, aber nicht so präzise wie Rollen |