Implementando políticas de API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Introdução às políticas de API

Políticas de API Management

  • 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
Azure API Management

Visão geral das políticas de API Management

Políticas de APIM

  • 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
Azure API Management

Exemplo: compatibilidade retroativa

Compatibilidade retroativa via APIM

Azure API Management

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

Escopos de política

Azure API Management

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

Aumento de dados na entrada

Validação de requisição

Azure API Management

Segurança e throttling

Política de entrada para segurança

Aplicando cotas de requisição

  • 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
Azure API Management

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)

Aumento de dados na resposta

Transformação de resposta

  • As respostas atendem às expectativas do cliente, independentemente do backend
Azure API Management

Vamos praticar!

Azure API Management

Preparing Video For Download...