# API key: O que é e como usar uma chave de API

Para que você consiga acessar um programa ou aplicativo por meio de uma interface de programação de aplicações, é preciso que esteja em posse de uma API key. Uma chave de API nada mais é que uma sequência secreta e exclusiva de caracteres que autoriza um acesso. É por meio dela que a API correspondente identifica usuários autorizados a utilizá-la, protegendo projetos e sistemas contra acessos indevidos.

## O que é API key?

Utiliza-se uma **interface de programação de aplicações** (mais conhecida por sua abreviatura, [API](https://www.ionos.com/digitalguide/websites/web-development/what-is-an-api/ "O que é API")) para a realização de conexões e intercâmbios de funções entre dois programas. APIs permitem que desenvolvedores, projetos e aplicações interajam, das mais diversas maneiras, com outros programas e serviços. Elas também são as responsáveis por controlar e monitorar acessos, solicitações e autorizações, e por determinar formatos de arquivos.

O controle e o monitoramento dos acessos são feitos por chaves de autenticação secretas e exclusivas, chamadas de API keys ou de chaves de API. Geralmente, essas chaves devem ser solicitadas ou adquiridas junto ao provedor da respectiva API. Somente estando em posse de uma delas, o servidor da API concederá o respectivo acesso aos usuários e aos aplicativos solicitantes.

## Como funciona uma API key?

Uma chave de API tem funcionamento semelhante ao de uma senha: quando uma API estabelece uma comunicação com outra API para solicitar um acesso, este acesso só é liberado mediante a apresentação da API key correspondente. Ela sempre estará associada ao serviço ou programa solicitante, e será transmitida ao servidor da API. Se o servidor confirmar a autenticidade da chave, o acesso ao programa ou à função específica é autorizado. Ainda, chaves de API podem ser usadas para possibilitar **ações entre diferentes aplicações**, por meio de interfaces de programação.

É o provedor de cada API que define **as regras de acesso, o formato dos dados e a abrangência das ações** que podem ser realizadas. Somente assim ele consegue estabelecer, com precisão, os tipos de usuário e de projeto que terão o acesso autorizado, assim como as ações suportadas pela interface de programação de aplicações. Chaves de API também podem ser incorporadas diretamente a uma linguagem de programação, como ao Python e ao JavaScript. Nesse último tipo de incorporação, usuários ou serviços devem solicitar a respectiva API key, em JavaScript, ao provedor da API.

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

Quando utilizadas, chaves de API costumam exercer as funções que seguem:

- **Identificação:** Uma API key é capaz de identificar 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 informações sobre todos os acessos autorizados e recusados.
- **Autenticação:** A troca de chaves de API permite a verificação de clientes cujo acesso é autorizado. Ela também tem a capacidade de identificar se a API solicitada está ou não ativa.
- **Autorização:** Após finalizarem a identificação do projeto ou serviço, as regras de acesso do servidor da API determinarão a abrangência do acesso concedido.

## Como solicitar ou criar uma API key?

A depender da interface de programação de aplicações utilizada, você deverá solicitar ou gerar a respectiva chave de API. As regras de acesso variam, por serem de responsabilidade de cada provedor de API, apesar de costumarem 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 desenvolvedores.
- Lá, o usuário precisará selecionar API key correspondente ao projeto em foco ou criar uma nova chave, caso não possua nenhuma.
- Para facilitar a organização, é possível que o usuário nomeie cada API key individualmente.
- Depois de gerar e atribuir uma API key, o usuário poderá então inseri-la ao site ou aplicativo que deseja, permitindo acessos e transferências de dados. Nas solicitações posteriores, o servidor da API reconhecerá automaticamente a aplicação que o chama, por portar a mesma chave de API.

Dica Quer aprender como criar API keys para diferentes aplicativos, como para o ChatGPT, o Google Maps e o YouTube? Tutoriais do nosso Digital Guide ensinam o passo a passo para você:

- [ChatGPT API](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/chatgpt-api/)
- [Google Maps API key](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/google-maps-api-key/)
- [OpenWeather API key](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/openweather-api-key/)
- [Steam API key](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/steam-api-key/)
- [YouTube API key](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/youtube-api-key/)

## Quais são as vantagens de uma API key?

API keys facilitam e agilizam a autenticação de usuários, assim como a identificação de direitos de acesso de usuários, serviços e programas. Chaves de API são especialmente úteis à comunicação de aplicações que **intercambiam dados ou realizam ações que envolvem mais de um programa**. Programadores que desenvolvem aplicações também podem se beneficiar da segurança extra oferecida por API keys sempre que configurarem acessos a programas por API. É que essas chaves de acesso, que funcionam como senhas, garantem que pessoas e programas mal-intencionados não obtenham acesso ao sistema hospedado pelo servidor da API.

Ao viabilizar processos de autenticação, tornando-os mais eficientes e complexos, API keys possibilitam a realização das seguintes **ações**:

- Registrar APIs, programas, serviços e projetos que solicitam acesso a uma determinada API.
- Definir direitos de acesso, estabelecendo as APIs a serem autorizadas e os tipos de ação e de acessos (geralmente por provedores e servidores de APIs).
- Monitorar acessos autorizados ou recusados, por meio do registro de um histórico.
- Prover mecanismo de segurança adicional por se tratarem de chaves exclusivas e secretas.
- Permitir o bloqueio de tráfegos de rede não identificados.
- Limitar o número de chamadas a uma API, controlando a carga de utilização da mesma, para evitar sobrecargas ou exageros.
- Filtrar certos tipos ou padrões de acesso e os associar a API keys especiais.

## Qual é a importância da API key para a segurança?

Por si só, uma chave de API não é considerada uma medida de segurança completa e suficiente. Pelo contrário, API keys são entendidas como itens complementares, que **adicionam mais uma camada de proteção** a procedimentos de acesso. Assim como senhas, chaves de API ficam armazenadas nos próprios clientes, correndo sério risco de serem descobertas e roubadas por hackers. Assim como uma senha, uma chave de API não criptografada pode conceder acessos não autorizados a um sistema, se for roubada. Ainda, API keys podem ser encontradas nos registros do servidor, fato conhecido por cibercriminosos em busca de brechas para a realização de ataques. Entre os mais comuns estão [ataques DDoS](https://www.ionos.com/digitalguide/server/know-how/dos-and-ddos-attack-patterns-at-a-glance/ "Padrões de ataque DoS e DDoS"), [ataques *man in the middle*](https://www.ionos.com/pt-br/digitalguide/servidor/seguranca/ataque-man-in-the-middle/) e *injections*.

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

- API keys não identificam usuários de forma direta, e sim APIs e programas que solicitam acessos.
- Ao contrário de senhas, chaves de API são geralmente armazenadas no cliente sem passar por qualquer processo de criptografia. Ainda, elas podem ser encontradas nos registros do servidor.
- Assim como uma senha, uma API key pode ser roubada por criminosos cibernéticos que têm por objetivo obter acesso a aplicações e dados.

## Como usar uma API key com segurança?

Melhorar a segurança das suas chaves de API é passo fundamental, uma vez que programas as utilizam para transmitir dados muitas vezes confidenciais, assim como para conceder acessos a aplicaçõ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 armazenadas em clientes.
- Gere uma nova API key para cada projeto ou aplicação.
- Exclua chaves de API que já não lhe são necessárias.
- Chaves de API devem ser criptografadas ao serem armazenadas, preferencialmente como *credentials at rest* (credenciais em repouso), o que dificultará possíveis tentativas 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 programadores usem [REST APIs](https://www.ionos.com/digitalguide/server/know-how/rest-the-http-solution-for-web-services/ "REST: A solução HTTP para serviços web") por [OpenAPI](https://www.ionos.com/digitalguide/websites/web-development/what-is-openapi/ "O que é OpenAPI").

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

Outro aspecto importante de chaves de API diz respeito à proteção de dados. Preocupe-se com isso sempre que você for instalar um novo aplicativo no seu celular. Muitas vezes, aqueles que solicitam permissões adicionais não deixam claro o que conseguirão acessar e sob qual pretexto. Caso o aplicativo 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á autorizado que seus dados sejam coletados** ou, no caso mais grave, que o seu dispositivo seja remotamente controlado. Por esse motivo, certifique-se de autorizar acessos somente a aplicativos confiáveis, por API. Dessa forma, você evitará que seus dados sejam indevidamente utilizados.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/api-key/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/api-key/) for AI/LLM consumption.