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énario | Quand l’utiliser | Type de jeton | Configuration des rôles | En savoir plus |
---|---|---|---|---|
Permissions de ressources API globales | Protéger les ressources API partagées dans l’ensemble de votre locataire Logto (non spécifique à une organisation) | Jeton d’accès | Attribuer des rôles / permissions globales | Proté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’organisation | Attribuer des rôles / permissions d’organisation pour les contrôles d’application | Protéger les permissions d’organisation (hors API) |
Permissions de ressources API au niveau organisation | Protéger les ressources API accessibles dans une organisation spécifique | Jeton d’organisation | Attribuer des rôles / permissions d’organisation pour les API d’organisation | Proté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.
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 :
Maîtrisez les rôles et permissions pour un contrôle d’accès granulaire.
Découvrez comment configurer des rôles et permissions réutilisables pour les applications multi-locataires.
Sécurisez les API partagées dans votre locataire Logto avec des rôles et permissions globales.
Contrôlez les actions et fonctionnalités spécifiques à une organisation avec des rôles d’organisation.
Sécurisez les API accessibles dans une organisation spécifique à l’aide des rôles d’organisation.
Découvrez comment vérifier les jetons Logto dans votre backend pour sécuriser les API.
Découvrez comment ajouter des revendications personnalisées pour des scénarios de contrôle d’accès avancés.
Cas d’usage
Vous cherchez des exemples pratiques et des scénarios concrets ? Consultez ces guides :
Découvrez un exemple concret et étape par étape d’autorisation sécurisée avec le RBAC.
Suivez un guide complet sur l’architecture et la mise en œuvre d’une application SaaS multi-locataire.
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