Usar planos e chaves de API para APIs REST no APIs Gateway
Depois que criar, testar e implantar suas APIs, você poderá usar planos de uso do API Gateway para disponibilizá-las como ofertas de produto aos seus clientes. É possível configurar planos de uso e chaves de API para permitir que os clientes acessem APIs selecionadas e inaugurem o controle de utilização de solicitações para essas APIs com base em limites e cotas definidos. Eles podem ser configurados na API ou no nível do método da API.
O que são planos de uso e chaves de API?
Um plano de uso especifica quem poderá acessar um ou mais estágios e métodos da API implantada e, opcionalmente, define a taxa de solicitação de destino para iniciar o controle de utilização de solicitações. O plano usa chaves de API para identificar clientes de APIs e quem poderá acessar os estágios da API associada para cada chave.
Chaves de API são valores de strings alfanuméricas distribuídas para clientes de desenvolvedores de aplicativos para conceder acesso à API. Você pode usar chaves de API com autorizadores do Lambda, funções do IAM ou o Amazon Cognito para controlar o acesso às suas APIs. O API Gateway pode gerar chaves de API em seu nome ou você pode importá-las para um arquivo CSV. Você pode gerar uma chave de API no API Gateway ou importá-la para o API Gateway a partir de uma fonte externa. Para obter mais informações, consulte Configurar chaves da API usando o console do API Gateway.
Uma chave de API tem um nome e um valor. (Os termos "chave de API" e "valor de chave de API" são frequentemente usados de forma intercambiável.) O nome não pode exceder 1.024 caracteres. O valor é uma string alfanumérica com tamanho entre 20 e 128 caracteres; por exemplo, apikey1234abcdefghij0123456789
.
Importante
Os valores de chaves de API devem ser exclusivos. Se você tentar criar duas chaves de API com nomes diferentes e o mesmo valor, o API Gateway as considera a mesma chave de API.
Uma chave de API pode ser associada a mais de um plano de uso. Um plano de uso pode ser associado a mais de um estágio. No entanto, uma determinada chave de API só pode ser associada a um único plano de uso para cada estágio de sua API.
Um limite de controle de utilização define o ponto de destino em que o controle de utilização de solicitações deverá ser iniciado. Isso pode ser configurado na API ou no nível do método da API.
Um limite de cota define o número máximo alvo de solicitações com uma determinada chave de API que poderão ser enviadas em um intervalo de tempo especificado. Você pode configurar métodos de API particulares para exigir a autorização da chave de API com base na configuração do plano de uso.
Limites de controle de utilização e cotas são aplicáveis a solicitações para chaves de API particulares que estão agregadas por todos os estágios de API em um plano de uso.
nota
O controle de utilização e cotas do plano de uso não são limites rígidos e são aplicados de acordo com os melhores esforços. Em alguns casos, os clientes podem exceder as cotas definidas por você. Não dependa de cotas e controle de utilização de planos de uso para controlar custos ou bloquear o acesso a uma API. Considere usar o AWS Budgets para monitorar custos e o AWS WAF para gerenciar solicitações de APIs.
Etapas para configurar um plano de uso e chaves de API no API Gateway
As tarefas a seguir descrevem as etapas necessárias para configurar um plano de uso e chaves de API. Para ver as práticas recomendadas, consulte Práticas Recomendadas para chaves de API e planos de uso.
Como configurar um plano de uso e chaves de API
-
Crie uma API e configure o método de solicitação para que cada método de API exija uma chave de API. Em seguida, implante a API em um estágio.
Para incluir métodos de API em um plano de uso, você deve configurar métodos de API individuais para exigirem uma chave de API.
Para ter mais informações sobre como configurar um método para exigir uma chave de API, consulte Exigir uma chave de API em um método.
-
Gere ou importe chaves de API para distribuir aos desenvolvedores de aplicativos (seus clientes) que usarão sua API. As chaves de API são necessárias para seu plano de uso.
Para ter mais informações sobre como gerar ou importar chaves de API, consulte Criar uma chave de API.
-
Crie o plano de uso com o controle de utilização e os limites de cota desejados e, depois, associe a ele os estágios e as chaves de API.
Para saber mais sobre como criar o plano de uso, consulte Criar um plano de uso.
Os autores de chamadas da API devem fornecer uma chave de API atribuída no cabeçalho x-api-key
de solicitações à API.
Para ter um modelo completo do AWS CloudFormation que crie e associe um plano de uso a um novo estágio e a uma chave de API, consulte Criar e configurar chaves de API e planos de uso com o AWS CloudFormation.
Práticas Recomendadas para chaves de API e planos de uso
Veja a seguir sugestões de práticas recomendadas a serem seguidas ao usar chaves de API e planos de uso.
Importante
-
Não use chaves de API para autenticação ou autorização para controlar as APIs. Se você tiver várias APIs em um plano de uso, um usuário com uma chave de API válida para uma API nesse plano de uso poderá acessar todas as APIs desse plano. Em vez disso, para controlar o acesso à API, use um perfil do IAM, um autorizador do Lambda ou um grupo de usuários do Amazon Cognito.
-
Use as chaves de API geradas pelo API Gateway. As chaves de API não devem incluir informações confidenciais; os clientes geralmente as transmitem em cabeçalhos que podem ser registrados em log.
-
Se você estiver usando um portal do desenvolvedor para publicar as APIs, observe que todas as APIs em determinado plano de uso podem ser assinadas por clientes, mesmo que você não as tenha tornado visíveis para os clientes.
-
Em alguns casos, os clientes podem exceder as cotas definidas por você. Não dependa de planos de uso para controlar custos. Considere usar AWS Budgets para monitorar custos e AWS WAF para gerenciar solicitações de APIs.
-
Depois que você adiciona uma chave de API a um plano de uso, a operação de atualização pode levar alguns minutos para ser concluída.