¿Qué es una política?

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

Apigee te permite programar el comportamiento de la API mediante políticas sin escribir código. 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. También puedes escribir secuencias de comandos y códigos personalizados (como aplicaciones JavaScript), que extienden la funcionalidad del proxy de API y te permiten innovar con las capacidades de administración básicas compatibles con 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) está definida por un esquema XML. Si dominas las herramientas XML, vale la pena familiarizarte con los esquemas de políticas en las muestras de la plataforma de API en GitHub.

Los tipos de políticas de Apigee 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.

Security

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 servicios básicos expuestos por Apigee, 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 en la categoría de extensión te permiten aprovechar la extensibilidad de Apigee para implementar un comportamiento personalizado en el lenguaje de programación que elijas.

Cada tipo de política se documenta en detalle en la descripción general de referencia de las políticas. En este tema, se demuestra una 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 Apigee o la API de Apigee 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 esta configuración de Quota, envía varias solicitudes a la API y supera el límite de cuota que estableciste en la política de cuotas. (La ruta de acceso del URI, que se configuró como la configuración de la ruta base en el ProxyEndpoint, en la solicitud siguiente es /weather).

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

Después de enviar más de una 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 Apigee está aplicando la política de Quota.

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, puede que quieras emitir un mensaje personalizado a un desarrollador cuya app haya superado la Quota.

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