¿Qué es una política?

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Apigee Edge te permite “programar” el comportamiento de la API sin escribir ningún código mediante “políticas”. Una política es como un módulo que implementa una función de administración específica y limitada. Las políticas están diseñadas para permitirte agregar tipos comunes de capacidades de administración a una API de forma fácil y confiable. Las políticas proporcionan funciones como la seguridad, los límites de frecuencia, la transformación y la mediación, lo que evita que tengas que codificar y mantener esta funcionalidad por tu cuenta.

No estás limitado al conjunto de tipos de políticas que proporciona Apigee Edge. También puedes escribir secuencias de comandos y código personalizados (como aplicaciones de JavaScript y Node.js), que extiendan la funcionalidad del proxy de API y te permitan innovar sobre las capacidades de administración básicas que admiten las políticas de Apigee.

Mira este video para ver una introducción sobre cómo adjuntar y aplicar las políticas.

Tipos de políticas

Técnicamente, una política es un archivo de configuración con formato XML. La estructura de cada tipo de política (por ejemplo, los elementos de configuración obligatorios y opcionales) se define mediante un esquema XML. Si dominas las herramientas XML, vale la pena familiarizarte con los esquemas de políticas en los ejemplos de la plataforma de API en GitHub.

Los tipos de políticas perimetrales se agrupan en las siguientes categorías funcionales:

Administración del tráfico

Las políticas en la categoría de administración de tráfico te permiten controlar el flujo de mensajes de solicitud y respuesta a través de un proxy de API. Estas políticas admiten los controles operativos y empresariales. Te permiten controlar la capacidad de procesamiento sin procesar y el tráfico por app. Los tipos de políticas de administración de tráfico te permiten aplicar cuotas y, además, te ayudan a mitigar los ataques de denegación del servicio.

Seguridad

Las políticas de la categoría de seguridad admiten la autenticación, la autorización y la seguridad basada en el contenido.

Mediación

Las políticas de la categoría de mediación te permiten manipular de forma activa los mensajes a medida que fluyen a través de los proxies de API. Te permiten transformar formatos de mensaje, de XML a JSON (y viceversa), o transformar un formato XML en otro formato XML. También te permiten analizar mensajes, generar mensajes nuevos y cambiar valores en mensajes salientes. Las políticas de mediación también interactúan con los servicios básicos expuestos por los servicios de API, lo que te permite recuperar datos sobre apps, desarrolladores, tokens de seguridad y productos de API en el entorno de ejecución.

Extensión

Las políticas de la categoría de extensión te permiten aprovechar la extensibilidad de los servicios de API para implementar un comportamiento personalizado en el lenguaje de programación que elijas.

Cada tipo de política está documentado en detalle en la descripción general de la referencia de la política. En este tema, se muestra la interacción general, se muestra cómo crear políticas y cómo adjuntarlas a flujos en una configuración de proxy de API.

Implementa cambios en la política

Para que se apliquen los cambios de política, debes implementar la revisión del proxy de API en un entorno. Después de adjuntar una política o realizar cambios en una política existente, usa la IU de administración o la API de administración para implementar los cambios.

Verifica la aplicación de la política

Para verificar que una política se aplique de manera adecuada, un cliente HTTP debe invocar la API. Para verificar la configuración de esta cuota, envía varias solicitudes a la API que superen el límite de cuota establecido en la política de cuotas. (La ruta de URI, que se establece como la configuración de la ruta base en el ProxyEndpoint, en la siguiente solicitud es /weather).

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

Después de enviar más de 1 solicitud en un minuto, deberías ver el siguiente mensaje de error:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Esto indica que los servicios de la API aplican la política de cuotas.

Manejo de errores basados en políticas

Observa el formato del mensaje de error anterior. Contiene una propiedad faultstring y una propiedad errorcode. En muchos casos, necesitas implementar algún comportamiento para controlar estos errores. Por ejemplo, tal vez quieras enviar un mensaje personalizado a un desarrollador cuya app excedió la cuota.

Para obtener más información sobre el manejo de fallas, consulta Controla las fallas.

Prácticas recomendadas: conjuntos de políticas comunes

Para cumplir con los requisitos de administración básica, los proxies de API suelen aplicar las siguientes políticas:

Validación de clave de API básica

Flujo de solicitudes de ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection o JSONThreatProtection
  3. Validación de la clave de API
  4. Cuota
  5. ResponseCache
Flujo de respuesta de ProxyEndpoint:
  1. ResponseCache

Transformación básica: de JSON a XML

Flujo de solicitud:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Validación de la clave de API
  4. Cuota
  5. JSONToXML
Flujo de respuesta:
  1. XMLToJSON
  2. ResponseCache