Autorização (Authorization)
Definição
Autorização (Authorization) é o processo de determinar quais ações, recursos ou dados um usuário autenticado pode acessar.
Enquanto a autenticação confirma quem você é, a autorização decide o que você pode fazer.
A autorização geralmente acontece após a autenticação e pode ser baseada em:
- Papéis de usuário (ex.: administrador, editor, visitante);
- Permissões específicas (ex.: ler, escrever, excluir);
- Políticas de acesso (ex.: restrições baseadas em localização, horário, ou grupo).
Objetivos da Autorização
- Controlar o acesso a recursos sensíveis: garante que apenas usuários autorizados possam acessar ou modificar dados críticos.
- Seguir o princípio do menor privilégio: usuários têm apenas as permissões mínimas necessárias.
- Organizar permissões de forma escalável: especialmente em sistemas grandes com múltiplos níveis de acesso.
- Separar autenticação de acesso: permitindo gerenciamento mais flexível de permissões.
Exemplo prático (Python) — Simples controle de acesso por papel
def verificar_autorizacao(papel_usuario, acao):
permissoes = {
"admin": ["ler", "escrever", "excluir"],
"editor": ["ler", "escrever"],
"visitante": ["ler"]
}
return acao in permissoes.get(papel_usuario, [])
# Teste
usuario_papel = input("Informe o papel do usuário (admin/editor/visitante): ")
acao_desejada = input("Informe a ação desejada (ler/escrever/excluir): ")
if verificar_autorizacao(usuario_papel, acao_desejada):
print("Ação permitida!")
else:
print("Ação não autorizada.")
Saída
(Exemplo interativo)
Informe o papel do usuário (admin/editor/visitante): editor
Informe a ação desejada (ler/escrever/excluir): escrever
Ação permitida!
(Se a ação não estiver permitida para o papel informado, retorna "Ação não autorizada.")
O ciclo da autorização
[Usuário autenticado] --> (Sistema verifica permissões) --> [Permitir ou negar acesso ao recurso]
- O sistema valida se o usuário tem direito a realizar a ação solicitada.
- Se autorizado, o acesso é concedido; caso contrário, é negado