Ir para o conteúdo

Consumo das Informações de Autorização

O Autoriza pode atuar como um mero provedor das informações necessárias para autorização de acesso.

A aplicação parceira fica responsável por de fato aplicar essas informações no controle de acesso. Ou seja, é a aplicação parceira que aplica as políticas de acesso ao sistema, que são desconhecidas pelo Autoriza.

Nesse cenário, o sistema utilizará os serviços da API de autorização, conforme detalhado no exemplo de uso.

Conforme falado no início, o sistema precisa resolver a autenticação do usuário antes de acionar o Autoriza. Ou seja, se o usuário ainda não fez o login, ele precisa fazer.

O fluxo de troca de mensagens de controle de acesso para um usuário ainda não logado na aplicação está representado no diagrama a seguir.

Autoriza como fornecedor dos dados de autorização para um usuário ainda não autenticado

Caso o usuário já esteja logado na aplicação, ela já pode acionar diretamente os serviços do Autoriza.

O fluxo de troca de mensagens de controle de acesso para um usuário já logado na aplicação está representado no diagrama a seguir.

Autoriza como fornecedor dos dados de autorização para um usuário já autenticado

Guardar informações de autorização em cache ou token de aplicação

Só é necessário consultar os dados do Autoriza uma vez por sessão do usuário.
Guarde - em memória, numa cache externalizada ou em um token de aplicação - as informações assim que você recuperá-las do Autoriza.

Esse procedimento melhora a experiência do usuário uma vez que a autorização é um processo contínuo, que deve ser revalidado sempre que um usuário solicita um novo recurso (clica num botão ou num link, por exemplo). Fazer uma chamada remota para o Autoriza a cada interação do usuário com sua aplicação vai prejudicar demais a performance do seu sistema para o usuário.

Auditoria

Ao adotar esse modelo, a aplicação parceira fica responsável por implementar a auditoria dos acessos realizados por um usuário.

O que é preciso cadastrar no Autoriza?

Para possibilitar essa integração, é preciso que seja realizado, para o sistema, o cadastro das seguintes entidades no Autoriza:

  • Sistema
  • Tags (caso o sistema possua a feature)
  • Perfis
  • Transações (opcional)
  • Atribuições de perfis a usuários
  • Features e características do usuário (opcional)

Benefícios

👉 Possibilita ao gestor a administração centralizada da criação de perfis e transações e atribuição desses aos usuários
👉 Possibilita ao gestor o rastreamento das mudanças realizadas nos cadastros de perfis, transações e atribuições através da auditoria
👉 Delega para o Autoriza a manutenção, evolução e suporte dos cadastros relacionados à autorização, possibilitando à aplicação parceira um maior foco nas demandas diretamente relacionadas aos seus fluxos de negócio
👉 Permite o uso integrado do Autoriza com bibliotecas de mercado que implementam o RBAC, diminuindo o tempo de implementação do controle de autorização

Limitações

✋ A governança do controle de acesso pelo gestor fica limitada
✋ A aplicação parceira fica responsável por aplicar as políticas de acesso
✋ Eventuais mudanças nas políticas devem gerar um novo release da aplicação, demandando esforço de implementação pela equipe de desenvolvimento da aplicação

Cenários indicados para uso

O uso desse modelo de integração, por ser o de curva de adoção mais suave, é indicado para aplicações "legadas", que já possuem um controle de acesso baseado em RBAC, e uma lógica de aplicação das políticas espalhada pelo código da aplicação. Nesse caso, o Autoriza funciona como um susbtituto do antigo provedor de informação de autorização.