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"
} 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.