O que é que o YouTube, o Google Maps, o X, o Spotify e o OpenWeatherMap têm em comum? Pode incorporar o conteúdo fora dos seus ambientes nativos. Isto é possível graças às interfaces de programação de aplicações (APIs).
As APIs são, efetivamente, o meio de comunicação entre dois tipos de software, como o seu site, por exemplo, e aquela playlist do Spotify que quer incorporar. Dão-lhe acesso alargado a públicos e a ferramentas digitais. No entanto, tal como num prédio com acesso restrito, também deve limitar a quem dá as suas autorizações para evitar usos indevidos. É aqui que as chaves de API entram em ação.
O que é uma chave de API?
Uma chave de API é um identificador único que pode autenticar as solicitações que faz a uma interface de programação de aplicações (API). A tecnologia de API permite que versões de um produto de software apareçam em sites de terceiros.
Se já pressionou play numa playlist do Spotify, num blogue ou interagiu com um widget do Google Maps no site de um hotel, já usou uma API. E o site fez uso de uma chave de API para aceder a essa API e aos seus dados.
As chaves de API podem proteger a interface fazendo com que apenas determinados utilizadores ou aplicações autorizadas possam aceder e interagir com a API. Uma chave de API específica, ou API privada, controla o acesso a serviços ou dados. Na sua essência, uma API é uma forma de autenticação de utilizadores, que valida a autorização de uma pessoa ou entidade.
Chaves de API públicas vs. privadas
As chaves de API podem identificar projetos, dar autorizações de projeto e gerir o uso de aplicações. Também permitem que os provedores de API definam limites sobre quem pode aceder às informações e quantas vezes, tal pode evitar abusos, como spam ou violação de dados. Há 2 principais tipos de chaves que controlam as chamadas de API: chaves públicas e chaves privadas. Veja como se comparam em segurança e confidencialidade:
Segurança
O uso de aplicações públicas raramente requer a troca de dados ultrassecretos, portanto, as chaves de API públicas não oferecem os níveis de proteção mais fortes.
As chaves de API privadas são mais seguras, e normalmente pode usá-las para aceder a dados sensíveis ou realizar operações críticas dentro de uma API. Habitualmente, fazem parte de aplicações proprietárias ou de ferramentas internas de manutenção de registos que exigem chaves de API para fins de segurança. As chaves de API privadas também podem exigir um token secreto ou outros mecanismos de segurança para aprimorar o acompanhamento de uso da aplicação e prevenir acesso não autorizado. Ademais, permitem filtrar logs (ao analisar subconjuntos de dados dependendo de diferentes critérios) para acompanhar o comportamento de aplicações autorizadas e detetar qualquer uso indevido.
Confidencialidade
Qualquer pessoa pode aceder a chaves de API públicas. Pode ver caracteres gerados aleatoriamente no cabeçalho da solicitação ou na string de consulta da URL durante uma chamada de API. Se prestar atenção ao URL mais longo de um vídeo incorporado do YouTube, é possível que note chaves de API únicas no final.
Não deve partilhar chaves de API privadas, que a aplicação armazena em segurança, com ninguém.
Como funcionam as chaves de API
As chaves de API desempenham um papel essencial na garantia da segurança da sua interface de programação de aplicações. Oferecem controlo de acesso para que apenas os utilizadores e aplicações aprovados possam aceder aos dados sensíveis dentro de uma API. Eis um resumo de como as chaves de API identificam utilizadores e lhes concedem acesso:
Geração
Um provedor de API gera uma sequência de caracteres para cada utilizador ou aplicação que precisa de aceder à API. Esta chave de API única atua como uma credencial, comprova que a solicitação provém de uma fonte autorizada.
Autenticação
Quando um utilizador faz uma solicitação de API, é incluída uma chave de API. O servidor da API verifica a chave de API num banco de dados de chaves autorizadas. Se a chave for válida, o servidor dá acesso à API. Sempre que forem detetadas chaves inválidas ou ausentes, o provedor de API nega o acesso.
Acesso à aplicação
Se as solicitações de API forem aprovadas, o servidor da API autoriza o acesso aos recursos. O nível de acesso e uso da API depende das permissões da chave. Por exemplo, se a chave de API identificar o solicitante como uma conta de developer, o servidor pode dar-lhe acesso total. Caso a chave identifique tráfego de aplicações de terceiros, tal pode resultar num acesso muito mais limitado aos serviços da API.
Limitação de taxa
Para prevenir abusos e garantir um uso justo, os provedores de API costumam implementar uma limitação de taxa, ou um limite de quantas vezes uma aplicação pode fazer solicitações dentro de um determinado período, o que faz com que o consumo de API se mantenha em níveis razoáveis. A limitação de taxa faz com que muitas pessoas e aplicações diferentes tenham acesso à API.
Segurança
Embora as chaves de API sirvam como uma forma de autenticação básica, também pode combiná-las com outros mecanismos de segurança, como: listas de permissões de IP, criptografia ou os tokens OAuth, para identificar o tráfego da aplicação e aprimorar a segurança. Seja qual for a situação, deve tratar as chaves de API como informações sensíveis e mantê-las confidenciais. Nunca deve partilhá-las publicamente ou codificá-las diretamente nas aplicações.
Usos comuns para chaves de API
- Controlar o acesso
- Autorização do utilizador
- Identificar padrões de uso
- Bloquear tráfego não autorizado
- Automatizar integrações e tarefas de aplicação
Os administradores de sistema usam chaves de API para controlar o acesso a APIs, garantir a segurança e facilitar integrações de API. Estas chaves oferecem uma linha de segurança fundamental contra ladrões de dados e aplicações de terceiros que, de outra forma, poderiam sobrecarregar uma API. Aqui estão algumas das formas de utilização de chaves de API mais comuns:
Controlar o acesso
As chaves de API controlam o acesso aos dados ou serviços de uma API, fazendo com que apenas as aplicações autorizadas possam fazer chamadas de API. Quando um produtor de API faculta uma chave a uma aplicação solicitante, está a permitir que essa aplicação interaja com os seus serviços, como recuperar dados ou executar ações específicas.
As chaves de API privadas são especialmente importantes para proteger dados sensíveis, enquanto as chaves de API públicas são adequadas para operações menos sensíveis. As chaves de API de projeto em plataformas como o Console da Google Cloud Platform permitem aos developers controlarem o acesso com base em projetos específicos.
Autorização do utilizador
As chaves de API também podem ser combinadas com tokens de autenticação para uma autorização segura. Isto faz com que apenas os utilizadores autenticados e autorizados possam interagir com a API. O uso de chaves (seja ou não necessário um token de autenticação seguro) irá bloquear o tráfego anónimo e funcionar como uma proteção contra atividades potencialmente maliciosas.
Identificar padrões de uso
As chaves de API ajudam os provedores de API a identificar padrões de uso ao acompanhar quais os utilizadores individuais ou aplicações que estão por trás de uma chamada de API. Este acompanhamento permite aos provedores monitorizarem o uso da aplicação, estabelecer limites de taxa e otimizarem o serviço no geral. Por exemplo, as chaves de API do YouTube identificam a frequência com que determinadas aplicações acedem a vídeos ou dados, e as chaves de API do Google Maps podem acompanhar solicitações de dados de localização.
Bloquear tráfego não autorizado
As chaves de API podem bloquear tráfego anónimo ao processar apenas solicitações com uma chave de API válida. As chaves de API privadas garantem que apenas o tráfego legítimo obtém acesso, como tal bloqueia as restantes solicitações para prevenir atividades potencialmente maliciosas.
Automatizar integrações e tarefas de aplicação
Pode usar as chaves de API para automatizar tarefas de software ou sistemas que precisam de se integrar com serviços de terceiros. Por exemplo, os developers implementam chaves de API para automatizar a recuperação de dados de fontes externas, como usar chaves de API do YouTube para extrair dados de vídeo para uma aplicação. A gestão de chaves de API ajuda a manter estas integrações seguras e confiáveis.
Melhores práticas para usar chaves de API
O uso seguro e eficiente das chaves de API impede o acesso não autorizado de utilizadores mal-intencionados e permitir-lhe-á que mantenha o controlo sobre chamadas de API e autorizações de projeto. Aqui estão algumas das melhores práticas a serem implementadas ao usar chaves de API:
1. Armazene as suas chaves de API com segurança
Nunca armazene chaves de API em texto simples dentro da sua aplicação. Em vez disso, use métodos seguros como variáveis de ambiente ou arquivos de configuração criptografados para as proteger.
2. Limite o acesso quando possível
Conceda às chaves de API (apenas) as permissões necessárias para executarem as funções pretendidas, pois conceder um acesso mais amplo pode ter consequências menos boas.
3. Altere as suas chaves de API regularmente
Tal como os utilizadores da internet devem alterar as suas palavras-passe, os administradores de sistema devem regenerar periodicamente as chaves de API para reduzir o risco de acesso não autorizado.
4. Acompanhe o uso das chaves
Acompanhe os padrões de uso das chaves de API para detetar possíveis violações de segurança ou acesso não autorizado.
5. Implemente a limitação de taxa
Limite o número de solicitações que um utilizador pode fazer através de uma chave de API, dentro de um determinado período, para evitar abusos e garantir um uso justo, assim evita que o seu software “trave” por conta de uma enxurrada de solicitações.
6. Use ferramentas de gestão de chaves de API
Experimente usar ferramentas especializadas de gestão de chaves de API para simplificar o processo de gerar, armazenar, alterar e revogar chaves.
Perguntas frequentes sobre o que é uma chave de API
Como pode armazenar as chaves de API?
Armazene chaves de API com segurança. Guarde-as através de variáveis de ambiente, arquivos de configuração criptografados ou ferramentas especializadas em gestão de chaves de API. Nunca codifique uma chave de API diretamente no código-fonte.
O que é uma chave de API de forma resumida?
Uma chave de API autentica e autoriza aplicações para acesso e interação com os dados ou serviços de uma API. Garantem que apenas os utilizadores aprovados (sejam indivíduos ou aplicações) podem fazer solicitações de API.
Quem precisa de uma chave de API?
Se precisa de aceder a dados ou a funcionalidades de uma interface de programação de aplicações (API) baseada na web, é certo que precisa de uma chave de API para facultar esse acesso.

