Aller au contenu principal

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 :

  • 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 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 d'effectuer une action dans le contexte de l'organisation. Une permission d'organisation doit être représentée par une chaîne significative, servant également de nom et d'identifiant unique.

Permissions d'organisation

Par exemple, edit:resource.

Les permissions d'organisation ne sont pas significatives 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 elles 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 permissions API (permissions API définies directement dans les ressources API dans Logto Console) qui peuvent être attribuées aux utilisateurs.

Rôles d'organisation

Les rôles d'organisation ne sont pas significatifs 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.

remarque

Puis-je attribuer des permissions définies au niveau des ressources API 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 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 des rôles différents dans le contexte de différentes organisations.

Modèle d'organisation

À partir de ce diagramme, voici quelques informations que vous devez connaître :

  1. John est affilié à deux organisations, utilisant l'email [email protected] comme identifiant unique. Il occupe le poste d'admin dans Organization A et est un guest dans Organization B.
  2. Sarah est associée à une seule organisation et utilise l'email [email protected] comme identifiant unique. Elle est l'admin de Organization B.
  3. Les rôles d'Admin, Member, et Guest sont désignés au sein des organisations et ces rôles sont cohérents à travers diverses organisations.
  4. 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 à travers toutes les organisations.
remarque

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 exigences commerciales et produit spécifiques.