Autorização (Authorization)
Autorização (Authorization) no Logto define o que usuários e aplicativos podem fazer após a autenticação: quais APIs, recursos ou ações são permitidos para cada identidade.
O Logto oferece uma autorização flexível baseada em token para aplicativos SaaS e de IA modernos. Você pode proteger recursos de API globalmente ou dentro do contexto de cada organização. Todas as permissões são gerenciadas por meio de um sistema de controle de acesso baseado em papel (RBAC), com suporte avançado para aplicativos multi-inquilino via modelos de organização.
Conceitos principais
- Controle de acesso baseado em papel (RBAC): O Logto utiliza RBAC como base para atribuir permissões a usuários, clientes e serviços. Saiba mais sobre RBAC.
- Recurso de API (API resource): Qualquer serviço backend ou endpoint que você deseja proteger (global ou específico da organização).
- Papel (Role): Um grupo de permissões (por exemplo, admin, visualizador, editor).
- Permissão (escopo) (Permission (scope)): Uma ação permitida específica (por exemplo,
read:report
,invite:member
). - Organização (Organization): Representa um inquilino, espaço de trabalho ou cliente em seu aplicativo. Isso é diferente do inquilino Logto, que se refere ao seu projeto ou instância Logto como um todo.
- Modelo de organização (Organization template): Para aplicativos multi-inquilino, defina um conjunto reutilizável de papéis e permissões aplicados em todas as organizações. Veja como funcionam os modelos de organização.
- Token de acesso / token de organização (Access token / organization token): Tokens contendo reivindicações para permissões globais ou com escopo de organização.
Cenários de autorização
Existem três principais padrões de autorização no Logto. Escolha o cenário que corresponde às suas necessidades:
Cenário | Quando usar | Tipo de token | Configuração de papel | Saiba mais |
---|---|---|---|---|
Permissões globais de recursos de API | Proteger recursos de API compartilhados em todo o seu inquilino Logto (não específico de organização) | Token de acesso | Atribuir papéis/permissões globais | Proteger recursos globais de API |
Permissões de organização (não-API) | Controlar ações específicas da organização, recursos de UI ou lógica de negócio (não APIs) | Token de organização | Atribuir papéis/permissões de organização para controles do app | Proteger permissões de organização (não-API) |
Permissões de recursos de API no nível da organização | Proteger recursos de API acessíveis dentro de uma organização específica | Token de organização | Atribuir papéis/permissões de organização para APIs da organização | Proteger recursos de API no nível da organização |
O Logto modela recursos de API de acordo com a RFC 8707, usando o parâmetro resource
nos fluxos de autorização OAuth 2.0. Isso facilita a proteção de múltiplas APIs ou microsserviços e garante compatibilidade com outros sistemas baseados em padrões.
Precisa de reivindicações personalizadas ou controle de acesso avançado? Veja Reivindicações personalizadas de token.
Como funciona a autorização do Logto
-
Baseada em token: Todo acesso é concedido por meio de um token de acesso seguro e assinado. Seu backend valida o token e aplica as permissões (escopos).
-
Permissão global vs. permissão de organização (escopo):
- Permissão global (escopo): Controla o acesso a recursos de API em todo o seu inquilino Logto.
- Permissão de organização (escopo): Controla tanto a lógica de negócio (recursos do app) quanto recursos de API dentro do contexto de uma organização. Permissões de organização podem se aplicar a recursos não-API (como elementos de UI ou fluxos de trabalho) e/ou endpoints de API com escopo de organização.
-
Papéis e permissões (escopos): Papéis são coleções de permissões (escopos). Atribua papéis a usuários ou clientes globalmente ou dentro de uma organização, dependendo do seu cenário.
Próximos passos
Pronto para avançar? Comece na prática, explore guias do mundo real ou aprofunde seu entendimento:
Domine papéis e permissões para controle de acesso detalhado.
Aprenda como configurar papéis e permissões reutilizáveis para aplicações multi-inquilino.
Proteja APIs compartilhadas em seu inquilino Logto com papéis e permissões globais.
Controle ações específicas da organização e recursos de UI com papéis de organização.
Proteja APIs acessíveis dentro de uma organização específica usando papéis de organização.
Aprenda como verificar tokens Logto em seu backend para proteger APIs.
Aprenda como adicionar reivindicações personalizadas para cenários avançados de controle de acesso.
Casos de uso
Procurando exemplos práticos e cenários do mundo real? Confira estes guias:
Veja um exemplo passo a passo e real de autorização segura com RBAC.
Siga um guia abrangente sobre arquitetura e implementação de SaaS multi-inquilino.
Leitura adicional
RBAC e ABAC: Os modelos de controle de acesso que você deve conhecer
Quando devo usar JWTs? Métodos de autorização de API