Modèle d’organisation
Un modèle d’organisation est une conception de contrôle d’accès pour les applications multi-locataires. Il s'appuie sur les bases du contrôle d’accès basé sur les rôles (RBAC) mais est adapté aux environnements multi-locataires, où les organisations représentent des entreprises, des groupes ou des utilisateurs.
Au niveau de l’organisation, un contrôle d’accès est nécessaire pour gérer les permissions pour les ressources.
Voici un exemple utilisant Notion, un outil de collaboration populaire, et une application multi-locataire typique. Il prend en charge diverses fonctionnalités pour l'authentification et l'Autorisation (Authorization) :
- Vous pouvez créer et rejoindre plusieurs espaces de travail avec un seul compte, au lieu de nécessiter des comptes séparés pour chaque espace de travail.
- Notion utilise le même ensemble de niveaux d'accès, comme "Propriétaire de l'espace de travail" et "Membre", dans tous les espaces de travail, même si vous pourriez vous attendre à des niveaux d'accès différents pour chacun.
Dans ce chapitre, nous nous concentrerons sur le modèle d’organisation, qui se réfère à la conception de l'Autorisation (Authorization) au niveau de l’organisation.
Pour le configurer correctement, vous devez comprendre [comment fonctionnent les organisations] et les différentes entités impliquées. Si vous ne l'avez pas encore examiné, assurez-vous de lire ces chapitres.
Comprendre le modèle d’organisation
Permission d’organisation
La permission d’organisation se réfère à l'Autorisation (Authorization) d'effectuer une action dans le contexte de l’organisation. Une permission d’organisation doit être représentée comme une chaîne significative, servant également de nom et d'identifiant unique.
Par exemple, edit:resource
.
Les permissions d’organisation n'ont pas de sens sans le contexte d’une organisation. Par exemple, edit:resource
dans le contexte de l’organisation org1
est différent de edit:resource
dans le contexte de l’organisation org2
car ils pointent vers des ressources différentes (org 1
vs org 2
).
Rôle d’organisation
Un rôle d’organisation est un ensemble de permissions d’organisation ou de Ressource API (API resources) (permissions définies directement dans les Ressources API (API resources) dans Logto Cloud) qui peuvent être attribuées aux utilisateurs.
Les rôles d’organisation n'ont pas de sens sans le contexte d’une organisation. Par exemple, admin
dans le contexte de l’organisation org1
est différent de admin
dans le contexte de l’organisation org2
.
Puis-je attribuer des permissions définies au niveau de la Ressource API (API resource) aux rôles d’organisation ?
Oui, vous pouvez attribuer des permissions API aux rôles d’organisation, pas seulement des permissions au niveau de l’organisation.
Les Ressources API (API resources) dans Logto Cloud protègent principalement les ressources au niveau utilisateur/système, mais lorsque les systèmes et les organisations partagent des points de terminaison, Logto vous permet d'attribuer des permissions API aux rôles d’organisation pour plus de flexibilité.
Modèle d’organisation
Le modèle d’organisation se réfère à un ensemble de permissions et de rôles d’organisation qui s'appliquent à chaque organisation. Il est considéré comme un contrôle d’accès basé sur les rôles au niveau de l’organisation.
Pensez à une application de collaboration typique, et elles partagent naturellement le même "modèle" de contrôle d’accès qui définit les niveaux d'accès et ce que les utilisateurs peuvent faire dans l’organisation. Nous l'appelons "modèle d’organisation" dans Logto.
Prenons un exemple pour comprendre comment tout se connecte :
John, Sarah sont dans différentes organisations avec différents rôles dans le contexte de différentes organisations.
À partir de ce diagramme, voici quelques informations que vous devez connaître :
- John est affilié à deux organisations, utilisant l'email
[email protected]
comme identifiant unique. Il occupe le poste d'admin
dansOrganization A
et est unguest
dansOrganization B
. - Sarah est associée à une seule organisation et utilise l'email
[email protected]
comme identifiant unique. Elle est l'admin
deOrganization B
. - Les rôles d'
Admin
,Member
, etGuest
sont désignés au sein des organisations et ces rôles sont cohérents à travers diverses organisations. - Des rôles supplémentaires peuvent être créés dans les paramètres du modèle d’organisation. Ces rôles nouvellement créés seront appliqués et partagés dans toutes les organisations.
Dans Logto, le modèle d’organisation est un modèle de contrôle d’accès conçu spécifiquement pour les organisations. Bien qu'il soit basé sur le Contrôle d’accès basé sur les rôles (RBAC), il est destiné à différents scénarios.
Utilisez le modèle d’organisation lorsque vous devez configurer des rôles et des permissions pour une organisation.
Pour une application B2C simple sans niveau d’organisation, utilisez plutôt le RBAC au niveau utilisateur/système.
Vous pouvez utiliser à la fois le modèle d’organisation et le RBAC au niveau utilisateur/système dans Logto, permettant une approche plus robuste pour répondre à vos besoins commerciaux et produits spécifiques. Pour comprendre le RBAC, référez-vous à cette section.