Aller au contenu principal

Autorisation (Authorization)

L’autorisation (Authorization) dans Logto définit ce que les utilisateurs et les applications peuvent faire après l’authentification : quelles API, ressources ou actions sont autorisées pour chaque identité.

Logto offre une autorisation flexible, basée sur des jetons, pour les applications SaaS et IA modernes. Vous pouvez protéger les ressources API globalement, ou dans le contexte de chaque organisation. Toutes les permissions sont gérées via un système de contrôle d’accès basé sur les rôles (RBAC), avec une prise en charge avancée des applications multi-locataires grâce aux modèles d’organisation.

Concepts clés

  • Contrôle d’accès basé sur les rôles (RBAC) : Logto utilise le RBAC comme fondement pour l’attribution des permissions aux utilisateurs, clients et services. En savoir plus sur le RBAC.
  • Ressource API : Tout service backend ou point de terminaison que vous souhaitez protéger (global ou spécifique à une organisation).
  • Rôle (Role) : Un groupe de permissions (par exemple, admin, lecteur, éditeur).
  • Permission (Portée / scope) : Une action autorisée spécifique (par exemple, read:report, invite:member).
  • Organisation (Organization) : Représente un locataire, un espace de travail ou un client dans votre application. Ceci est différent du locataire Logto, qui fait référence à votre projet ou instance Logto global(e).
  • Modèle d’organisation (Organization template) : Pour les applications multi-locataires, définissez un ensemble réutilisable de rôles et de permissions appliqué à toutes les organisations. Voir comment fonctionnent les modèles d’organisation.
  • Jeton d’accès / jeton d’organisation (Access token / organization token) : Jetons contenant des revendications pour des permissions globales ou à l’échelle d’une organisation.

Scénarios d’autorisation

Il existe trois principaux modèles d’autorisation dans Logto. Choisissez le scénario qui correspond à vos besoins :

ScénarioQuand l’utiliserType de jetonConfiguration des rôlesEn savoir plus
Permissions de ressources API globalesProtéger les ressources API partagées dans l’ensemble de votre locataire Logto (non spécifique à une organisation)Jeton d’accèsAttribuer des rôles / permissions globalesProtéger les ressources API globales
Permissions d’organisation (hors API)Contrôler les actions, fonctionnalités UI ou logiques métier spécifiques à une organisation (hors API)Jeton d’organisationAttribuer des rôles / permissions d’organisation pour les contrôles d’applicationProtéger les permissions d’organisation (hors API)
Permissions de ressources API au niveau organisationProtéger les ressources API accessibles dans une organisation spécifiqueJeton d’organisationAttribuer des rôles / permissions d’organisation pour les API d’organisationProtéger les ressources API au niveau organisation

Logto modélise les ressources API selon RFC 8707, en utilisant le paramètre resource dans les flux d’autorisation OAuth 2.0. Cela simplifie la sécurisation de plusieurs API ou microservices, et garantit la compatibilité avec d’autres systèmes basés sur les standards.

astuce:

Besoin de revendications personnalisées ou d’un contrôle d’accès avancé ? Voir Revendiquer des jetons personnalisés.

Comment fonctionne l’autorisation Logto

  • Basé sur les jetons : Chaque accès est accordé via un jeton d’accès sécurisé et signé. Votre backend valide le jeton et applique les permissions (portées / scopes).

  • Permission globale vs. permission d’organisation (Portée / scope) :

    • Permission globale (scope) : Contrôle l’accès aux ressources API dans l’ensemble de votre locataire Logto.
    • Permission d’organisation (scope) : Contrôle à la fois la logique métier (fonctionnalités de l’application) et les ressources API dans le contexte d’une organisation. Les permissions d’organisation peuvent s’appliquer à des fonctionnalités hors API (telles que des éléments d’interface ou des workflows) et / ou à des points de terminaison API à l’échelle de l’organisation.
  • Rôles et permissions (portées / scopes) : Les rôles sont des collections de permissions (portées / scopes). Attribuez des rôles aux utilisateurs ou clients globalement ou au sein d’une organisation, selon votre scénario.

Prochaines étapes

Prêt à aller plus loin ? Passez à la pratique, explorez des guides concrets ou approfondissez votre compréhension :

Cas d’usage

Vous cherchez des exemples pratiques et des scénarios concrets ? Consultez ces guides :

Pour aller plus loin

RBAC et ABAC : Les modèles de contrôle d’accès à connaître

Quand utiliser les JWT ? Méthodes d’autorisation API