¿Qué es una política?

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

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.

En este tema, se proporciona 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 la referencia de 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) 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.

Las políticas de Apigee se agrupan en las siguientes categorías funcionales. Las políticas disponibles para cada categoría de política se enumeran en la descripción general de la referencia de la política.

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 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.

Cómo adjuntar 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 otros temas de esta sección, incluidos Adjunta y configura políticas en la IU y Adjunta y configura políticas en archivos en formato XML.

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 una configuración de Quota, establece una cuota (por ejemplo, una solicitud por minuto) y, luego, envía varias solicitudes a la API que superen 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