Access Control List (ACL): Definition, Typen, Beispiele

Eine ACL ist eine Liste an einer Ressource, die spezifiziert, welche User/Groups welche Permissions haben. In File-Systems, Netzwerken, Cloud-Storage.

Was ist eine Access Control List (ACL)?

Eine Access Control List (ACL) ist eine Datenstruktur, die an eine Ressource (File, Directory, Network-Device, S3-Object) attached ist und explizit aufzählt, welche User oder Groups welche Permissions auf dieser Ressource haben. ACLs sind einer der ältesten und fundamentalsten Access-Control-Mechanismen.

Eine ACL beantwortet konzeptionell die Frage "für Ressource X, wer kann was tun?"

ACL-Anatomie

Eine typische ACL ist eine Liste von Access Control Entries (ACEs):

  • Subject: auf wen der Entry zutrifft
  • Permission(s): welche Aktion(en) granted oder denied
  • Decision: allow oder deny
  • Optionale Conditions: Time-of-Day, Source-IP, etc.
user::rwx
user:alice:rw-
group::r-x
group:engineering:rwx
other::r--

Typen von ACLs

TypWo genutztNotes
File-System-ACLPOSIX, Windows NTFS, NFSv4Permissions auf Files/Directories
Network-ACLRouter, Firewalls, AWS NACLAllow/Deny Traffic
S3-Bucket/Object-ACLAWS S3 (legacy)Mostly superseded
Database-ACLManche DBMSesPer-Table oder Per-Row
Application-ACLSaaS-Apps, CMSesCustom Permission-Listen

ACL vs RBAC vs ABAC

ModellGranularitätAm besten für
ACLPer-ResourceWenige Ressourcen
RBAC (Role-Based)Per-RoleViele User
ABAC (Attribute-Based)Dynamic Per-ContextFine-grained
CapabilitiesPer-User (Token-based)Distributed Systems

POSIX File-System-ACLs

setfacl -m u:alice:rw file.txt
setfacl -m g:engineering:r file.txt
getfacl file.txt
setfacl -d -m u:alice:rw /var/data

Network-ACLs

access-list 100 permit tcp 10.0.0.0 0.0.0.255 any eq 80
access-list 100 permit tcp 10.0.0.0 0.0.0.255 any eq 443
access-list 100 deny ip any any

AWS S3-ACLs

{
  "Owner": { "ID": "..." },
  "Grants": [
    { "Grantee": { "ID": "..." }, "Permission": "FULL_CONTROL" }
  ]
}

ACL-Evaluation-Order

  • First match wins: Network-ACLs.
  • Deny overrides allow: NTFS, AD.
  • Default deny.

ACL Best Practices

  • Mit Default-Deny starten.
  • Least Privilege.
  • Groups, nicht Individuen.
  • Regelmäßig auditieren.
  • Warum jeder Entry existiert dokumentieren.
  • RBAC für Bulk-Access bevorzugen.
  • Rule-Changes vorsichtig testen.
  • Auf "Deny all"-Missorder achten.

Häufige ACL-Fallstricke

  • ACL-Sprawl.
  • Inkonsistente ACLs.
  • Vergessene Public-Access-ACLs.
  • Default-ACL nicht inherited.
  • Network-ACL-Evaluation-Order.
  • ACL vs Effective-Permissions Confusion.

FAQ: Access Control Lists

Unterschied zwischen ACL und RBAC?

ACL: Per-Resource. RBAC: Per-Role.

Sollte ich S3-ACLs nutzen?

Generell nein. AWS empfiehlt Bucket-Policies + IAM.

Unterschied zwischen AWS Security Group und NACL?

SG: stateful, Instance-Level. NACL: stateless, Subnet-Level.

Warum applien meine POSIX-ACLs nicht?

File-System muss ACLs supporten.

Können ACLs zu permissive sein?

Ja — Over-Permissive-ACLs sind ein Top-Cloud-Breach-Vector.

Wie audite ich existierende ACLs?

POSIX: getfacl. AWS: Config + Trusted Advisor.

Verlangsamen ACLs Systeme?

Marginally.

Testen Sie ACL-protected APIs mit LoadFocus

LoadFocus läuft JMeter- und k6-Scripts, die Auth-Pfade aus 25+ Regionen exerzieren. Registrieren bei loadfocus.com/signup.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.

×