¿Qué es una política?

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Apigee Edge 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 extienden el proxy de API y le permiten innovar sobre la base de las capacidades de administración básicas que admiten 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 los opcionales) se define mediante un esquema XML. Si dominas las herramientas XML, puedes familiarizarte con los esquemas de políticas en los ejemplos de la plataforma de API en GitHub.

Los tipos de políticas de Edge 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. Mediación Las políticas 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 para implementar comportamientos personalizados en el lenguaje de programación que elijas.

Cada tipo de política se documenta en detalle en la Descripción general de la 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 de realizar cambios en una política existente, usa la IU de administración o con la API de Management de Google 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 verifica esta configuración de cuota, envía varias solicitudes a la API y supera el límite de la cuota que configuraste en la política de cuotas. (La ruta de acceso del URI, configurada 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

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

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

Esto indica que los servicios de 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 cuyo la app superó 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 solicitud ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection o JSONThreatProtection
  3. Validación de la clave de API
  4. Cuota
  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. Cuota
  5. JSONToXML
Flujo de respuesta:
  1. XMLToJSON
  2. ResponseCache