Autorisation
L'autorisation est le processus de vérification des permissions d'un utilisateur pour accéder à des ressources spécifiques ou effectuer certaines actions au sein d'un système après que son identité a été authentifiée.
L'autorisation détermine ce qu'un utilisateur est autorisé à faire. Elle fait suite à l'authentification, qui confirme qui est l'utilisateur. L'autorisation repose sur des mécanismes de contrôle d'accès, tels que le contrôle d'accès basé sur les rôles (RBAC) ou le contrôle d'accès basé sur les attributs (ABAC), pour accorder ou refuser l'accès en fonction de règles et de politiques prédéfinies. Ce processus garantit que les utilisateurs n'ont accès qu'aux ressources et aux fonctionnalités qu'ils sont autorisés à utiliser, ce qui renforce la sécurité et empêche les actions non autorisées.
graph LR
Center["Autorisation"]:::main
Pre_authentication["authentication"]:::pre --> Center
click Pre_authentication "/terms/authentication"
Rel_rbac["rbac"]:::related -.-> Center
click Rel_rbac "/terms/rbac"
Rel_authentication["authentication"]:::related -.-> Center
click Rel_authentication "/terms/authentication"
Rel_single_sign_on_sso["single-sign-on-sso"]:::related -.-> Center
click Rel_single_sign_on_sso "/terms/single-sign-on-sso"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explique-moi comme si j'avais 5 ans
🔑 L'autorisation, c'est comme un bibliothécaire qui vérifie votre carte de bibliothèque pour voir *quels livres* vous êtes autorisé à emprunter, pas seulement que vous êtes bien vous.
🤓 Expert Deep Dive
``markdown
## Spécifications Techniques : Autorisation - Analyse Approfondie
L'autorisation est le processus de vérification et d'application des droits d'accès et des permissions pour un principal authentifié (utilisateur, service, etc.) à des ressources et actions spécifiques. Elle opère après une authentification réussie.
### Concepts Fondamentaux
Distinction avec l'Authentification : L'authentification confirme l'identité (« qui vous êtes ») ; l'autorisation définit les opérations permises (« ce que vous pouvez faire »).
Prise de Décision Basée sur des Politiques : L'accès est accordé ou refusé en fonction de l'évaluation de politiques prédéfinies par rapport aux requêtes.
Granularité des Permissions : Les permissions vont de rôles larges à des actions finement granulées (par exemple, lire, écrire, supprimer, exécuter) sur des ressources spécifiques.
Centré sur la Ressource vs. Centré sur l'Identité : L'autorisation peut être modélisée en définissant quels principaux peuvent accéder à une ressource, ou quelles ressources et actions un principal est autorisé à effectuer.
Autorisation Contextuelle : Les décisions d'accès peuvent intégrer des facteurs environnementaux dynamiques (par exemple, l'heure, la localisation, la posture de l'appareil).
### Modèles d'Autorisation
Listes de Contrôle d'Accès (ACL) : Permissions attachées aux ressources, spécifiant l'accès pour les principaux.
Contrôle d'Accès Basé sur les Rôles (RBAC) : Les permissions sont attribuées à des rôles, qui sont ensuite attribués aux utilisateurs. Simplifie la gestion.
Contrôle d'Accès Basé sur les Attributs (ABAC) : Les décisions d'accès sont basées sur des politiques évaluant les attributs du sujet, de l'objet, de l'action et de l'environnement. Très flexible.
Contrôle d'Accès Basé sur les Politiques (PBAC) : L'accès est piloté par des politiques explicites et déclaratives ; englobe souvent l'ABAC.
### Cycle de Vie des Décisions d'Autorisation
Point d'Application des Politiques (PEP) : Intercepte les requêtes et les transmet pour décision.
Point de Décision des Politiques (PDP) : Évalue les politiques et prend une décision Autoriser/Refuser.
Point d'Information des Politiques (PIP) : Fournit le contexte ou les attributs au PDP.
* Point d'Administration des Politiques (PAP) : Gère les politiques.
### Considérations Techniques
Inclut le stockage des données (IAM, bases de données), les mécanismes d'application (passerelles API, maillages de services), l'autorisation dynamique vs. statique, les défis des systèmes distribués (JWT, microservices), la scalabilité, la révocation, l'audit, le Principe du Moindre Privilège et la Séparation des Tâches.
### Analogie ELI5 : Le Système de Bibliothèque
L'authentification, c'est présenter sa carte d'identité pour obtenir une carte de bibliothèque. L'autorisation, c'est ce que votre carte vous permet : emprunter des livres, accéder aux salles d'étude, ou consulter des archives rares. Le bibliothécaire vérifie les permissions de votre carte par rapport aux règles de la bibliothèque (politiques) pour déterminer votre accès.
``