Saltar al contenido principal

Autorización (Authorization)

Autorización (Authorization) en Logto define qué pueden hacer los usuarios y aplicaciones después de la autenticación: qué APIs, recursos o acciones están permitidas para cada identidad.

Logto proporciona una autorización flexible basada en tokens para aplicaciones SaaS y de IA modernas. Puedes proteger recursos de API a nivel global o dentro del contexto de cada organización. Todos los permisos se gestionan a través de un sistema de control de acceso basado en roles (RBAC), con soporte avanzado para aplicaciones multi-tenant mediante plantillas de organización. Más allá de controlar lo que los usuarios pueden hacer, también puedes restringir qué usuarios pueden iniciar sesión en cada aplicación con el control de acceso a nivel de aplicación.

Conceptos clave

  • Control de acceso basado en roles (RBAC): Logto utiliza RBAC como base para asignar permisos a usuarios, clientes y servicios. Aprende más sobre RBAC.
  • Recurso de API (API resource): Cualquier servicio backend o endpoint que quieras proteger (global o específico de la organización).
  • Rol (Role): Un grupo de permisos (por ejemplo, admin, visualizador, editor).
  • Permiso (scope): Una acción permitida específica (por ejemplo, read:report, invite:member).
  • Organización (Organization): Representa un tenant, espacio de trabajo o cliente en tu aplicación. Esto es diferente del tenant de Logto, que se refiere a tu proyecto o instancia general de Logto.
  • Plantilla de organización (Organization template): Para aplicaciones multi-tenant, define un conjunto reutilizable de roles y permisos aplicados en todas las organizaciones. Mira cómo funcionan las plantillas de organización.
  • Token de acceso / token de organización (Access token / organization token): Tokens que contienen reclamos para permisos globales o con alcance de organización.

Escenarios de autorización

Hay tres patrones principales de autorización en Logto. Elige el escenario que se adapte a tus necesidades:

EscenarioCuándo usarTipo de tokenConfiguración de rolesMás información
Permisos globales de recursos de APIProteger recursos de API compartidos en todo tu tenant de Logto (no específicos de organización)Token de accesoAsignar roles/permisos globalesProteger recursos de API globales
Permisos de organización (no API)Controlar acciones específicas de la organización, características de la UI o lógica de negocio (no APIs)Token de organizaciónAsignar roles/permisos de organización para controles de la appProteger permisos de organización (no API)
Permisos de recursos de API a nivel de organizaciónProteger recursos de API accesibles dentro de una organización específicaToken de organizaciónAsignar roles/permisos de organización para APIs de la organizaciónProteger recursos de API a nivel de organización

Logto modela los recursos de API según RFC 8707, usando el parámetro resource en los flujos de autorización OAuth 2.0. Esto facilita asegurar múltiples APIs o microservicios y garantiza la compatibilidad con otros sistemas basados en estándares.

Estos patrones controlan lo que un usuario puede hacer después de iniciar sesión en una aplicación. Para controlar si un usuario puede iniciar sesión en una aplicación específica, utiliza el control de acceso a nivel de aplicación. Restringe el acceso a la aplicación con reglas de permiso basadas en usuarios, roles, organizaciones o roles de organización, y funciona de manera independiente de los patrones basados en tokens anteriores.

tip:

¿Necesitas reclamos personalizados o control de acceso avanzado? Consulta Reclamos personalizados en tokens.

Cómo funciona la autorización en Logto

  • Basado en tokens: Cada acceso se concede mediante un token de acceso seguro y firmado. Tu backend valida el token y aplica los permisos (alcances).

  • Permiso global vs. de organización (scope):

    • Permiso global (scope): Controla el acceso a recursos de API en todo tu tenant de Logto.
    • Permiso de organización (scope): Controla tanto la lógica de negocio (características de la app) como los recursos de API dentro del contexto de una organización. Los permisos de organización pueden aplicarse a características que no son API (como elementos de UI o flujos de trabajo) y / o endpoints de API con alcance de organización.
  • Roles y permisos (alcances): Los roles son colecciones de permisos (alcances). Asigna roles a usuarios o clientes a nivel global o dentro de una organización, según tu escenario.

Próximos pasos

¿Listo para avanzar? Comienza de forma práctica, explora guías reales o profundiza tu comprensión:

Casos de uso

¿Buscas ejemplos prácticos y escenarios reales? Consulta estas guías:

Lecturas adicionales

RBAC y ABAC: Los modelos de control de acceso que debes conocer

¿Cuándo debo usar JWTs? Métodos de autorización de API