Saltar al contenido principal

Autorización (Authorization)

Autorización (Authorization) en Logto define qué pueden hacer los usuarios y las 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-inquilino mediante plantillas de organizació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 desees proteger (global o específico de la organización).
  • Rol (Role): Un grupo de permisos (por ejemplo, admin, visualizador, editor).
  • Permiso (Alcance) (Permission (scope)): Una acción permitida específica (por ejemplo, read:report, invite:member).
  • Organización (Organization): Representa un inquilino, espacio de trabajo o cliente en tu aplicación. Esto es diferente del inquilino de Logto, que se refiere a tu proyecto o instancia general de Logto.
  • Plantilla de organización (Organization template): Para aplicaciones multi-inquilino, define un conjunto reutilizable de roles y permisos aplicados en todas las organizaciones. Consulta 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 (Authorization scenarios)

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 inquilino 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 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, utilizando el parámetro resource en los flujos de autorización OAuth 2.0. Esto facilita la protección de múltiples APIs o microservicios y garantiza la compatibilidad con otros sistemas basados en estándares.

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. permiso de organización (Alcance):

    • Permiso global (Alcance): Controla el acceso a recursos de API en todo tu inquilino de Logto.
    • Permiso de organización (Alcance): Controla tanto la lógica de negocio (funcionalidades 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 en tu comprensión:

Casos de uso

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

Para profundizar

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

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