Introducción

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

En las secciones siguientes, se presentan productos de API y conceptos relacionados, como cuotas y claves de API.

¿Qué es un producto de API?

Como proveedor de API, debes crear productos de API a fin de agrupar tus API y hacer que estén disponibles para los desarrolladores de apps. Puede considerar los productos de API como tu línea de productos.

En concreto, un producto de API agrupa una o más operaciones. Una operación especifica un proxy de API y rutas de recursos a las que se puede acceder en ese proxy. Una operación también puede limitar el acceso mediante métodos HTTP y por cuota.

.

Los productos de API son el mecanismo central para controlar el acceso a tus API. Cuando defines uno o más productos de API en una app para desarrolladores, puedes restringir el acceso a los proxies con una clave de API. En Apigee, se aprovisionan las claves de API, no para las API, sino para los productos de las API. En otras palabras, las claves de API se aprovisionan para paquetes de operaciones que definen una línea de productos o un plan de servicio específico.

Casos prácticos habituales

Puedes crear varios productos de API que contengan operaciones para abordar casos de uso específicos. Por ejemplo, puedes crear un producto de API que agrupe varias operaciones que contengan recursos de asignación para permitir que los desarrolladores integren mapas a sus aplicaciones con facilidad.

Además, puedes usar los productos de API para definir criterios de precios basados en los niveles de precios, por ejemplo:

La cantidad de solicitudes:

  • Premium: solicitudes ilimitadas por día
  • Básico: Hasta 1,000 solicitudes por día
  • Gratis hasta 100 solicitudes por día

O nivel de acceso:

  • Premium: lee, escribe, actualiza y borra
  • Básica: Lectura y actualización
  • Gratis: solo lectura

O cualquier combinación de lo anterior:

  • Premium adicional: lee y escribe número ilimitado de veces por día
  • Premium: Lee y escribe hasta 1,000 solicitudes por día
  • Básico: Acceso de lectura y escritura hasta 100 veces al día
  • Gratis: hasta 1,000 veces al día
  • Gratis: Acceso de solo lectura limitado a 100 solicitudes por día

Operations

Una operación es un grupo de atributos que restringen el acceso a uno o más proxies de API según criterios como la ruta de recursos, el método HTTP y la cuota. Una operación incluye estos atributos:

Atributo ¿Es obligatorio? Descripción
proxy de API Obligatorio Cada grupo de operaciones debe especificar un proxy de API. Solo se permite un proxy por grupo de operaciones.
Servicio remoto Depende Obligatorio solo si instalas y planeas usar el adaptador de Apigee para Envoy.
Ruta de acceso al recurso Obligatorio Cada grupo de operaciones debe especificar una o más rutas de acceso de recursos. Las rutas de recursos en una operación restringen el acceso a recursos específicos de un proxy de API. (Una ruta de acceso a los recursos es la parte de una URL de solicitud de proxy de API que viene después de la ruta base del proxy).
Método HTTP Opcional También puedes restringir el acceso a un proxy mediante un método HTTP. Por ejemplo, si especificas métodos GET y POST para un grupo de operaciones, solo las solicitudes HTTP GET y POST pueden acceder al proxy para la ruta de acceso del recurso especificado. Si no se especifica ningún método, se permiten todos los métodos.
Cuota Opcional Puedes especificar una cuota para el grupo de operaciones. La cuota especificada en un grupo de operaciones tiene prioridad sobre una cuota a nivel de producto de la API, en caso de que se especifique.
Atributos personalizados Opcional Los atributos personalizados son útiles para las métricas, la supervisión o los casos en los que deseas almacenar información adicional con un producto de API al que se pueda acceder o recuperarse más tarde. Existen atributos personalizados asociados con una operación, además de los atributos personalizados a nivel de producto de la API, y se puede acceder al entorno de ejecución como variables de flujo con el prefijo apiproduct.operation.attributes.

Claves de API

Cuando registras una app de desarrollador en tu organización, esta debe estar asociada con al menos un producto de API. Como resultado de la vinculación de una app con uno o más productos de API, Apigee asigna a la app una clave de consumidor única. Consulta también Registra apps y administra claves.

La clave de consumidor o el token de acceso actúan como credenciales de solicitud. El desarrollador de la app incorpora la clave de consumidor en la app para que, cuando esta realice una solicitud a una API alojada por Apigee, la app pase la clave de consumidor en la solicitud de una de las siguientes maneras:

  • Cuando la API usa la verificación de claves de API, la app debe pasar la clave de consumidor directamente.
  • Cuando la API usa la verificación de token de OAuth, la app debe pasar un token derivado de la clave de consumidor.

La clave de seguridad de API no se realiza automáticamente. Ya sea que uses la clave de consumidor o los tokens de OAuth como credenciales de solicitud, el proxy de API valida las credenciales de la solicitud en tus proxies de la API. Para ello, incluye una política VerifyAPIKey o una configuración de política VerifyAccessToken (consulta la política OAuthv2) en el flujo adecuado. Si no incluyes una política de aplicación de credenciales en el proxy de API, cualquier emisor puede invocar tus API.

Para verificar las credenciales que se pasaron en la solicitud, Apigee realiza los siguientes pasos:

  1. Obtiene las credenciales que se pasan con la solicitud. En el caso de la verificación de tokens de OAuth, Apigee verifica que el token no haya vencido y, luego, busca la clave de consumidor que se usó para generar el token.
  2. Recupera la lista de productos de API a los que se asoció la clave de consumidor.
  3. Confirma que el proxy de API actual esté incluido en el producto de API, si la ruta de recursos actual (ruta de URL) está habilitada en el producto de API y, si se incluye en el producto, la solicitud usa un verbo HTTP especificado.
  4. Si se especifica, verifica que la cuota no se superó.
  5. Verifica que la clave de consumidor no haya vencido o revocado, comprueba que la app no esté revocada y verifica que el desarrollador de apps esté activo.

Si pasan todas las verificaciones anteriores, la verificación de credenciales se realiza correctamente.

En resumen, Apigee genera automáticamente claves de consumidor, pero los publicadores de API deben aplicar la verificación de claves en los proxies de API mediante las políticas adecuadas.

Aprobación de claves

De forma predeterminada, todas las solicitudes se aprueban automáticamente a fin de obtener una clave para acceder a un producto de la API desde una app. También puedes configurar el producto de API para aprobar las claves manualmente. La configuración de este proceso se describe en Agrega un producto de API. En este caso, deberás aprobar las solicitudes clave de cualquier app que agregue el producto de la API. Para obtener más información, consulta Registra apps y administra claves de API.

Cuotas

Las cuotas pueden proteger tus servidores de backend de las altas variaciones del tráfico y diferenciar tu línea del producto. Por ejemplo, puedes agrupar recursos con una cuota alta como producto premium y usar el mismo paquete con una cuota más baja como producto básico. Las cuotas pueden ayudar a proteger tus servidores para que no se sobrecarguen si un producto es popular y recibe una gran cantidad de solicitudes en un período corto.

Puedes especificar una cuota que se aplica a todos los proxies de API incluidos con el producto de API o especificar cuotas a nivel de operación. Una cuota especificada en una operación tiene prioridad sobre una que se configuró a nivel de producto de API.

Configurar los límites de cuota en un producto de API no aplica automáticamente la cuota. Solo es un límite predeterminado al que se hace referencia en las políticas de cuota. Estas son algunas ventajas de establecer una cuota en el producto para la referencia de las políticas de cuota:

  • Usa una política de cuotas para aplicar una configuración uniforme en todos los proxies de API de un producto de API.
  • Si cambias la configuración de la cuota del producto de API en el entorno de ejecución, las políticas de cuota hacen referencia automáticamente a la configuración actualizada de la cuota.

Para obtener más información, consulta lo siguiente:

Alcances de OAuth

Puedes definir los permisos de OAuth como una lista separada por comas que debe estar presente en tokens de acceso asociados con el producto. Para obtener más información sobre el uso de alcances con las políticas de OAuth de Apigee, consulta Trabaja con alcances de OAuth2.

Niveles de acceso

Cuando defines un producto de la API, puedes establecer los siguientes niveles de acceso.

Nivel de acceso Descripción
Public Productos de la API que están disponibles para todos los desarrolladores. Puedes agregarlos a los portales para desarrolladores integrados o basados en Drupal.
Private o Internal only Productos de la API diseñados para uso privado o interno.

En el portal integrado, puedes agregar productos de API Private o Internal only y hacer que estén disponibles para los desarrolladores de apps, según sea necesario.

En los portales para desarrolladores basados en Drupal, puedes administrar el acceso a los productos de API Private o Internal only en el portal para desarrolladores, como se describe en las siguientes secciones:

  • En el caso de los portales para desarrolladores de Drupal 8/9, puedes configurar el acceso a los productos de API Private o Internal only en el portal para desarrolladores, como se describe en Configura permisos de acceso a los productos de API.
  • Para los portales de desarrollador de Drupal 7, no puedes agregar productos de API Private o Internal only a tu portal para desarrolladores.

    Si quieres que los productos de API Private o Internal only estén disponibles para los desarrolladores de apps, debes agregarlos manualmente a una app registrada desde la IU o la API de Apigee, como se describe en Registra apps y administra claves de API.

    Una vez agregado, el desarrollador ve el producto de API asociado con la app en tu portal, como se describe en Administra productos de la API en una app. Si el desarrollador de apps inhabilita el acceso a un producto de API que es Private o Internal only, el producto de API se quita de la app y el administrador del portal debe volver a agregarlo de forma manual.