Implementar políticas de API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Introducción a las políticas de API
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
Visión general de las políticas de API Management
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
Ejemplo: compatibilidad hacia atrás
Á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
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
Seguridad y limitación (throttling)
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
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)
Las respuestas cumplen lo que espera el cliente, sin depender de cómo lo prepare el backend
¡Vamos a practicar!
Azure API Management
Preparing Video For Download...