Le système d'autorisation de Logto et son utilisation dans des scénarios de gestion de l'identité
Explorez le système d'autorisation polyvalent de Logto.
Logto sert non seulement de fournisseur d'authentification mais aussi de fournisseur d'autorisation. Dans cet article, je vais donner un aperçu des méthodes d'autorisation de Logto et expliquer comment ces couches flexibles peuvent être appliquées à divers scénarios.
Utiliser le contrôle d'accès basé sur les rôles pour protéger votre ressource API
Enregistrer des ressources API dans Logto
Pour établir un système d'autorisation où différents utilisateurs ont un accès varié aux ressources et aux autorisations d'actions, vous pouvez commencer par enregistrer la ressource API dans Logto puis ajouter des autorisations. Utilisez des rôles pour regrouper ces autorisations, que ce soit pour une seule API ou pour plusieurs.
Une grande fonctionnalité de Logto est sa capacité à créer divers types de rôles pouvant être appliqués à différentes entités, y compris les applications utilisateurs et machine-à-machine. Les utilisateurs peuvent hériter de rôles spécifiques aux utilisateurs, tandis que les applications machine-à-machine peuvent hériter de rôles conçus pour elles.
Entité ciblée : Utilisateur
Si votre application est une application générale où différents utilisateurs doivent effectuer différentes actions, utiliser des rôles d'utilisateur est un moyen flexible d'établir un système de contrôle d'accès efficace.
Entité ciblée : Application machine-à-machine
Machine-à-machine (M2M) est une pratique courante pour authentifier si vous avez une application qui doit communiquer directement avec des ressources. Par exemple, un service API qui met à jour les données personnalisées des utilisateurs dans Logto, un service de statistiques qui extrait les commandes quotidiennes, etc.
Les applications machine-à-machine peuvent être utilisées dans deux cas d'utilisation clés dans Logto :
- Protégez votre application API sans interface utilisateur en configurant un système d'autorisation.
- Utilisez l'API de gestion Logto pour développer vos services, comme activer des profils d'utilisateur permettant aux utilisateurs finaux de mettre à jour leurs informations liées à l'identité.
La distinction avec les rôles d'utilisateur dans ce contexte est que le rôle est défini spécifiquement comme un rôle machine-à-machine, non un rôle utilisateur, et ne peut être attribué qu'aux applications machine-à-machine.
Dans ce contexte RBAC API, les ressources API, les rôles et les autorisations sont "démocratisés" et vus au niveau du système dans un système d'identité unifié. Cette approche est assez courante dans les produits B2C simples, où il y a moins besoin de gestion hiérarchique complexe.
Utiliser un modèle d'organisation (RBAC) pour protéger votre ressource au niveau de l'organisation
Dans les scénarios B2B, les rôles des utilisateurs peuvent varier selon les organisations. Par exemple, John peut avoir un rôle d'administrateur dans l'Organisation A mais seulement un rôle de membre dans l'Organisation B.
Cela peut être réalisé en configurant des modèles d'organisation dans Logto, ce qui aide votre application multi-locataires à construire un système de contrôle d'accès.
Plutôt que de créer de nombreux rôles pour chaque organisation, Logto vous permet de créer un modèle d'organisation. Cette approche maintient la cohérence entre toutes les organisations tout en permettant aux utilisateurs d'avoir des rôles différents dans différentes organisations.
Les autorisations d'organisation ne nécessitent pas l'enregistrement d'une ressource API. Logto émet des jetons d'organisation qui incluent des rôles et d'autres déclarations, pouvant être utilisés pour une vérification plus approfondie du jeton d'organisation dans votre API.
Utiliser un modèle d'organisation (RBAC) pour protéger à la fois les ressources au niveau du système et de l'organisation
Si vous avez enregistré des ressources API dans Logto et cherchez à étendre leur utilisation au niveau de l'organisation, c'est tout à fait possible.
Ce besoin peut surgir si vous utilisez le même endpoint pour des fonctions au niveau du système et des opérations spécifiques à l'organisation. Avoir un seul endpoint est acceptable, et utiliser le contexte organisationnel peut également garantir efficacement l'isolation des locataires.
Dans Logto, vous pouvez attribuer des autorisations API directement au rôle d'une organisation, en l'adaptant à vos besoins spécifiques.
Voici un aperçu rapide de comment intégrer les autorisations API avec le rôle de votre organisation.
Cette fonctionnalité est en développement et devrait être disponible dans la première moitié de 2024.
Vous êtes enthousiasmé par les systèmes d'autorisation de Logto et nos futures fonctionnalités d'autorisation ? Inscrivez-vous dès aujourd'hui et recevez immédiatement les dernières mises à jour produit.