Sistema de autorização do Logto e seu uso em cenários de gerenciamento de identidade
Explore o versátil sistema de autorização do Logto.
O Logto serve não apenas como um provedor de autenticação, mas também como um provedor de autorização. Neste artigo, vou fornecer uma visão geral dos métodos de autorização do Logto e explicar como essas camadas flexíveis podem ser aplicadas a vários cenários.
Use controle de acesso baseado em função para proteger seu recurso de API
Registre recursos de API no Logto
Para estabelecer um sistema de autorização onde diferentes usuários tenham acessos variados a recursos e permissões de ação, você pode começar registrando o recurso de API no Logto e, em seguida, adicionar permissões. Utilize funções para agregar essas permissões, seja para uma única API ou em várias.
Uma grande característica do Logto é a capacidade de criar vários tipos de funções que podem ser aplicadas a diferentes entidades, incluindo tanto aplicativos de usuário quanto de máquina-para-máquina. Usuários podem herdar funções específicas de usuário, enquanto aplicativos de máquina-para-máquina podem herdar funções projetadas para eles.
Entidade Alvo: Usuário
Se sua aplicação for um aplicativo geral onde diferentes usuários precisam realizar ações diferentes, utilizar funções de usuário é uma maneira flexível de estabelecer um sistema eficaz de controle de acesso.
Entidade Alvo: Aplicação de máquina-para-máquina
Máquina-para-máquina (M2M) é uma prática comum para autenticar se você tem um aplicativo que precisa falar diretamente com recursos. Por exemplo, um serviço de API que atualiza os dados personalizados dos usuários no Logto, um serviço de estatísticas que extrai pedidos diários, etc.
Aplicações de máquina-para-máquina podem ser utilizadas em dois casos de uso principais no Logto:
- Proteja seu aplicativo de API headless configurando um sistema de autorização.
- Use a API de gerenciamento do Logto para desenvolver seus serviços, como habilitar perfis de usuário que permitem aos usuários finais atualizar suas informações relacionadas à identidade.
A diferença com funções de usuário nesse contexto é que a função é definida especificamente como uma função de máquina-para-máquina, não uma função de usuário, e só pode ser atribuída a aplicativos de máquina-para-máquina.
Neste contexto de RBAC de API, recursos de API, funções e permissões são "democratizados" e visualizados no nível do sistema dentro de um sistema de identidade unificado. Essa abordagem é bastante comum em produtos B2C simples, onde há menos necessidade de gerenciamento hierárquico complexo.
Use modelo de organização (RBAC) para proteger seu recurso no nível da organização
Em cenários B2B, funções de usuário podem variar entre diferentes organizações. Por exemplo, John pode ter uma função de administrador na Organização A, mas apenas ter uma função de membro na Organização B.
Isso pode ser alcançado configurando modelos de organização no Logto, o que ajuda seu aplicativo multi-tenant a construir um sistema de controle de acesso.
Em vez de criar inúmeras funções para cada organização, o Logto permite que você crie um modelo de organização. Esta abordagem mantém a consistência em todas as organizações, permitindo que os usuários tenham a flexibilidade de ter diferentes funções em diferentes organizações.
As permissões de organização não exigem que um recurso de API seja registrado. O Logto emite tokens de organização que incluem funções e outras reivindicações, que podem ser usadas para verificação adicional do token de organização em sua API.
Use um modelo de organização (RBAC) para proteger tanto o sistema quanto os recursos no nível da organização
Se você tiver recursos de API registrados no Logto e estiver procurando expandir seu uso para o nível da organização, isso é completamente possível.
Essa necessidade pode surgir se você estiver usando o mesmo endpoint para funções de nível de sistema e operações específicas da organização. Ter um único endpoint é viável, e utilizar o contexto da organização também pode efetivamente garantir o isolamento do locatário.
No Logto, você pode atribuir permissões de API diretamente a uma função da organização, adaptando-a às suas necessidades específicas.
Aqui está uma rápida visão de como integrar permissões de API com a função de sua organização.
Este recurso está em desenvolvimento e espera-se que esteja disponível na primeira metade de 2024.
Animado com os sistemas de autorização do Logto e nossos próximos recursos de autorização? Inscreva-se hoje e receba as atualizações mais recentes do produto imediatamente.