Controle de acesso ao nível do aplicativo
O controle de acesso ao nível do aplicativo permite restringir quem pode fazer login em um aplicativo específico. Em vez de permitir que todo usuário registrado no seu tenant Logto acesse todos os apps, você pode criar regras de permissão para cada aplicativo com base em usuários, papéis de usuário, organizações ou papéis de organização.
Use o controle de acesso ao nível do aplicativo quando você quiser:
- Tornar um aplicativo interno disponível apenas para funcionários ou administradores.
- Limitar um Aplicativo Protegido a um grupo selecionado de usuários.
- Permitir que apenas clientes ou parceiros específicos acessem um aplicativo OIDC / OAuth de terceiros.
- Lançar um novo aplicativo para um grupo piloto antes de abri-lo para todos.
Como funciona
Quando o controle de acesso ao nível do aplicativo está desativado, todos os usuários registrados no seu tenant Logto podem fazer login no aplicativo.
Quando está ativado, um usuário só pode acessar o aplicativo se corresponder a pelo menos uma regra configurada. Se o usuário não corresponder a nenhuma regra, o Logto nega a tentativa de login e exibe uma página de acesso negado antes que o aplicativo receba tokens.
O controle de acesso ao nível do aplicativo é avaliado durante o fluxo de autorização e na renovação de tokens. Isso significa:
- Usuários sem acesso são bloqueados antes de concluir o login no aplicativo.
- As permissões existentes do aplicativo são verificadas novamente quando tokens de atualização são usados para solicitar novos tokens.
- Atualizar as regras afeta futuras verificações de autorização e renovação de tokens, sem alterar a sessão global do usuário no Logto.
O controle de acesso ao nível do aplicativo é separado do Controle de acesso baseado em papel (RBAC). O RBAC controla o que um usuário pode fazer após a autenticação, emitindo permissões (escopos) em tokens de acesso. O controle de acesso ao nível do aplicativo controla se um usuário pode acessar um determinado aplicativo.
Tipos de regras
Você pode configurar as seguintes regras de permissão:
| Tipo de regra | O que permite |
|---|---|
| Usuários | Usuários específicos podem acessar o aplicativo. |
| Papéis de usuário | Usuários atribuídos a papéis de usuário selecionados podem acessar o aplicativo. |
| Organizações | Todos os membros atuais e futuros das organizações selecionadas podem acessar o aplicativo. |
| Papéis de organização | Membros com papéis de organização selecionados em organizações selecionadas podem acessar o aplicativo. |
As regras são aditivas. Um usuário só precisa corresponder a uma regra para acessar o aplicativo.
Por exemplo, se um aplicativo tiver tanto uma regra de papel de usuário "Equipe de Suporte" quanto uma regra de papel de organização "BigTree - Admin", um usuário pode acessar o aplicativo se estiver atribuído ao papel Equipe de Suporte ou se for um Admin na organização BigTree.
Configurar o controle de acesso ao nível do aplicativo
- Vá para Console > Aplicativos.
- Abra o aplicativo que deseja restringir.
- Navegue até a guia Regras.
- Em Regras de permissão personalizadas, clique em Adicionar regras.
- Escolha um tipo de regra:
- Usuários
- Papéis de usuário
- Organizações
- Papéis de organização
- Selecione os usuários, papéis, organizações ou papéis de organização que devem ter permissão para acessar o aplicativo.
- Ative Habilitar controle de acesso.
- Clique em Salvar alterações.
Você deve configurar pelo menos uma regra de permissão antes de habilitar o controle de acesso. Isso evita habilitar acidentalmente o controle de acesso sem nenhum usuário autorizado a acessar o aplicativo.
Editar ou remover regras
Você pode atualizar a lista de permissões na guia Regras do aplicativo.
- Para adicionar mais regras, clique em Adicionar outra abaixo da tabela de regras.
- Para remover uma regra, clique no botão de exclusão na linha da regra e confirme a ação.
- Após adicionar ou remover regras, clique em Salvar alterações para aplicar a atualização.
Se o controle de acesso estiver ativado, o Logto exige que pelo menos uma regra permaneça configurada. Para remover todas as regras, desative primeiro Habilitar controle de acesso e depois salve as alterações.
Como as alterações nas regras afetam os usuários
O controle de acesso ao nível do aplicativo não encerra a sessão global do usuário no Logto. Um usuário ainda pode estar conectado ao Logto e a outros aplicativos.
Para o aplicativo que está sendo restringido:
- Um usuário que não corresponder mais a nenhuma regra de permissão será bloqueado na próxima vez que passar pelo fluxo de autorização do aplicativo.
- Se o usuário já tiver permissões relacionadas ao aplicativo, o Logto verifica as regras novamente quando o aplicativo usa um token de atualização para solicitar novos tokens. Se o usuário não tiver mais acesso, o Logto nega a solicitação de token.
Isso mantém as decisões de acesso vinculadas ao aplicativo, evitando interrupções desnecessárias em aplicativos não relacionados.
Relação com permissões de aplicativos de terceiros
Para aplicativos de terceiros, o controle de acesso ao nível do aplicativo e o gerenciamento de permissões resolvem problemas diferentes:
- Controle de acesso ao nível do aplicativo determina se um usuário tem permissão para fazer login no aplicativo de terceiros.
- Gerenciamento de permissões determina quais escopos de perfil de usuário, escopos de recursos de API e escopos de organização o aplicativo de terceiros pode solicitar na tela de consentimento.
Se ambos estiverem configurados, o usuário deve passar pelo controle de acesso ao nível do aplicativo antes de autorizar o aplicativo de terceiros.
Relação com Aplicativo Protegido
Para Aplicativo Protegido, o controle de acesso ao nível do aplicativo restringe quem pode passar pela camada de autenticação do Logto e alcançar o servidor de origem protegido.
As regras de autenticação do Aplicativo Protegido ainda determinam quais rotas exigem autenticação. O controle de acesso ao nível do aplicativo determina quais usuários autenticados do Logto têm permissão para acessar o aplicativo Aplicativo Protegido.
Melhores práticas
- Comece com regras de papel de usuário ou papel de organização sempre que possível. Elas são mais fáceis de manter do que listas longas de usuários individuais.
- Use regras de organização quando todos em uma organização devem acessar o app.
- Use regras de papel de organização quando apenas membros específicos de uma organização devem acessar o app.
- Revise as regras de acesso quando usuários mudarem de papel, entrarem em organizações ou saírem de organizações.
- Mantenha as permissões RBAC e o controle de acesso ao nível do aplicativo separados em seu modelo mental: o controle de acesso ao nível do aplicativo responde "Este usuário pode acessar este app?", enquanto o RBAC responde "O que este usuário pode fazer após acessar APIs ou recursos da organização?"