Saltar al contenido principal

Plantilla de organización

Una plantilla de organización es un diseño de control de acceso para aplicaciones multi-tenant. Se basa en los fundamentos de RBAC (Control de Acceso Basado en Roles) pero está adaptada para entornos multi-tenant, donde las organizaciones representan negocios, grupos o usuarios.

A nivel de organización, se necesita control de acceso para gestionar permisos para recursos.

Aquí tienes un ejemplo usando Notion, una herramienta de colaboración popular, y una típica aplicación multi-tenant. Admite varias características para autenticación y autorización:

  • Puedes crear y unirte a múltiples espacios de trabajo con una sola cuenta, en lugar de necesitar cuentas separadas para cada espacio de trabajo.
  • Notion utiliza el mismo conjunto de niveles de acceso, como "Propietario del espacio de trabajo" y "Miembro", en todos los espacios de trabajo, aunque podrías esperar diferentes niveles de acceso para cada uno.

En este capítulo, nos centraremos en la plantilla de organización, que se refiere al diseño de autorización a nivel de organización.

Para configurarlo correctamente, necesitas entender cómo funcionan las organizaciones y las diferentes entidades involucradas. Si aún no lo has revisado, asegúrate de leer esos capítulos.

Entender la plantilla de organización

Permiso de organización

El permiso de organización se refiere a la autorización para realizar una acción en el contexto de la organización. Un permiso de organización debe representarse como una cadena significativa, que también sirva como nombre e identificador único.

Permisos de Organización

Por ejemplo, edit:resource.

Los permisos de organización no son significativos sin el contexto de una organización. Por ejemplo, edit:resource en el contexto de la organización org1 es diferente de edit:resource en el contexto de la organización org2 porque apuntan a diferentes recursos (org 1 vs org 2).

Rol de organización

Un rol de organización es una colección de permisos de organización o permisos de API (permisos de API definidos directamente en recursos de API en Logto Console) que pueden asignarse a los usuarios.

Roles de Organización

Los roles de organización no son significativos sin el contexto de una organización. Por ejemplo, admin en el contexto de la organización org1 es diferente de admin en el contexto de la organización org2.

nota

¿Puedo asignar permisos definidos a nivel de recurso de API a roles de organización?

Sí, puedes asignar permisos de API a roles de organización, no solo permisos a nivel de organización.

Los recursos de API en Logto Cloud protegen principalmente recursos a nivel de usuario/sistema, pero cuando los sistemas y las organizaciones comparten endpoints, Logto te permite asignar permisos de API a roles de organización para mayor flexibilidad.

Plantilla de organización

La plantilla de organización se refiere a una colección de permisos y roles de organización que se aplican a cada organización. Se considera como control de acceso basado en roles a nivel de organización.

Piensa en una típica aplicación de colaboración, y naturalmente comparten la misma "plantilla" de control de acceso que define los niveles de acceso y lo que los usuarios pueden hacer en la organización. Lo llamamos "plantilla de organización" en Logto.

Tomemos un ejemplo para entender cómo se conecta todo:

John, Sarah están en diferentes organizaciones con diferentes roles en el contexto de diferentes organizaciones.

Plantilla de Organización

De este diagrama, aquí hay alguna información que necesitas saber:

  1. John está afiliado a dos organizaciones, usando el correo electrónico [email protected] como su identificador único. Ocupa el puesto de admin en Organización A y es un invitado en Organización B.
  2. Sarah está asociada con una sola organización y usa el correo electrónico [email protected] como su identificador único. Ella es la admin de Organización B.
  3. Los roles de Admin, Miembro y Invitado están designados dentro de las organizaciones y estos roles son consistentes en varias organizaciones.
  4. Se pueden crear roles adicionales dentro de la configuración de la plantilla de organización. Estos roles recién creados se aplicarán y compartirán en todas las organizaciones.
nota

En Logto, la plantilla de organización es un modelo de control de acceso diseñado específicamente para organizaciones. Aunque se basa en el Control de Acceso Basado en Roles (RBAC), está destinado a diferentes escenarios.

Usa la plantilla de organización cuando necesites configurar roles y permisos para una organización.

Para una aplicación B2C simple sin un nivel de organización, utiliza RBAC a nivel de usuario/sistema en su lugar.

Puedes usar tanto la plantilla de organización como el RBAC a nivel de usuario/sistema en Logto, permitiendo un enfoque más robusto para satisfacer tus requisitos específicos de negocio y producto.