Implementando políticas de API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Introdução às políticas de API
Como um segurança: checa quem entra
Como placas de limite de velocidade: controlam o tráfego
Proteja APIs bloqueando causadores de problemas
Faça throttling para ninguém sobrecarregar o sistema
Tudo que entra/sai do API Gateway é regido por políticas
Visão geral das políticas de API Management
Políticas são regras poderosas escritas em XML simples
Pense nelas como um pipeline de requisição e resposta
Você insere regras em etapas diferentes para moldar o tráfego
O melhor: sem tocar no código do backend
Exemplo: compatibilidade retroativa
Escopos de política
Políticas podem ser globais, no nível da organização
Essas regras controlam todas as APIs
Podem ser aplicadas a APIs individuais
Permitem gerenciar um produto específico
Podem ser aplicadas a endpoints individuais
Usadas para controle detalhado
Políticas de entrada
Quando uma requisição chega, o APIM avalia primeiro as políticas de entrada
Exemplo: compatibilizar versões antigas com novas APIs acrescentando dados ao payload
Políticas de entrada também barram tentativas maliciosas
Elas detectam requisições malformadas ou com dados faltando
Esse filtro inicial impede que dados ruins cheguem aos serviços
Segurança e throttling
Isso faz throttling de clientes excessivos, garantindo uso justo e proteção do backend
Políticas de entrada também cuidam da segurança
Uma política comum: validar um JWT (JSON Web Token)
Pense no JWT como um crachá digital enviado pelo cliente
A política validate-jwt checa se é legítimo, não expirou e vem de um emissor confiável (ex.: Entra ID)
Para mais controle: políticas de rate limiting e de cota
Políticas de saída
Após o processamento no backend, políticas de saída ajustam respostas antes de devolver
Pense como num restaurante: pedido -> cozinha (backend) -> finalização do prato (políticas de saída)
Políticas de saída podem:
Remover partes indesejadas (ex.: cabeçalhos sensíveis)
Adicionar instruções (ex.: diretivas de cache)
Mudar o formato (ex.: converter XML para JSON)
As respostas atendem às expectativas do cliente, independentemente do backend
Vamos praticar!
Azure API Management
Preparing Video For Download...