Aller au contenu

Autorisation

Sécurité

Processus par lequel un système décide si une entité dont l'identité est déjà établie peut effectuer une action donnée sur une ressource donnée. L'autorisation répond à « qu'a-t-il le droit de faire ? » et vient après l'authentification, jamais à sa place.

Schéma de séquence entre trois acteurs : Utilisateur, Service et Moteur de politiques. 1, l'utilisateur envoie au service une requête accompagnée d'un jeton, son identité étant déjà établie. 2, le service transmet au moteur de politiques le sujet, l'action demandée et la ressource visée. Si une règle autorise, 3, le moteur renvoie la décision « permis » et 4, le service exécute l'action pour l'utilisateur. Si aucune règle n'autorise, 3, le moteur renvoie la décision « refusé » et 4, le service répond à l'utilisateur par une erreur 403 et écrit une entrée dans le journal.

Modèles : On attribue les droits par rôles (RBAC), par attributs du sujet, de la ressource et du contexte (ABAC) ou par relations entre objets (ReBAC, « membre de l'équipe propriétaire du dossier »). Les systèmes réels mélangent souvent les trois, avec plus ou moins de bonheur.

Moindre privilège : On refuse par défaut et on n'accorde que le strict nécessaire, pour une durée bornée quand c'est possible. En pratique, le compte de service « temporairement admin » fête souvent ses cinq ans sans que personne ne se souvienne pourquoi.

Décider et appliquer : Le contrôle se fait côté serveur, à chaque requête et sur chaque objet : masquer un bouton dans l'interface n'interdit rien. Oublier de vérifier que l'objet demandé appartient bien au demandeur suffit à ouvrir les données des autres, et ce contrôle d'accès défaillant figure en tête des vulnérabilités web les plus répandues.

Délégation : Avec OAuth 2.0, un jeton d'accès porte des portées (scopes) qui limitent ce qu'une application tierce peut faire au nom de l'utilisateur. Ce jeton transporte des droits, pas une preuve d'identité : c'est le rôle d'OpenID Connect.

Ce qui arrive si on s'en passe

Sans autorisation, toute entité authentifiée reçoit de fait l'ensemble des droits que le système expose. Un compte ordinaire peut alors lire, modifier ou supprimer des ressources appartenant à d'autres, ou lancer des fonctions d'administration dès qu'il en connaît l'adresse ou l'identifiant. L'authentification reste la seule barrière : un seul identifiant compromis, même celui d'un compte aux besoins minimes, ouvre donc tout le périmètre. Le principe du moindre privilège ne peut plus s'appliquer et la séparation des rôles disparaît. Comme aucune décision de refus n'est produite, les journaux ne peuvent pas signaler une tentative d'accès hors du rôle attendu, car rien ne distingue une action légitime d'un abus. Il devient aussi impossible d'établir ce qu'un compte avait réellement le droit de faire, ce qui complique l'analyse d'un abus et la limitation de sa portée.

Explication de la marmotte

Au concert, le billet montré à l'entrée prouve qu'on est bien la personne qui l'a acheté. Mais il n'ouvre pas toutes les portes : avec un billet ordinaire, on reste dans la fosse ; pour aller dans les coulisses, il faut un bracelet spécial. Sur une application, c'est pareil. Une fois connecté, le site vérifie à chaque action ce qu'on a le droit de faire : lire un document, le modifier, le supprimer. Sur l'espace en ligne d'un lycée, un élève peut consulter ses notes, mais seul le professeur peut les changer. Le site décide, porte par porte, qui peut entrer où.

Où ce terme est utilisé

← Tout le glossaire