¿Qué es una política?

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Apigee le permite programar el comportamiento de las APIs sin tener que escribir código mediante el uso de políticas. Una política es como un módulo que implementa una función de gestión específica y limitada. Las políticas están diseñadas para que puedas añadir tipos comunes de funciones de gestión a una API de forma fácil y fiable. Las políticas proporcionan funciones como seguridad, limitación de frecuencia, transformación y mediación, lo que te ahorra tener que codificar y mantener estas funciones por tu cuenta.

No tienes por qué limitarte al conjunto de tipos de políticas que proporciona Apigee. También puedes escribir secuencias de comandos y código personalizados (como aplicaciones JavaScript) que amplíen las funciones del proxy de API y te permitan innovar a partir de las funciones de gestión básicas que admiten las políticas de Apigee.

En este tema se ofrece una descripción general de los tipos de políticas y su uso en Apigee. Para obtener información sobre políticas específicas, consulta la descripción general de las políticas.

Tipos y categorías de políticas

Técnicamente, una política es un archivo de configuración con formato XML. La estructura de cada política (por ejemplo, los elementos de configuración obligatorios y opcionales) se define mediante un esquema XML. Si tienes experiencia con las herramientas XML, te recomendamos que te familiarices con los esquemas de políticas de los ejemplos de API Platform en GitHub.

Las políticas de Apigee se agrupan en las siguientes categorías funcionales. Las políticas disponibles para cada categoría se indican en la visión general de las referencias de las políticas.

Gestión del tráfico

Las políticas de la categoría de gestión del 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 el control tanto a nivel operativo como empresarial. Te permiten controlar el rendimiento sin procesar y también el tráfico por aplicación. Los tipos de políticas de gestión del tráfico te permiten aplicar cuotas y también te ayudan a mitigar los ataques de denegación de 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 activamente los mensajes a medida que fluyen a través de los proxies de API. Te permiten transformar formatos de mensajes, de XML a JSON (y viceversa), o de un formato XML a otro. También te permiten analizar mensajes, generar mensajes nuevos y cambiar los valores de los mensajes salientes. Las políticas de mediación también interactúan con los servicios básicos expuestos por Apigee, lo que te permite recuperar datos sobre aplicaciones, desarrolladores, tokens de seguridad y productos de API en tiempo de ejecución.

Extensión

Las políticas de la categoría de extensiones te permiten aprovechar la extensibilidad de Apigee para implementar comportamientos personalizados en el lenguaje de programación que elijas.

Vincular políticas

Para que una política se aplique a tu proxy de API, debes adjuntarla al proxy en un flujo. Para obtener información, consulta los demás temas de esta sección, como Vincular y configurar políticas en la interfaz de usuario y Vincular y configurar políticas en archivos XML.

Implementar cambios en las políticas

Para que los cambios en la política surtan efecto, debes desplegar la revisión del proxy de API en un entorno. Después de adjuntar una política o de hacer cambios en una política, utilice la interfaz de usuario de Apigee o la API de Apigee para implementar los cambios.

Verificar el cumplimiento de las políticas

Para verificar que una política se aplica correctamente, un cliente HTTP debe invocar la API. Para verificar una configuración de Quota, define una cuota (por ejemplo, una solicitud por minuto) y, a continuación, envía varias solicitudes a la API que superen el límite de cuota que has definido en la política de cuotas. La ruta del URI, configurada como la opción de ruta base en el ProxyEndpoint, en la solicitud de abajo es /weather.

http://ORG_NAME-test.apigee.net/weather/forecastrss?w=12797282

Si envías más de una solicitud en un minuto, verás el siguiente mensaje de error:

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

Esto indica que Apigee está aplicando la política Quota.

Gestión de errores basada en políticas

Fíjate en el formato del mensaje de error de arriba. Contiene una propiedad faultstring y una propiedad errorcode. En muchos casos, debe implementar algún comportamiento para gestionar estos errores. Por ejemplo, puede que quieras enviar un mensaje personalizado a un desarrollador cuya aplicación haya superado el Quota.

Para obtener más información sobre la gestión de errores, consulta Gestión de errores.

Prácticas recomendadas: conjuntos de políticas comunes

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

Validación básica de claves de API

Flujo de solicitudes de ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection o JSONThreatProtection
  3. Validación de las claves de API
  4. Quota
  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 las claves de API
  4. Quota
  5. JSONToXML
Flujo de respuesta:
  1. XMLToJSON
  2. ResponseCache