Access Control List (ACL) : Définition, Types, Exemples

Une ACL est une liste attachée à une ressource qui spécifie quels utilisateurs/groupes ont quelles permissions. Utilisé dans file systems, réseaux, cloud.

Qu'est-ce qu'une Access Control List (ACL) ?

Une Access Control List (ACL) est une structure de données attachée à une ressource (fichier, répertoire, network device, objet S3) qui énumère explicitement quels utilisateurs ou groupes ont quelles permissions sur cette ressource. Les ACLs sont parmi les mécanismes access-control les plus anciens et fondamentaux.

Une ACL répond conceptuellement à la question "pour la ressource X, qui peut faire quoi ?"

Anatomie d'ACL

Une ACL typique est une liste d'Access Control Entries (ACEs) :

  • Subject : à qui l'entry s'applique
  • Permission(s) : quelle(s) action(s) granted ou denied
  • Decision : allow ou deny
  • Conditions optionnelles : time-of-day, IP source
user::rwx
user:alice:rw-
group::r-x
group:engineering:rwx
other::r--

Types d'ACLs

TypeOù utiliséNotes
File system ACLPOSIX, Windows NTFS, NFSv4Permissions sur fichiers/répertoires
Network ACLRouters, firewalls, AWS NACLAllow/deny trafic
S3 Bucket/Object ACLAWS S3 (legacy)Largement superseded
Database ACLCertains DBMSesPer-table ou per-row
Application ACLApps SaaS, CMSesListes custom permissions

ACL vs RBAC vs ABAC

ModèleGranularitéMeilleur pour
ACLPer-ressourcePeu de ressources
RBAC (Role-Based)Per-rôleBeaucoup d'utilisateurs
ABAC (Attribute-Based)Dynamique per-contexteFine-grained
CapabilitiesPer-user (token-based)Systèmes distribués

ACLs file system POSIX

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

ACLs réseau

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

ACLs AWS S3

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

Ordre évaluation ACL

  • First match wins.
  • Deny overrides allow.
  • Default deny.

Best practices ACL

  • Commencer par default deny.
  • Least privilege.
  • Utiliser groupes, pas individus.
  • Auditer régulièrement.
  • Documenter pourquoi chaque entry existe.
  • Préférer RBAC pour accès bulk.
  • Tester changements règles avec soin.
  • Attention au misordre "deny all".

Pièges ACL courants

  • ACL sprawl.
  • ACLs inconsistantes.
  • ACLs public-access oubliées.
  • Default ACL non héritée.
  • Ordre évaluation network ACL.
  • Confusion ACL vs effective permissions.

FAQ : Access Control Lists

Différence entre ACL et RBAC ?

ACL : per-ressource. RBAC : per-rôle.

Devrais-je utiliser S3 ACLs ?

Généralement non. AWS recommande bucket policies + IAM.

Différence entre AWS Security Group et NACL ?

SG : stateful, instance-level. NACL : stateless, subnet-level.

Pourquoi mes POSIX ACLs ne s'appliquent pas ?

Le file system doit supporter les ACLs.

Les ACLs peuvent-elles être trop permissives ?

Oui — ACLs over-permissives sont un top cloud breach vector.

Comment auditer les ACLs existantes ?

POSIX : getfacl. AWS : Config + Trusted Advisor.

Les ACLs ralentissent-elles les systèmes ?

Marginalement.

Testez les APIs ACL-protégées avec LoadFocus

LoadFocus exécute des scripts JMeter et k6 qui exercent les paths auth depuis 25+ régions. Inscrivez-vous sur loadfocus.com/signup.

Quelle est la vitesse de votre site web?

Augmentez sa vitesse et son référencement naturel de manière transparente avec notre Test de Vitesse gratuit.

Test gratuit de vitesse du site Web

Analyser la vitesse de chargement de votre site Web et améliorer ses performances avec notre outil gratuit de vérification de la vitesse de la page.

×