Creación de suscripciones en Azure API Management

Completado

Al publicar una API con API Management, puede definir quién puede acceder a ella desde la puerta de enlace.

Para la aplicación meteorológica, querrá asegurarse de que solo los clientes que se han suscrito al servicio puedan acceder a la API y usar los datos de las previsiones. Este control de acceso se realiza mediante la emisión de claves de suscripción.

Importante

Las suscripciones de este contexto no están relacionadas con las suscripciones de Azure que se usan para administrar la cuenta de Azure.

Aquí, aprenderá a usar claves de suscripción para proteger sus API.

Suscripciones y claves

Puede optar por hacer que las API y la información que contienen estén disponibles de forma gratuita. Pero por lo general querrá restringir el acceso a los usuarios que han pagado, o bien a las organizaciones con las que mantenga una relación laboral. Una forma de controlar el acceso a las API consiste en usar suscripciones. Las suscripciones se usan para segmentar el acceso de los usuarios a una API.

Las claves de suscripción forman la autorización para habilitar el acceso a estas suscripciones. Cada vez que un cliente realiza una solicitud a una API protegida, debe incluir una clave de suscripción válida en la solicitud HTTP; de lo contrario, la llamada será rechazada.

Una clave de suscripción es una clave única generada automáticamente que se puede pasar como parte de una llamada API. La clave está directamente relacionada con una suscripción, que puede tener diferentes áreas como ámbito. Las suscripciones proporcionan un control detallado sobre los permisos y las directivas.

Los tres ámbitos de suscripción principales son:

Ámbito Detalles
Todas las API Se aplica a todas las API accesibles desde la puerta de enlace.
Una sola API Se aplica a una sola API importada y a todos sus puntos de conexión.
Producto Un producto es una colección de una o varias API que se configuran en API Management. Se pueden asignar API a más de un producto. Los productos pueden tener diferentes reglas de acceso, cuotas de uso y condiciones de uso. Por tanto, si quiere que los asociados y proveedores tengan diferentes derechos de acceso a la API WeatherData, asígnela a un producto y, después, use Azure Portal para asociar las API a un producto.

Las aplicaciones que llaman a una API protegida deben incluir una clave de suscripción en todas las solicitudes.

Estas claves de suscripción se pueden volver a generar en cualquier momento; por ejemplo, si sospecha que una clave se ha compartido con usuarios no autorizados, puede crear una nueva.

Claves de suscripción.

Cada suscripción tiene dos claves: una clave principal y una clave secundaria. Tener dos claves facilita la regeneración de una clave. Por ejemplo, si quiere cambiar la clave principal y evitar tiempo de inactividad, use la clave secundaria en las aplicaciones.

En el caso de los productos con suscripciones habilitadas, los clientes deben proporcionar una clave cuando realicen llamadas a API en ese producto. Los desarrolladores pueden obtener una clave mediante el envío de una solicitud de suscripción. Si aprueba la solicitud, debe enviarles la clave de suscripción de forma segura, por ejemplo, en un mensaje cifrado. Este paso es una parte fundamental del flujo de trabajo de API Management.

Llamada a una API con la clave de suscripción

Las aplicaciones deben incluir una clave válida en todas las solicitudes HTTP que realizan llamadas a puntos de conexión de API que están protegidos por una suscripción. Las claves se pueden pasar en el encabezado de solicitud o como un parámetro de cadena de consulta en la dirección URL.

El nombre de encabezado predeterminado de la clave de suscripción es Ocp-Apim-Subscription-Key y el nombre predeterminado de la cadena de consulta es subscription-key.

Para probar las llamadas API, puede usar una consola de prueba en Azure Portal, el portal para desarrolladores o herramientas de línea de comandos, como curl. Este es un ejemplo de una solicitud GET mediante el portal para desarrolladores, en la que se muestra el encabezado de clave de suscripción:

Captura de pantalla en la que se muestra cómo llamar a la API desde el portal para desarrolladores.

Este es un ejemplo de cómo se pasa una clave en un encabezado de solicitud mediante curl:

curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path

Este es un ejemplo de cómo se usa un comando curl para pasar una clave como una cadena de consulta en una dirección URL:

curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>

Si una clave obligatoria no se pasa en el encabezado, o como una cadena de consulta en la dirección URL, obtendrá una respuesta 401 Acceso denegado de la puerta de enlace de API.