Planes de uso y clave de API para las API de REST en API Gateway - Amazon API Gateway

Planes de uso y clave de API para las API de REST en API Gateway

Después de crear, probar e implementar las API, puede utilizar los planes de uso de API Gateway para ponerlos a disposición de sus clientes como ofertas de productos. Puede configurar planes de uso y claves de API para permitir que los clientes accedan a las API seleccionadas, y comenzar la limitación controlada de las solicitudes a esas API en función de los límites y cuotas definidos. Se pueden configurar a nivel de API o método API.

¿Qué son los planes de uso y las claves de API?

Un plan de uso especifica quién puede acceder a una o más etapas y métodos de la API implementada, y opcionalmente establece el ratio de solicitudes objetivo para comenzar la limitación controlada de las solicitudes. El plan utiliza claves de API para identificar los clientes de API y a quienes pueden acceder a las etapas de la API asociadas a cada clave.

Las claves de API son valores de cadenas alfanuméricas que distribuye a los clientes desarrolladores de aplicaciones para concederles acceso a su API. Puede utilizar claves de API junto con autorizadores de Lambda, roles de IAM o Amazon Cognito para controlar el acceso a sus API. API Gateway puede generar claves de API en su nombre o usted puede importarlas desde un archivo CSV. Puede generar una clave de API en API Gateway o importarla a API Gateway desde un origen externo. Para obtener más información, consulte Configuración de claves de API mediante la consola de API Gateway.

Una clave de API tiene un nombre y un valor. (Los términos "clave de API" y "valor de clave de API" suelen utilizarse indistintamente). El nombre no puede superar los 1024 caracteres. El valor es una cadena alfanumérica con un tamaño entre 20 y 128 caracteres, por ejemplo, apikey1234abcdefghij0123456789.

importante

Los valores de claves de API deben ser únicos. Si intenta crear dos claves de API con nombres distintos pero con el mismo valor, API Gateway considerará que son la misma clave de API.

Una clave de API se puede asociar a más de un plan de uso. Un plan de uso se puede asociar a más de una etapa. Sin embargo, una clave de API determinada solo se puede asociar a un plan de uso para cada etapa de la API.

Un límite de limitación controlada establece el punto objetivo en el que debe comenzar la limitación controlada de solicitudes. Esto se puede configurar a nivel de API o de método de API.

Un límite de cuota establece el número máximo de solicitudes con una clave de API determinada que se pueden enviar en un intervalo de tiempo especificado. Puede configurar distintos métodos de la API para exigir la autorización de la clave de API en función de la configuración del plan de uso.

La limitación de solicitudes y los límites de cuota se aplican a las solicitudes de claves de API individuales que se van acumulando en todas las etapas de la API dentro de un plan de uso.

nota

La limitación controlada del plan de uso y las cuotas no son límites estrictos y se aplican en la medida de lo posible. En algunos casos, los clientes pueden sobrepasar las cuotas establecidas. Para controlar los costes o bloquear el acceso a una API, no confíe en las cuotas del plan de uso ni en la limitación controlada. Considerar la posibilidad de utilizar AWS Budgets para monitorear los costes y AWS WAF para administrar las solicitudes de API.

Pasos para configurar un plan de uso y claves de la API en API Gateway

Las siguientes tareas describen los pasos necesarios para configurar un plan de uso y las claves de la API. Para obtener las prácticas recomendadas, consulte Prácticas recomendadas para claves de API y planes de uso.

Para configurar un plan de uso y las claves de la API
  1. Cree una API y configure la solicitud de método de cada método de la API para exigir una clave de la API. A continuación, implemente la API en una etapa.

    Para incluir métodos de la API en un plan de uso, debe configurar distintos métodos de API para que soliciten una clave de API.

    Para obtener más información sobre cómo configurar un método para exigir una clave de la API, consulte Exigir una clave de API en un método.

  2. Genere o importe claves de API para distribuir a los desarrolladores de aplicaciones (sus clientes) que vayan a utilizar la API. Las claves de la API son necesarias para el plan de uso.

    Para obtener más información sobre cómo generar o importar claves de la API, consulte Crear una clave de API.

  3. Cree el plan de uso con la limitación y los límites de cuota que desee; a continuación, asocie las etapas y las claves de API con el plan de uso.

    Para obtener más información sobre cómo crear el plan de uso, consulte Crear un plan de uso.

Los intermediarios de la API tendrán que proporcionar una clave de API asignada en el encabezado x-api-key de las solicitudes a la API.

Para obtener una plantilla de AWS CloudFormation completa que crea y asocia un plan de uso con una nueva etapa y una clave de API, consulte Creación y configuración de claves de API y planes de uso con AWS CloudFormation.

Prácticas recomendadas para claves de API y planes de uso

A continuación, se sugieren prácticas recomendadas cuando se utilizan claves de API y planes de uso.

importante
  • No utilice claves de API para la autenticación o la autorización del control de acceso a las API. Si tiene varias API en un plan de uso, un usuario con una clave de API válida para una API en ese plan de uso puede acceder a todas las API de ese plan de uso. En su lugar, para controlar el acceso a su API, utilice un rol de IAM, un autorizador de Lambda o un grupo de usuarios de Amazon Cognito.

  • Use las claves de API que genera la puerta de enlace de la API. Las claves de API no deben incluir información confidencial; los clientes suelen transmitirlas en encabezados que se pueden registrar.

  • Si está utilizando un portal para desarrolladores para publicar las API, tenga en cuenta que los clientes se pueden suscribir a todas las API de un determinado plan de uso, incluso si no ha hecho que sean visibles para los clientes.

  • En algunos casos, los clientes pueden sobrepasar las cuotas establecidas. Para controlar los costos, no confíe en los planes de uso. Considere la posibilidad de utilizar AWS Budgets para monitorear los costos y AWS WAF para administrar las solicitudes de API.

  • Después de agregar una clave de API a un plan de uso, es posible que la operación de actualización tarde unos minutos en completarse.