O que é uma chave de API?
Uma chave de API é uma sequência alfanumérica que os desenvolvedores de API usam para controlar o acesso às suas APIs. Uma API é um mecanismo de comunicação que permite a troca de dados entre dois módulos de software. Depois de criar uma API para seu módulo, outros desenvolvedores de aplicações podem chamar sua API para integrar sua funcionalidade ao código deles. Por exemplo, você pode desenvolver um módulo que usa uma lista de itens como entrada e retorna uma lista de lojas nas quais você pode comprar os itens pelo menor preço. Uma aplicação de comércio eletrônico poderia então usar sua API para gerar uma lista de ofertas diárias de supermercado para seus clientes. Como criador da API, você usa chaves de API para restringir e monitorar seu acesso à API. A chave de API identifica o uso autorizado da API para que você possa manter, gerenciar e monetizar suas APIs com mais eficiência.
Quais são os casos de uso das chaves de API?
Os desenvolvedores de software usam chaves de API para gerenciar como as APIs que eles criam são acessadas. As chaves de API contribuem para o desenvolvimento de aplicações modernas em nuvem de várias maneiras.
Monitore o uso da API
Os provedores de API usam chaves de API para rastrear o uso e gerenciar o consumo de API, especialmente para aplicações comerciais. Eles cobram dos usuários os recursos de computação que a API consome.
Como provedor de API, é possível limitar o acesso aos serviços da API com chaves de API exclusivas. Ao permitir a passagem somente de tráfego legítimo, é possível otimizar a utilização de recursos e a capacidade de largura de banda da sua API. Você também pode analisar as estatísticas de uso de cada chave para ajustar as cotas de diferentes planos.
Solucionar problemas de integrações de API
As aplicações em nuvem podem ter problemas técnicos devido às APIs que eles usam. Os desenvolvedores de software usam chaves de API para detectar padrões de dados anormais e combinar o tráfego da API com seus respectivos provedores. Dessa forma, eles podem identificar e isolar a API específica que impede uma aplicação de se comportar corretamente.
Identifique projetos
As aplicações de software trocam dados confidenciais com serviços externos por meio de uma API. As chaves de API servem como um mecanismo de autorização de projetos para regular o uso por projetos permitidos. Para usar uma API, o projeto deve apresentar as credenciais corretas da API para acessar as funções abstratas do software. É importante observar que as chaves de API não autenticam usuários específicos. Em vez disso, eles identificam amplamente a organização associada a uma chave específica.
Como funciona uma chave de API?
A chave de API consiste em caracteres de alfabetos e números gerados aleatoriamente. Você associa uma chave de API específica a um cliente de API específico. Como o uso da API é essencialmente um módulo de software conversando com outro, as chaves são associadas a diferentes módulos de software ou aplicações que desejam se comunicar com sua API.
Quando uma aplicação envia solicitações de API, o processo funciona da seguinte maneira:
- O servidor da API valida a autenticidade do solicitante com a chave de API exclusiva
- Se a chave de API não corresponder a nenhuma das chaves permitidas, o servidor recusará a chamada de API e enviará uma mensagem de rejeição
- Se a chave de API corresponder, o servidor atenderá à solicitação e retornará a resposta esperada
Dessa forma, as chaves de API permitem que o servidor da API identifique a origem de cada chamada de API. O servidor pode, então, realizar validações subsequentes para autorizar o acesso aos dados e serviços da API.
Limitação das chamadas de API
Os provedores de API podem usar a chave de API para regular vários graus de acesso a seus serviços de API. Ao validar uma solicitação, o servidor da API pode verificar alguns parâmetros antes de permitir mais acesso a seus serviços.
Extensão do serviço
O servidor determina a extensão dos serviços que pode conceder à aplicação solicitante. Por exemplo, algumas chaves de API permitem que o solicitante adicione, exclua e leia informações do armazenamento de dados da API. Outras podem limitar as chamadas de API apenas à leitura de informações.
Escolha de funções
O servidor determina e impõe o escopo da chamada de API para personalizar os serviços de API. Por exemplo, é possível usar chaves de API para limitar uma aplicação de comércio eletrônico à pesquisa de dados de produtos em países específicos. Também é possível associar chaves de API específicas a determinados filtros paramétricos do banco de dados, como livros e roupas.
Número de chamadas
Os provedores de API também usam chaves de API para regular rigorosamente o acesso à API. Alguns provedores aplicam limites de tempo ou de solicitações às APIs. Nesses casos, a aplicação cliente só pode usar a API pela duração estipulada ou até um número máximo diário. Depois que os limites são excedidos, o servidor recusa todas as solicitações das chaves de API associadas.
Qual é a diferença entre uma chave de API e um token de API?
Uma chave de API é uma string de identificadores exclusivos destinados, principalmente, a identificar o tráfego de aplicações de clientes de API. As chaves de API geralmente estão associadas a servidores específicos, nos quais a aplicação de chamada é implantada. Quando a aplicação faz uma solicitação de API, o servidor identifica a aplicação de chamada pela chave de API.
Por outro lado, um token de API é uma string de códigos contendo dados abrangentes que identificam um usuário específico. Os tokens de API também contêm o escopo de acesso concedido a um usuário específico. Isso permite que o servidor autentique as solicitações do usuário chamador e valide a extensão do uso da API. Por exemplo, um usuário pode usar um token de autenticação única para acessar um grupo de APIs.
Gerar uma chave de API é mais simples devido ao seu papel limitado na autorização do usuário. Por outro lado, existem mais restrições e procedimentos ao conceder tokens de API porque eles contêm dados de identificação e autenticação.
Na Amazon Web Services (AWS), os tokens de API também são chamados de tokens de autenticação ou tokens de segurança. Os desenvolvedores usam permissões do IAM, um autorizador do Lambda ou um grupo de usuários do Amazon Cognito para criar tokens de API e gerenciar o acesso a suas APIs.
Quais são as práticas recomendadas para chaves de API?
Há algumas práticas recomendadas que você deve ter em mente ao usar chaves de API.
Evite usar chaves de API para autenticação de usuários. As chaves de API não se destinam a regular o acesso de usuários. Da mesma forma, não inclua informações confidenciais nas chaves de API, pois elas podem ficar visíveis durante a transmissão.
Não incorpore chaves de API diretamente em seu código-fonte ou repositório. Caso esqueça de removê-las, elas poderão ser expostas ao público ao publicar a aplicação.
Exclua as chaves de API quando não estiverem mais em uso. Considere adicionar uma validade às chaves para uma segurança de API mais robusta.
Como a AWS pode ajudar com o gerenciamento de chaves de API?
A Amazon Web Services (AWS) oferece o Amazon API Gateway para suas necessidades de gerenciamento de chaves de API.
Você pode usar o API Gateway para criar, publicar, manter, monitorar e proteger as APIs REST, HTTP e WebSocket em qualquer escala. Os desenvolvedores de API podem criar APIs que acessam a AWS ou outros serviços da Web, bem como dados armazenados na Nuvem AWS.
Depois de criar, testar e implantar suas APIs, é possível usar os planos de uso do API Gateway para disponibilizá-las como ofertas de produtos para seus clientes. Você pode configurar planos de uso e chaves de API para permitir que seus clientes acessem APIs selecionadas. E pode iniciar o controle de utilização dessas APIs com base em limites e cotas definidos.
Comece a usar o gerenciamento de chaves de API na AWS criando uma conta hoje mesmo
Próximas etapas na AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.