Pular para o conteúdo principal

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árioQuando usarTipo de tokenConfiguração de papelSaiba mais
Permissões globais de recursos de APIProteger recursos de API compartilhados em todo o seu inquilino Logto (não específico de organização)Token de acessoAtribuir papéis/permissões globaisProteger 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çãoAtribuir papéis/permissões de organização para controles do appProteger permissões de organização (não-API)
Permissões de recursos de API no nível da organizaçãoProteger recursos de API acessíveis dentro de uma organização específicaToken de organizaçãoAtribuir papéis/permissões de organização para APIs da organizaçãoProteger 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.

dica:

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:

Casos de uso

Procurando exemplos práticos e cenários do mundo real? Confira estes guias:

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