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 via les modèles d'organisation. Au-delà du contrôle de ce que les utilisateurs peuvent faire, vous pouvez également restreindre quels utilisateurs peuvent se connecter à chaque application avec le contrôle d'accès au niveau de l'application.
Concepts clés
- Contrôle d’accès basé sur les rôles (RBAC) : Logto utilise le RBAC comme base pour attribuer 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.
- 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 à portée d'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 globales sur les ressources API | Protéger les ressources API partagées dans tout votre locataire Logto (non spécifique à une organisation) | Jeton d’accès | Attribuer des rôles / permissions globaux | 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 le contrôle des applications | Protéger les permissions d'organisation (hors API) |
| Permissions sur les 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 des standards.
Ces modèles contrôlent ce qu'un utilisateur peut faire après s'être connecté à une application. Pour contrôler si un utilisateur peut se connecter à une application spécifique, utilisez le contrôle d'accès au niveau de l'application. Il restreint l'accès à l'application avec des règles d'autorisation basées sur les utilisateurs, rôles, organisations ou rôles d'organisation, et fonctionne indépendamment des modèles basés sur les jetons ci-dessus.
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 tout 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 UI ou des workflows) et / ou à des points de terminaison API à portée d'organisation.
-
Rôles et permissions (portées / scopes) : Les rôles sont des collections de permissions (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 les 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 globaux.
Contrôlez les actions et fonctionnalités UI spécifiques à l’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.
Restreignez quels utilisateurs peuvent se connecter à chaque application en utilisant les utilisateurs, rôles, organisations et rôles d’organisation.
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 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