Policies en Apigee

Herramientas para controlar, transformar y proteger tus APIs

🔐

Security

Políticas de Seguridad:

  • VerifyAPIKey: Valida claves API de clientes
  • OAuth v2.0: Autenticación token-based
  • BasicAuthentication: Usuario y contraseña
  • JWT: JSON Web Tokens para autenticación
  • SAML: Single Sign-On empresarial
  • Protección XML/JSON: Contra payloads maliciosos
  • RegEx Validation: Validar entradas con expresiones regulares
💡 Caso de uso: Verificar API Key en PreFlow para garantizar que solo clientes autorizados accedan.
🚦

Traffic Management

Control de Tráfico:

  • Quota: Limita N llamadas por ventana de tiempo (ej: 1000/hora)
  • SpikeArrest: Controla picos de tráfico por segundo
  • Cache: Cachea respuestas para reducir latencia y carga

Configuración típica:

  • Quota: límite mensual por plan (free/premium)
  • SpikeArrest: máx. 100 req/seg para evitar picos
  • Cache: 5 minutos para datos que no cambian
💡 Caso de uso: Proteger backend limitando 1000 llamadas/día a clientes gratuitos.
🔄

Mediation / Transformation

Transformar Datos:

  • XMLToJSON: Convierte XML a JSON
  • JSONToXML: Convierte JSON a XML
  • AssignMessage: Manipula headers, body, variables
  • XSLT: Transformaciones XPath complejas

Casos comunes:

  • Adaptador entre formatos (legacy XML a JSON moderno)
  • Agregar headers de autenticación
  • Remover campos sensibles de respuestas
💡 Caso de uso: Convertir XML de backend SAP a JSON para clientes móviles.

Extension

Lógica Personalizada:

  • JavaScript: Ejecutar código JS en el flujo (más rápido)
  • Python: Usar librerías Python complejas
  • ServiceCallout: Llamar otros servicios/APIs (validaciones, webhooks)
  • KeyValueMapOperations: Leer credenciales o config guardadas

Cuándo usar:

  • JS: cálculos rápidos, transformaciones lógica
  • ServiceCallout: llamar un webhook para validar
  • KVM: obtener credenciales de BD encriptada
💡 Caso de uso: JavaScript para calcular checksum; ServiceCallout para validar en sistema externo.
📋

Orden típico en un Proxy

PreFlow:

  • VerifyAPIKey / OAuth (seguridad)
  • QuotaPolicy (límite de tráfico)

Conditional Flows:

  • Si método = POST → AssignMessage (agregar headers)
  • Si formato = XML → XMLToJSON

PostFlow:

  • Cache respuesta
  • AssignMessage (remover headers internos)
  • Logging