Llamada a una API con una clave de suscripción

Completado

Al publicar una API, lo normal es que quiera que haya cierto nivel de control sobre quién puede acceder a la API mediante la puerta de enlace. Las claves de suscripción constituyen una forma de restringir el acceso a una API.

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

Suscripciones y claves

Para proteger sus API, puede usar una clave de suscripción.

Nota:

En entornos de API Management de producción, normalmente combinaría una clave de suscripción con otros mecanismos para proteger las API de usos no autorizados, mecanismos como la autenticación de certificados o la autorización de OAuth 2.0. Estos se encuentran fuera del ámbito de este módulo.

Una clave de suscripción es una cadena única generada de forma automática que se puede pasar en los encabezados de la solicitud de cliente o como una cadena de consulta en la dirección URL. La clave está directamente relacionada con una suscripción que puede tener como ámbito diversas áreas, lo que ofrece un control pormenorizado sobre los permisos y las directivas. Los ámbitos de suscripción principales son:

  • Todas las API
  • Una sola API
  • Un producto

Las aplicaciones que llaman a una API protegida deben incluir la clave en la solicitud.

Los clientes pueden regenerar estas claves de suscripción en cualquier momento. Por ejemplo, vuelva a generar las claves de suscripción si sospecha que una clave se ha compartido con usuarios no autorizados.

Subscription keys.

Cada suscripción tiene dos claves, una principal y una 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 sus aplicaciones.

En el caso de productos donde están habilitadas suscripciones, debe proporcionar una clave cuando se realicen llamadas a API en ese producto. Como desarrollador, puede obtener una clave mediante el envío de una solicitud de suscripción. Este proceso es una parte fundamental del flujo de trabajo de API Management.

Nota:

Crear usuarios y concederles sus claves de suscripción para que puedan acceder a la API es una parte fundamental del flujo de trabajo de API Management, pero se escapa del ámbito de este módulo.

Llamada a una API con la clave de suscripción

Las aplicaciones deben incluir una clave válida en todas las solicitudes HTTP cuando 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 una cadena de consulta en la dirección URL.

El nombre de encabezado predeterminado es Ocp-Apim-Subscription-Key y la cadena de consulta predeterminada es subscription-key.

Para probar las llamadas API, puede usar el portal para desarrolladores (si está disponible en el nivel de servicio), una herramienta de línea de comandos como curl u otras herramientas como Postman.

Este es un ejemplo de una solicitud GET que pasa una clave en el encabezado de solicitud mediante el comando curl:

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

Este es un comando curl de ejemplo que pasa una clave en la dirección URL como una cadena de consulta:

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

Si la clave 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.