Organisation et contrôle d'accès basé sur les rôles : Comment concevoir votre modèle d'autorisation pour votre produit
Cet article fournit un guide détaillé sur la manière de concevoir un modèle d'autorisation pour le contrôle d'accès d'organisation et basé sur les rôles, et offre les meilleures pratiques pour différents modèles d'autorisation sur la plateforme Logto.
Qu'est-ce qu'une organisation
Définition de l'organisation
L'organisation est un groupe d'utilisateurs (identités) et peut représenter les équipes, les clients commerciaux et les entreprises partenaires qui peuvent accéder à votre application.
L'organisation est particulièrement efficace dans les environnements entreprise à entreprise (B2B). Contrairement aux consommateurs individuels, les clients commerciaux se composent souvent d'équipes, d'organisations ou d'entreprises entières, plutôt que d'une seule personne. L'introduction d'une organisation en tant qu'entité est importante car elle regroupe non seulement les utilisateurs, mais fournit également un contexte pour l'isolation des locataires dans les applications multi-locataires.
Cas d'utilisation de l'organisation
Avec cet élément fondamental, vous pouvez désormais créer les fonctionnalités indispensables pour vos produits B2B :
- Construire une architecture multi-locataires pour isoler les données et les ressources des clients.
- Les niveaux d'accès à l'application sont définis par les rôles attribués aux membres de l'organisation.
- Provisionner des membres sur invitation et à la demande.
- Chaque organisation peut avoir une expérience d'authentification unique (SSO).
Qu'est-ce que le contrôle d'accès basé sur les rôles ?
Définition du contrôle d'accès basé sur les rôles
Le contrôle d'accès basé sur les rôles (RBAC) est une méthode d'attribution de permissions aux utilisateurs en fonction de leurs rôles. Le contrôle d'accès basé sur les rôles est un mécanisme de contrôle d'accès neutre vis-à-vis des politiques, défini autour des rôles et des privilèges. Les composants de RBAC tels que les permissions de rôle, les utilisateurs-rôles et les relations entre rôles rendent simple l'attribution des utilisateurs. Une étude de NIST a démontré que RBAC répond à de nombreux besoins des organisations commerciales et gouvernementales.
Cas d'utilisation du contrôle d'accès basé sur les rôles
Auparavant, nous avons développé plusieurs guides pour vous aider à utiliser RBAC afin de répondre à vos besoins commerciaux. Jetez un œil à ces tutoriels faciles à suivre pour commencer rapidement.
🔐 Role-Based Access Control (RBAC) | Logto Docs
Utiliser différents modèles d'autorisation dans Logto pour une meilleure pratique
Le contrôle d'accès basé sur les rôles et l'organisation sont des composants clés des fonctionnalités d'autorisation de Logto. En tant que plateforme complète de gestion des identités, Logto propose des solutions adaptées à divers scénarios et niveaux, répondant aux besoins des développeurs et des entreprises pour des architectures de produits diversifiées.
Contrôle d'accès basé sur les rôles pour l'API
Pour protéger les ressources API générales qui ne sont spécifiques à aucune organisation et n'ont pas besoin de restrictions de contexte, la fonction API RBAC est idéale.
Il suffit d'enregistrer l'API et d'attribuer des permissions à chaque ressource. Ensuite, contrôler l'accès à travers la relation entre les rôles et les utilisateurs.
Les ressources API, les rôles et les permissions ici sont « démocratisés » sous un système d'identité unifié. Cela est assez courant dans les produits B2C avec moins de hiérarchie et n'a pas besoin d'un niveau très profond d'isolation des données.
Contrôle d'accès basé sur les rôles pour l'organisation
Dans un environnement B2B et multi-locataires, l'isolation des locataires est nécessaire. Pour y parvenir, les organisations sont utilisées comme un contexte d'isolation, ce qui signifie que RBAC est efficace seulement lorsqu'un utilisateur appartient à une organisation spécifique.
Le RBAC organisationnel se concentre sur le contrôle d'accès au niveau de l'organisation plutôt qu'au niveau de l'API. Cela offre une flexibilité significative pour une autogestion au niveau de l'organisation à long terme tout en restant dans un système d'identité unifié.
Une fonctionnalité clé du RBAC organisationnel est que les rôles et permissions sont généralement les mêmes dans toutes les organisations par défaut, ce qui rend le « modèle d'organisation » de Logto extrêmement significatif pour améliorer l'efficacité du développement.
Cela s'aligne avec la philosophie partagée des applications multi-locataires, où les politiques de contrôle d'accès et les identités sont des composants d'infrastructure communs à tous les locataires (locataires d'application), une pratique courante dans les produits SaaS.
Choisir et concevoir le modèle d'autorisation approprié
Lors de la sélection du modèle d'autorisation approprié, considérez ces questions :
- Développez-vous un produit B2C, B2B, ou une combinaison des deux types ? Les identités sont-elles considérées comme des identités commerciales ?
- Votre application a-t-elle besoin d'une architecture multi-locataires ?
- Y a-t-il un besoin d'un certain niveau d'isolation dans votre application, tel que déterminé par l'unité commerciale ?
- Quelles permissions et rôles doivent être définis dans le contexte de l'organisation, et lesquels ne le sont pas ?
Une application B2C
Prenons un exemple d'application web : BookHarber, une librairie en ligne. BookHarber offre une large gamme de fonctionnalités pour les clients et le personnel, garantissant une expérience d'achat fluide et sécurisée.
Les principales fonctionnalités de BookHarber incluent :
- Navigation et achat de livres : Les utilisateurs peuvent facilement rechercher et acheter des livres dans une collection diversifiée, englobant divers genres et auteurs.
- Gestion des commandes et suivi logistique : Les clients enregistrés peuvent gérer leurs commandes, suivre les envois et recevoir des mises à jour sur leurs achats.
- Offres spéciales et activités de vacances : BookHarber propose des réductions exclusives et des promotions lors d'événements spéciaux et de jours fériés pour engager et récompenser sa base de clients.
- Service client : Les clients peuvent ouvrir des tickets de support pour résoudre toute préoccupation ou problème qu'ils peuvent rencontrer, recevant une assistance rapide de la part du personnel de BookHarber.
- Gestion des clients : Les membres du personnel avec des rôles différents ont la capacité de gérer divers aspects de la plateforme, tels que les comptes clients, le traitement des commandes et la résolution des problèmes.
Rôles
Dans l'écosystème BookHarber, nous pouvons identifier plusieurs rôles d'utilisateur clés, tels que :
- Invité : Utilisateurs non enregistrés qui peuvent parcourir le site web, rechercher des livres et voir des offres spéciales.
- Client : Utilisateurs enregistrés qui peuvent acheter des livres, gérer des commandes, suivre la logistique et ouvrir des tickets de support.
- Administrateur de magasin : Membres du personnel responsables de la supervision de l'ensemble de la gestion et des opérations de la plateforme. Avec un accès complet.
- Gestionnaire de livres : Membres du personnel chargés de la gestion des livres et des catégories.
- Agent de service à la clientèle : Membres du personnel chargés de répondre aux tickets de support.
- Fournisseur logistique tiers : Partenaires externes responsables de la gestion et du suivi de l'envoi et de la livraison des commandes.
- Personnel marketing : Membres du personnel responsables de la promotion de BookHarber, responsables de la gestion des offres spéciales et des événements.
Auparavant, nous avons développé plusieurs guides pour vous aider à utiliser RBAC afin de répondre à vos besoins commerciaux. Jetez un œil à ces tutoriels faciles à suivre pour commencer rapidement.
Maîtriser RBAC dans Logto : Un exemple réel complet
Application B2B
Les applications multi-locataires trouvent souvent leur place dans les solutions entreprise à entreprise (B2B) comme les outils de productivité, les systèmes de planification des ressources d'entreprise (ERP) et d'autres produits de logiciel en tant que service (SaaS). Dans ce contexte, chaque « locataire » représente généralement un client commercial, qui pourrait avoir plusieurs utilisateurs (ses employés). De plus, un client commercial pourrait avoir plusieurs locataires pour représenter des organisations ou divisions commerciales distinctes.
Créer plusieurs organisations
Définir un modèle d'organisation pour le contrôle d'accès au niveau de l'organisation
Application hybride B2B & B2C
Les applications B2B vont au-delà des produits SaaS et impliquent souvent l'utilisation d'applications multi-locataires. Dans les contextes B2B, ces applications servent de plateforme commune pour diverses équipes, clients commerciaux et entreprises partenaires pour accéder à vos applications.
Par exemple, considérez une entreprise de covoiturage qui fournit à la fois des applications B2C et B2B. Les applications B2B servent de multiples clients commerciaux, et l'emploi d'une architecture multi-locataires peut aider à la gestion de leurs employés et ressources. Pour illustrer, si l'entreprise souhaite maintenir un système d'identité utilisateur unifié, elle peut concevoir une architecture comme l'exemple suivant :
Prenons Sarah comme exemple. Sarah a à la fois une identité personnelle et professionnelle. Elle utilise le service de covoiturage en tant que passager et travaille également en tant que conductrice dans son temps libre. Dans son rôle professionnel, elle gère également sa propre activité personnelle et utilise cette identité professionnelle pour être partenaire avec Business 1.
Entités configurées dans Logto
Carte d'identité et de rôle d'un utilisateur
Définir les ressources API, les rôles d'utilisateur
Configurer les organisations
Profil de Sarah
Construisez votre autorisation aujourd'hui.
Logto offre à la fois des fonctionnalités de contrôle d'accès basé sur les rôles (RBAC) et d'organisation pour répondre à vos exigences en matière d'autorisation. Ces fonctionnalités sont conçues pour être facilement intégrées dans diverses parties de votre produit. Pour plus d'informations, consultez nos sections sur les organisations et RBAC, ou vous pouvez essayer Logto dès maintenant.