Para que você consiga acessar um programa ou apli­ca­tivo por meio de uma interface de pro­gra­ma­ção de apli­ca­ções, é preciso que esteja em posse de uma API key. Uma chave de API nada mais é que uma sequência secreta e exclusiva de ca­rac­te­res que autoriza um acesso. É por meio dela que a API cor­res­pon­dente iden­ti­fica usuários au­to­ri­za­dos a utilizá-la, pro­te­gendo projetos e sistemas contra acessos indevidos.

O que é API key?

Utiliza-se uma interface de pro­gra­ma­ção de apli­ca­ções (mais conhecida por sua abre­vi­a­tura, API) para a re­a­li­za­ção de conexões e in­ter­câm­bios de funções entre dois programas. APIs permitem que de­sen­vol­ve­do­res, projetos e apli­ca­ções interajam, das mais diversas maneiras, com outros programas e serviços. Elas também são as res­pon­sá­veis por controlar e monitorar acessos, so­li­ci­ta­ções e au­to­ri­za­ções, e por de­ter­mi­nar formatos de arquivos.

O controle e o mo­ni­to­ra­mento dos acessos são feitos por chaves de au­ten­ti­ca­ção secretas e ex­clu­si­vas, chamadas de API keys ou de chaves de API. Ge­ral­mente, essas chaves devem ser so­li­ci­ta­das ou ad­qui­ri­das junto ao provedor da res­pec­tiva API. Somente estando em posse de uma delas, o servidor da API concederá o res­pec­tivo acesso aos usuários e aos apli­ca­ti­vos so­li­ci­tan­tes.

Como funciona uma API key?

Uma chave de API tem fun­ci­o­na­mento se­me­lhante ao de uma senha: quando uma API es­ta­be­lece uma co­mu­ni­ca­ção com outra API para solicitar um acesso, este acesso só é liberado mediante a apre­sen­ta­ção da API key cor­res­pon­dente. Ela sempre estará associada ao serviço ou programa so­li­ci­tante, e será trans­mi­tida ao servidor da API. Se o servidor confirmar a au­ten­ti­ci­dade da chave, o acesso ao programa ou à função es­pe­cí­fica é au­to­ri­zado. Ainda, chaves de API podem ser usadas para pos­si­bi­li­tar ações entre di­fe­ren­tes apli­ca­ções, por meio de in­ter­fa­ces de pro­gra­ma­ção.

É o provedor de cada API que define as regras de acesso, o formato dos dados e a abran­gên­cia das ações que podem ser re­a­li­za­das. Somente assim ele consegue es­ta­be­le­cer, com precisão, os tipos de usuário e de projeto que terão o acesso au­to­ri­zado, assim como as ações su­por­ta­das pela interface de pro­gra­ma­ção de apli­ca­ções. Chaves de API também podem ser in­cor­po­ra­das di­re­ta­mente a uma linguagem de pro­gra­ma­ção, como ao Python e ao Ja­vaS­cript. Nesse último tipo de in­cor­po­ra­ção, usuários ou serviços devem solicitar a res­pec­tiva API key, em Ja­vaS­cript, ao provedor da API.

Quais são as funções de uma API key?

Quando uti­li­za­das, chaves de API costumam exercer as funções que seguem:

  • Iden­ti­fi­ca­ção: Uma API key é capaz de iden­ti­fi­car APIs, projetos e serviços que solicitam acesso a um servidor de API. A chave não somente registra todos que solicitam acesso, como também armazena in­for­ma­ções sobre todos os acessos au­to­ri­za­dos e recusados.
  • Au­ten­ti­ca­ção: A troca de chaves de API permite a ve­ri­fi­ca­ção de clientes cujo acesso é au­to­ri­zado. Ela também tem a ca­pa­ci­dade de iden­ti­fi­car se a API so­li­ci­tada está ou não ativa.
  • Au­to­ri­za­ção: Após fi­na­li­za­rem a iden­ti­fi­ca­ção do projeto ou serviço, as regras de acesso do servidor da API de­ter­mi­na­rão a abran­gên­cia do acesso concedido.

Como solicitar ou criar uma API key?

A depender da interface de pro­gra­ma­ção de apli­ca­ções utilizada, você deverá solicitar ou gerar a res­pec­tiva chave de API. As regras de acesso variam, por serem de res­pon­sa­bi­li­dade de cada provedor de API, apesar de cos­tu­ma­rem seguir um mesmo padrão:

  • O usuário deve acessar o site do provedor da API que deseja utilizar, fazendo login em página dedicada a de­sen­vol­ve­do­res.
  • Lá, o usuário precisará se­le­ci­o­nar API key cor­res­pon­dente ao projeto em foco ou criar uma nova chave, caso não possua nenhuma.
  • Para facilitar a or­ga­ni­za­ção, é possível que o usuário nomeie cada API key in­di­vi­du­al­mente.
  • Depois de gerar e atribuir uma API key, o usuário poderá então inseri-la ao site ou apli­ca­tivo que deseja, per­mi­tindo acessos e trans­fe­rên­cias de dados. Nas so­li­ci­ta­ções pos­te­ri­o­res, o servidor da API re­co­nhe­cerá au­to­ma­ti­ca­mente a aplicação que o chama, por portar a mesma chave de API.
Dica

Quer aprender como criar API keys para di­fe­ren­tes apli­ca­ti­vos, como para o ChatGPT, o Google Maps e o YouTube? Tutoriais do nosso Digital Guide ensinam o passo a passo para você:

Quais são as vantagens de uma API key?

API keys facilitam e agilizam a au­ten­ti­ca­ção de usuários, assim como a iden­ti­fi­ca­ção de direitos de acesso de usuários, serviços e programas. Chaves de API são es­pe­ci­al­mente úteis à co­mu­ni­ca­ção de apli­ca­ções que in­ter­cam­biam dados ou realizam ações que envolvem mais de um programa. Pro­gra­ma­do­res que de­sen­vol­vem apli­ca­ções também podem se be­ne­fi­ciar da segurança extra oferecida por API keys sempre que con­fi­gu­ra­rem acessos a programas por API. É que essas chaves de acesso, que funcionam como senhas, garantem que pessoas e programas mal-in­ten­ci­o­na­dos não obtenham acesso ao sistema hospedado pelo servidor da API.

Ao vi­a­bi­li­zar processos de au­ten­ti­ca­ção, tornando-os mais efi­ci­en­tes e complexos, API keys pos­si­bi­li­tam a re­a­li­za­ção das seguintes ações:

  • Registrar APIs, programas, serviços e projetos que solicitam acesso a uma de­ter­mi­nada API.
  • Definir direitos de acesso, es­ta­be­le­cendo as APIs a serem au­to­ri­za­das e os tipos de ação e de acessos (ge­ral­mente por pro­ve­do­res e ser­vi­do­res de APIs).
  • Monitorar acessos au­to­ri­za­dos ou recusados, por meio do registro de um histórico.
  • Prover mecanismo de segurança adicional por se tratarem de chaves ex­clu­si­vas e secretas.
  • Permitir o bloqueio de tráfegos de rede não iden­ti­fi­ca­dos.
  • Limitar o número de chamadas a uma API, con­tro­lando a carga de uti­li­za­ção da mesma, para evitar so­bre­car­gas ou exageros.
  • Filtrar certos tipos ou padrões de acesso e os associar a API keys especiais.

Qual é a im­por­tân­cia da API key para a segurança?

Por si só, uma chave de API não é con­si­de­rada uma medida de segurança completa e su­fi­ci­ente. Pelo contrário, API keys são en­ten­di­das como itens com­ple­men­ta­res, que adicionam mais uma camada de proteção a pro­ce­di­men­tos de acesso. Assim como senhas, chaves de API ficam ar­ma­ze­na­das nos próprios clientes, correndo sério risco de serem des­co­ber­tas e roubadas por hackers. Assim como uma senha, uma chave de API não crip­to­gra­fada pode conceder acessos não au­to­ri­za­dos a um sistema, se for roubada. Ainda, API keys podem ser en­con­tra­das nos registros do servidor, fato conhecido por ci­ber­cri­mi­no­sos em busca de brechas para a re­a­li­za­ção de ataques. Entre os mais comuns estão ataques DDoS, ataques man in the middle e in­jec­ti­ons.

Sempre que você for fazer uso de uma API key, procure se atentar aos seguintes aspectos de proteção:

  • API keys não iden­ti­fi­cam usuários de forma direta, e sim APIs e programas que solicitam acessos.
  • Ao contrário de senhas, chaves de API são ge­ral­mente ar­ma­ze­na­das no cliente sem passar por qualquer processo de crip­to­gra­fia. Ainda, elas podem ser en­con­tra­das nos registros do servidor.
  • Assim como uma senha, uma API key pode ser roubada por cri­mi­no­sos ci­ber­né­ti­cos que têm por objetivo obter acesso a apli­ca­ções e dados.
API IONOS grátis
Atu­a­li­za­ção de domínio, DNS, SSL, con­fi­gu­ra­ções e mais com a API da IONOS.
  • Ge­ren­ci­a­mento DNS
  • Admin SSL fácil
  • Do­cu­men­ta­ção API

Como usar uma API key com segurança?

Melhorar a segurança das suas chaves de API é passo fun­da­men­tal, uma vez que programas as utilizam para trans­mi­tir dados muitas vezes con­fi­den­ci­ais, assim como para conceder acessos a apli­ca­ções internas. Listamos, abaixo, algumas medidas de segurança que podem ajudar você a proteger as suas chaves de API:

  • Restrinja e proteja o acesso às API keys que são ar­ma­ze­na­das em clientes.
  • Gere uma nova API key para cada projeto ou aplicação.
  • Exclua chaves de API que já não lhe são ne­ces­sá­rias.
  • Chaves de API devem ser crip­to­gra­fa­das ao serem ar­ma­ze­na­das, pre­fe­ren­ci­al­mente como cre­den­ti­als at rest (cre­den­ci­ais em repouso), o que di­fi­cul­tará possíveis ten­ta­ti­vas de invasão.
  • Não incorpore suas chaves de API de forma clara ou legível na estrutura do seu código, já que ele pode ser acessado por terceiros.
  • Monitore o uso das suas API keys, por exemplo, caso vários pro­gra­ma­do­res usem REST APIs por OpenAPI.

Qual é a relação entre API keys e a proteção de dados?

Outro aspecto im­por­tante de chaves de API diz respeito à proteção de dados. Preocupe-se com isso sempre que você for instalar um novo apli­ca­tivo no seu celular. Muitas vezes, aqueles que solicitam per­mis­sões adi­ci­o­nais não deixam claro o que con­se­gui­rão acessar e sob qual pretexto. Caso o apli­ca­tivo por você baixado seja malicioso, este poderá obter acesso a muitos dos seus dados, como ao Facebook, às suas fotos e à memória do seu celular. No fim, você terá au­to­ri­zado que seus dados sejam coletados ou, no caso mais grave, que o seu dis­po­si­tivo seja re­mo­ta­mente con­tro­lado. Por esse motivo, cer­ti­fi­que-se de autorizar acessos somente a apli­ca­ti­vos con­fiá­veis, por API. Dessa forma, você evitará que seus dados sejam in­de­vi­da­mente uti­li­za­dos.

Ir para o menu principal