IAM (Identity and Access Management)
Das Framework zur Verwaltung digitaler Identitäten und deren Zugriffsrechte – wer darf was in welchem System tun.
Zwei Modelle für Zugriffssteuerung – RBAC basiert auf Rollen, ABAC auf Attributen. Grundlage für sichere Autorisierung.
RBAC und ABAC steuern, wer auf was zugreifen darf.
RBAC (Role-Based):
User → Role → Permissions
├── Alice → Admin → [read, write, delete]
├── Bob → Editor → [read, write]
└── Carol → Viewer → [read]
ABAC (Attribute-Based):
IF user.department == "Finance"
AND resource.type == "Report"
AND time.hour BETWEEN 9 AND 17
AND user.device == "Corporate"
THEN allow
class RBAC:
def __init__(self):
self.roles = {
"admin": ["read", "write", "delete", "admin"],
"editor": ["read", "write"],
"viewer": ["read"]
}
self.user_roles = {}
def assign_role(self, user_id, role):
self.user_roles[user_id] = role
def has_permission(self, user_id, permission):
role = self.user_roles.get(user_id)
return permission in self.roles.get(role, [])
# policy.rego
package authz
default allow = false
allow {
input.user.role == "admin"
}
allow {
input.user.department == input.resource.department
input.action == "read"
}
| Kriterium | RBAC | ABAC |
|---|---|---|
| Grundprinzip | Statische Rollen | Dynamische Regeln über Attribute |
| Komplexität | Niedrig, leicht verständlich | Höher, mächtiger |
| Kontext (Zeit, Ort, Gerät) | Nicht abbildbar | Kernstärke |
| Auditierbarkeit | Einfach (“Wer hat Rolle X?”) | Schwieriger (“Welche Regel griff wann?”) |
| Skalierung | Gefahr der Rollen-Explosion | Wenige Policies decken viele Fälle ab |
| Typischer Einsatz | Interne Tools, klare Hierarchien | Multi-Tenant, Zero Trust, feingranulare Kontrolle |
In der Praxis ist die Kombination Standard: RBAC definiert die Grundrechte (“Editor darf schreiben”), ABAC verfeinert sie kontextabhängig (“aber nur Dokumente des eigenen Mandanten, nur vom verwalteten Gerät”).
Autorisierungsmodelle bekommen durch KI-Anwendungen neue Einsatzfelder:
| Fehler | Folge | Besser |
|---|---|---|
| Rollen-Explosion | Hunderte Spezialrollen, niemand blickt durch | Wenige Basisrollen + ABAC für Ausnahmen |
| Rechte direkt an Nutzer vergeben | Umgeht das Rollenmodell, kein Überblick | Rechte ausschließlich über Rollen/Policies |
| Autorisierung im Client | Lässt sich durch API-Aufrufe umgehen | Durchsetzung serverseitig, Client nur zur Anzeige |
| Keine Access Reviews | Verwaiste Rollen und Permission Creep | Regelmäßige Überprüfung und Entzug |
| ABAC-Policies ohne Tests | Fehlerhafte Regeln sperren aus oder öffnen zu viel | Policies wie Code behandeln: Versionierung, Tests |
RBAC ist wie Schlüssel für Abteilungen (Marketing-Schlüssel öffnet Marketing-Türen). ABAC ist wie ein intelligentes Schloss (öffnet nur für Senior-Mitarbeiter, während Arbeitszeit, vom Firmengerät).
RBAC: Benutzer → Rolle → Berechtigungen
ABAC: Regeln basierend auf Attributen (User, Resource, Context)
RBAC einfacher, ABAC flexibler
Enterprise-Anwendungen
Abteilungsbasierte Zugriffsrechte
Multi-Tenant SaaS
Tenant-Isolation
Sicherheit
Nachvollziehbare Berechtigungen
RBAC für einfache Hierarchien. ABAC wenn Kontext wichtig ist (Zeit, Ort, Gerät). Oft Kombination: RBAC als Basis, ABAC für Feinsteuerung.
Policy-Based Access Control – ähnlich ABAC, aber Policies zentral definiert. Oft mit OPA (Open Policy Agent) implementiert.