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:
Escenario | Cuándo usar | Tipo de token | Configuración de roles | Más información |
---|---|---|---|---|
Permisos globales de recursos de API | Proteger recursos de API compartidos en todo tu inquilino de Logto (no específicos de organización) | Token de acceso | Asignar roles / permisos globales | Proteger 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ón | Asignar roles / permisos de organización para controles de la app | Proteger permisos de organización (no API) |
Permisos de recursos de API a nivel de organización | Proteger recursos de API accesibles dentro de una organización específica | Token de organización | Asignar roles / permisos de organización para APIs de la organización | Proteger 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.
¿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:
Domina los roles y permisos para un control de acceso detallado.
Aprende cómo configurar roles y permisos reutilizables para aplicaciones multi-inquilino.
Asegura APIs compartidas en tu inquilino Logto con roles y permisos globales.
Controla acciones y características de UI específicas de la organización con roles de organización.
Asegura APIs accesibles dentro de una organización específica usando roles de organización.
Aprende cómo verificar los tokens de Logto en tu backend para asegurar APIs.
Aprende cómo añadir reclamos personalizados para escenarios avanzados de control de acceso.
Casos de uso
¿Buscas ejemplos prácticos y escenarios reales? Consulta estas guías:
Consulta un ejemplo paso a paso y real de autorización segura con RBAC.
Sigue una guía integral sobre arquitectura e implementación SaaS multi-inquilino.
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