Definição
Autorização é a verificação de quais ações são permitidas sobre determinado recurso. Para autorizar a edição de um projeto, por exemplo, a aplicação pode exigir uma identidade autenticada com o papel de editor e um vínculo com aquele projeto.
Uma política também pode permitir acesso anônimo, como a leitura de uma página pública. Para operações protegidas, reconhecer a identidade pela autenticação é uma etapa distinta de conferir o que ela pode fazer.
A permissão inclui o recurso
A permissão para editar precisa delimitar os projetos acessíveis ao perfil autenticado. Verificar somente o papel de editor pode permitir uma alteração sobre um registro de outra organização, mesmo que a aplicação pretendesse restringir a edição aos projetos vinculados.
O servidor deve relacionar a identidade validada ao recurso solicitado. Aceitar como prova de identidade um campo livre enviado pelo cliente permitiria que a própria chamada escolhesse a identidade usada na operação.
A interface apresenta as ações permitidas
Ocultar ações indisponíveis informa o que você pode fazer na tela. A API correspondente também precisa aplicar a autorização no backend, pois outra chamada pode chegar diretamente ao serviço.
A verificação deve alcançar cada caminho que realiza a ação, inclusive integrações e tarefas executadas por serviços. Uma segunda entrada que grava o mesmo recurso sem conferir a permissão pode contornar o controle aplicado na tela principal.
Verificar mudanças de permissão
Remover o vínculo de Ana com o projeto Alfa precisa repercutir no acesso conforme o mecanismo definido pela aplicação. Se as permissões estiverem copiadas em um token ainda aceito, a mudança pode depender de expiração, revogação ou outra consulta prevista no desenho do sistema.
Nos testes do seu ambiente, compare leitura e alteração sobre recursos próprios e de outra organização, usando perfis preparados para isso. Confira também que uma chamada recusada não modificou o registro, pois a mensagem exibida não comprova esse resultado.
O Desenvolvimento Colaborativo da Dev Side Studio pode acompanhar a revisão dessas verificações no código, relacionando os papéis da aplicação aos recursos efetivamente acessados.
Dúvidas frequentes
Perguntas frequentes sobre Autorização
- Autorização sempre exige login?
- Não. Uma política pode permitir consultas públicas para visitantes anônimos. Operações protegidas podem exigir autenticação e outras condições de acesso.
- Ocultar o botão impede a chamada direta?
- Não. O servidor precisa conferir a permissão para executar a ação sobre o recurso solicitado, porque a chamada pode chegar diretamente à API.
- Ter o papel de editor permite editar qualquer registro?
- Não necessariamente. A permissão pode depender também do projeto, da organização, da propriedade do registro e de seu estado.
- As permissões devem ser verificadas só no login?
- Não. O servidor deve conferir a autorização das operações e dos recursos acessados. Mudanças de vínculo ou de permissão precisam ser consideradas pelo mecanismo usado.
Para continuar
Recursos relacionados
Documentação
OWASP: autorização
Orienta verificações por chamada, menor privilégio e acesso a objetos específicos.
Abrir recursoDocumentação
OWASP: autenticação
Explica a verificação de identidade que pode anteceder o acesso a recursos protegidos.
Abrir recursoAplicação na formação
Formação DevOps
A autorização limita as ações permitidas sobre aplicações, projetos e recursos administrados na infraestrutura.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.