Suscripciones en Azure API Management

En Azure API Management, las suscripciones son la forma más habitual de acceso a las API publicadas por medio de una instancia de API Management para los consumidores. En este artículo se proporciona información general del concepto.

¿Qué son las suscripciones?

Si publica API por medio de API Management, puede proteger fácilmente el acceso a las API mediante claves de suscripción. Los desarrolladores que necesiten usar las API publicadas deben incluir una clave de suscripción válida en las solicitudes HTTP al realizar llamadas a esas API. Sin una clave de suscripción válida, las llamadas:

  • Se rechazan inmediatamente por la puerta de enlace de API Management.
  • No se reenvían a los servicios back-end.

Para acceder a las API, necesita una suscripción y una clave de suscripción. Una suscripción es un contenedor con nombre para un par de claves de suscripción.

Nota

La regeneración periódica de claves es una precaución de seguridad común. Al igual que la mayoría de los servicios de Azure que requieren una clave de suscripción, API Management genera claves en pares. Cada aplicación que usa el servicio puede cambiar de la clave A a la clave B y regenerar la clave A con una interrupción mínima, y viceversa.

Además:

  • Los desarrolladores pueden obtener suscripciones sin la aprobación de los publicadores de API.
  • Los publicadores de API pueden crear suscripciones directamente para los consumidores de API.

Sugerencia

API Management también admite otros mecanismos para proteger el acceso a las API, por ejemplo:

Ámbito de las suscripciones

Las suscripciones se pueden asociar a diversos ámbitos: producto, todas las API o una API individual.

Suscripciones para un producto

Tradicionalmente, las suscripciones de API Management se han asociado a un solo ámbito de producto. Desarrolladores:

  • Encontraban la lista de productos en el portal para desarrolladores.
  • Enviaban las solicitudes de suscripción de los productos que querían usar.
  • Usaban las claves de esas suscripciones (aprobadas automáticamente o por publicadores de API) para acceder a todas las API del producto.

En este momento, en la sección Perfil de usuario del portal para desarrolladores solo aparecen las suscripciones del ámbito del producto.

Suscripciones de producto

Suscripciones para todas las API o una API individual

También puede crear claves que concedan acceso a:

  • una sola API, o
  • todas las API dentro de una instancia de API Management.

En estos casos, no es necesario crear un producto y agregarle API primero.

Suscripción de acceso completo

Cada instancia de API Management incluye de una suscripción inmutable para todas las API (también denominada suscripción de acceso completo). Esta suscripción integrada facilita la prueba y la depuración de las API desde la consola de prueba.

Advertencia

La suscripción de acceso completo permite el acceso a todas las API de la instancia de API Management y solo deben usarse los usuarios autorizados. Nunca use esta suscripción para el acceso de API rutinario o inserte la clave de suscripción de acceso completo en las aplicaciones cliente.

Nota

Si usa una suscripción con ámbito de API o la suscripción de acceso completo, las directivas configuradas en el ámbito del producto no se aplican a las solicitudes de esa suscripción.

Suscripciones independientes

API Management también permite suscripciones independientes, que no están asociadas a una cuenta de desarrollador. Esta característica resulta útil en escenarios similares a cuando varios desarrolladores o equipos comparten una suscripción.

La creación de una suscripción sin asignarle un propietario la convierte en una suscripción independiente. Para conceder a los desarrolladores y al resto del equipo acceso a la clave de suscripción independiente:

  • Comparta manualmente la clave de suscripción.
  • Use un sistema personalizado para poner a disposición del equipo la clave de suscripción.

Creación de suscripciones en Azure Portal

Los publicadores de API pueden crear suscripciones directamente en Azure Portal.

Cómo gestiona API Management solicitudes con o sin claves de suscripción

De forma predeterminada, un desarrollador solo puede acceder a un producto o API mediante una clave de suscripción. En determinados escenarios, es posible que los publicadores de API quieran publicar un producto o una API determinada para el público sin necesidad de suscripciones. Aunque un publicador podría optar por habilitar el acceso no seguro a determinadas API, se recomienda configurar otro mecanismo para proteger el acceso de cliente.

Precaución

Tenga cuidado al configurar un producto o una API que no requiera una suscripción. Esta configuración puede ser excesivamente permisiva y hacer que una API sea más vulnerable a determinadas amenazas de seguridad de API.

Para deshabilitar el requisito de suscripción mediante el portal:

  • Deshabilite el requisito del producto: deshabilite Requiere suscripción en la página Configuración del producto.
  • Deshabilite el requisito de la API: deshabilite Requiere suscripción en la página Configuración de la API.

Después de deshabilitar el requisito de la suscripción, se puede acceder a las API seleccionadas sin una clave de suscripción.

Cuando API Management una solicitud de API de un cliente sin una clave de suscripción, administra la solicitud según estas reglas:

  1. Comprueba primero la existencia de un producto que incluya la API, pero que no requiera una suscripción (un producto abierto). Si el producto abierto existe, administra la solicitud en el contexto de las API, las directivas y las reglas de acceso configuradas para el producto.
  2. Si no se encuentra un producto abierto que incluya la API, comprueba si la API requiere una suscripción. Si no se requiere una suscripción, controla la solicitud en el contexto de esa API y operación.
  3. Si no se encuentra ningún producto o API configurado, se deniega el acceso.

Pasos siguientes

Para más información sobre API Management: