Implementar políticas de API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Introducción a las políticas de API

Políticas de API Management

  • Como un portero: controla quién entra
  • Como «señales de límite de velocidad»: regula el tráfico
  • Protege las APIs bloqueando a quien cause problemas
  • Limita peticiones para que nadie sature el sistema
  • Todo lo que entra/sale de API Gateway lo controlan las políticas
Azure API Management

Visión general de las políticas de API Management

Políticas de APIM

  • Las políticas son un conjunto de reglas potentes escritas en XML simple
  • Piénsalas como un «pipeline de solicitud y respuesta»
  • Puedes insertar reglas en distintas fases para modelar el tráfico
  • Lo mejor: no hace falta tocar tu código backend
Azure API Management

Ejemplo: compatibilidad hacia atrás

Compatibilidad hacia atrás con APIM

Azure API Management

Ámbitos de las políticas

  • Las políticas pueden ser globales y de toda la organización
    • Estas reglas controlan todas las APIs
  • Pueden aplicarse a APIs individuales
    • Permiten gestionar un producto específico
  • Pueden aplicarse a endpoints individuales
    • Útiles para un control detallado

Ámbitos de políticas

Azure API Management

Políticas de entrada (Inbound)

  • Cuando llega una solicitud, APIM evalúa primero las políticas de entrada (inbound)
  • Ejemplo: hacer compatibles apps antiguas con nuevas APIs ampliando el payload
  • Las políticas de entrada pueden proteger frente a intentos maliciosos
  • Detectan solicitudes mal formadas o datos faltantes
  • Este primer filtro evita que datos erróneos lleguen a los servicios

Aumento de datos en entrada

Validación de solicitudes

Azure API Management

Seguridad y limitación (throttling)

Política de entrada para seguridad

Aplicar cuotas de solicitudes

  • Estas limitan a clientes excesivos, garantizando uso justo y protección del backend
  • Las políticas de entrada también se encargan de la seguridad
  • Política común: validar un JWT (JSON Web Token)
  • Piensa en un JWT como un carné digital enviado por el cliente
  • La política validate-jwt comprueba si es legítimo, no ha expirado y proviene de un emisor de confianza (p. ej., Entra ID)
  • Para más control: políticas de limitación de velocidad y de cuota
Azure API Management

Políticas de salida (Outbound)

  • Tras el procesamiento del backend, las políticas de salida (outbound) ajustan la respuesta antes de devolverla
  • Como en un restaurante: solicitud -> cocina (backend) -> pase (políticas de salida)
  • Las políticas de salida pueden:
    • Quitar partes no deseadas (p. ej., cabeceras sensibles)
    • Añadir instrucciones (p. ej., directivas de caché)
    • Cambiar el formato (p. ej., convertir XML a JSON)

Aumento de datos en la respuesta

Transformación de la respuesta

  • Las respuestas cumplen lo que espera el cliente, sin depender de cómo lo prepare el backend
Azure API Management

¡Vamos a practicar!

Azure API Management

Preparing Video For Download...