Zum Inhalt springen

Services, Wiki-Artikel und Blog-Beiträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen

Access Control Modelle: DAC, MAC, RBAC, ABAC und Zero Trust

DAC, MAC, RBAC, ABAC und Zero Trust: die fünf Access-Control-Modelle mit Beispielen aus AD, AWS IAM und PostgreSQL.

Inhaltsverzeichnis (2 Abschnitte)

Zugriffskontrolle beantwortet drei fundamentale Fragen: Wer darf zugreifen? Auf was darf zugegriffen werden? Und unter welchen Bedingungen? Die Antworten sind in verschiedenen Access-Control-Modellen kodifiziert - je nach Anforderung bietet jedes Modell andere Sicherheits- und Usability-Tradeoffs.

Die vier Grundmodelle

1. DAC - Discretionary Access Control

Prinzip: Der Ressourcen-Eigentümer entscheidet über Zugriffsrechte

  • Flexibel, benutzerfreundlich
  • Standard in Windows NTFS, Unix-Dateisysteme

Unix-Dateisystem (klassisches DAC):

ls -la /home/user/datei.txt
-rw-r--r-- 1 user gruppe 1234 Mar 04 10:00 datei.txt
 rwx = Eigentümer: read/write/execute
  rwx = Gruppe: read only
   rwx = Andere: read only

chmod 640 datei.txt  # rw-r-----
chown user:abteilung datei.txt

Windows NTFS ACL:

  • Jede Datei/Ordner hat Access Control List (ACL)
  • ACE (Access Control Entry) pro Benutzer/Gruppe
  • Vererbung: Unterordner erben elterliche ACLs

DAC Schwächen:

  • Trojanische Pferde: Malware mit User-Rechten = User-Datei-Zugriff
  • Unbeabsichtigte Weitergabe: User teilt Datei - Empfänger teilt weiter
  • Kein zentral erzwungenes Policy-Framework

2. MAC - Mandatory Access Control

Prinzip: Systemweite Policy entscheidet über Zugriff (nicht der Eigentümer)

  • Sehr strikt, typisch für Hochsicherheitsumgebungen
  • Militär-Klassifizierung: TOP SECRET, SECRET, CONFIDENTIAL

Bell-LaPadula-Modell (Vertraulichkeit) - "No Read Up, No Write Down":

  • User mit SECRET-Clearance kann keine TOP SECRET Dateien lesen
  • User mit SECRET-Clearance kann nicht in CONFIDENTIAL Dateien schreiben
  • Verhindert Informationsfluss von höherer zu niedrigerer Stufe

SELinux (MAC in Linux):

  • Jeder Prozess, jede Datei hat SELinux-Label (Security Context)
  • Policy definiert: welcher Prozess darf auf welche Datei zugreifen
  • httpd (Apache) darf NICHT auf /etc/shadow zugreifen (egal wie die DAC-Rechte sind!)
# SELinux Status prüfen:
getenforce  # Enforcing / Permissive / Disabled

# Context anzeigen:
ls -Z /var/www/html/
# -rw-r--r-- root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html
#                       ↑ SELinux Context

# Fehler bei SELinux-Denials:
ausearch -m avc -ts recent  # Letzte SELinux-Denials
audit2why < /var/log/audit/audit.log  # Warum denied?

AppArmor (Alternative zu SELinux, Ubuntu):

  • Profil-basiert (Programm-Pfad statt Labels)
  • Einfacher zu konfigurieren
  • /etc/apparmor.d/usr.sbin.nginx (Nginx-Profil)

3. RBAC - Role-Based Access Control

Prinzip: Berechtigungen werden Rollen zugewiesen, nicht Personen direkt

  • Skalierbar für Unternehmen
  • Standard in Enterprise-IT

Konzepte: User - Rolle - Berechtigungen - Ressourcen

Active Directory RBAC:

  • Gruppe "IT-Support" hat Berechtigung "Passwort zurücksetzen" für OU "Benutzer"
  • Gruppe "Finanz-Buchhalter" hat Lese/Schreibrechte auf "Finanzdaten"-Share

Gruppen-Hierarchie Best Practice: Benutzerkonten - Global Groups - Domain Local Groups - Ressourcen-Berechtigungen (AGDLP-Modell: Accounts - Global - Domain Local - Permissions)

Kubernetes RBAC:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: production
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]
---
kind: RoleBinding
subjects:
- kind: ServiceAccount
  name: monitoring-agent
roleRef:
  kind: Role
  name: pod-reader

PostgreSQL RBAC:

CREATE ROLE readonly;
GRANT CONNECT ON DATABASE mydb TO readonly;
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

CREATE ROLE analyst LOGIN PASSWORD 'securepass';
GRANT readonly TO analyst;

RBAC Schwächen:

  • Role Explosion: zu viele Rollen, unüberschaubar
  • Overprivileged Roles: Rolle hat mehr Rechte als nötig
  • Statisch: kein Kontextbezug (Zeit, Gerät, Standort)

4. ABAC - Attribute-Based Access Control

Prinzip: Zugriff basiert auf Attributen von User, Ressource und Kontext

  • Feingranular, flexibel, kontextsensitiv
  • Standard: XACML (eXtensible Access Control Markup Language)

ABAC-Policy-Beispiel:

Zugriff ERLAUBT wenn:
  user.department == "Finance"
  AND user.clearance_level >= "confidential"
  AND resource.classification == "confidential"
  AND context.time BETWEEN "08:00" AND "18:00"
  AND context.location == "office_network"

Kein Passwort egal wie sicher: außerhalb Bürozeiten - Zugriff verweigert

AWS IAM als ABAC:

{
  "Effect": "Allow",
  "Action": "ec2:*",
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:ResourceTag/Environment": "${aws:PrincipalTag/Environment}",
      "aws:PrincipalTag/Project": "${aws:ResourceTag/Project}"
    }
  }
}

Entwickler dürfen nur Instanzen ihres eigenen Projekts/Environments starten

Zero Trust als Access Control Evolution

Zero Trust Access Control Prinzipien:

"Never Trust, Always Verify":

  • Kein implizites Vertrauen basierend auf Netzwerk-Location
  • Jeder Zugriff muss authentifiziert + autorisiert sein
  • Kontinuierliche Prüfung (nicht nur beim Login)

Policy Decision Point (PDP) + Policy Enforcement Point (PEP):

Request: User - PEP (Firewall/Proxy) - PDP (Policy Engine) - [Allow/Deny]

PDP prüft:

  • Benutzeridentität (MFA bestanden?)
  • Gerätezustand (compliant? aktuell?)
  • Risikolevel (Login aus Nigeria um 3 Uhr?)
  • Ressourcen-Klassifizierung (wie sensitiv?)
  • Netzwerk-Location (VPN/intern/extern?)

Microsoft Entra ID Conditional Access (PDP-Beispiel):

Richtlinie: "Zugriff auf Finance-App"

FeldWert
UserFinance-Abteilung-Gruppe
PlatformWindows, iOS, Android (nicht Linux ohne Mgmt!)
LocationNICHT Risikoländer
DeviceCompliant (Intune-eingeschrieben, aktuell)
Sign-in RiskLow (Entra ID-Risikobewertung: kein Impossible Travel)
GewährenMehrstufige Authentifizierung erforderlich
SitzungToken-Lifetime 1 Stunde (re-auth danach)

Berechtigungen implementieren - Checkliste:

  • Least Privilege als Grundprinzip: Jeder User/Service-Account bekommt GENAU die Berechtigungen die nötig sind; kein "Full Admin weil einfacher"
  • Access Reviews regelmäßig: Quartalsweise: Wer hat welche Berechtigungen? Noch gültig? Bei Rollenwechsel: sofortige Anpassung (Joiner/Mover/Leaver-Prozess)
  • Privileged Access getrennt: Admin-Konten ≠ Alltags-Konten (keine Surfen mit Admin-Konto!); PAM-Lösung (CyberArk, Teleport) für privilegierten Zugang
  • Time-Based Access: Just-in-Time: Berechtigungen nur wenn benötigt, automatisch ablaufend; Microsoft Entra PIM: Admin-Rechte max. 8h, mit Approval + MFA
  • Audit Logging: Jeder Zugriff auf kritische Ressourcen geloggt; besonders: Zugriff auf privilegierte Konten, sensitive Daten
  • Separation of Duties: Kein Einzelner kann kritischen Prozess komplett ausführen; Beispiel: Überweisung anlegen + freigeben = zwei verschiedene Personen

Fragen zu diesem Thema?

Unsere Experten beraten Sie kostenlos und unverbindlich.

Erstberatung

Über den Autor

Oskar Braun
Oskar Braun

Abteilungsleiter Information Security Consulting

E-Mail

Dipl.-Math. (WWU Münster) und Promovend am Promotionskolleg NRW (Hochschule Rhein-Waal) mit Forschungsschwerpunkt Phishing-Awareness, Behavioral Security und Nudging in der IT-Sicherheit. Verantwortet den Aufbau und die Pflege von ISMS, leitet interne Audits nach ISO/IEC 27001:2022 und berät als externer ISB in KRITIS-Branchen. Lehrbeauftragter für Communication Security an der Hochschule Rhein-Waal und NIS2-Schulungsleiter bei der isits AG.

ISO 27001 Lead Auditor (IRCA) ISB (TÜV) T.I.S.P. (TeleTrusT)
Dieser Artikel wurde zuletzt am 04.03.2026 bearbeitet. Verantwortlich: Oskar Braun, Abteilungsleiter Information Security Consulting bei AWARE7 GmbH. Lizenz: CC BY 4.0 - freie Nutzung mit Namensnennung: „AWARE7 GmbH, https://a7.de“

Rufen Sie uns an

Mo-Fr, 8:00-17:00 Uhr - persönlich und unverbindlich.

0209 8830 6764
Jetzt anrufen