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.
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.
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.