Minha IBM Efetue login Inscreva-se

O que é uma chave de API?

11 de junho de 2024

Autores

Gita Jackson

Staff Writer

Michael Goodwin

Editorial lead, Automation & ITOps

O que é uma chave de API?

Uma chave de API é um identificador exclusivo utilizado para autenticar softwares e sistemas que tentam acessar outros softwares ou sistemas por meio de uma interface de programação de aplicativos, ou API.

Uma API, ou interface de programação de aplicações, é um conjunto de regras ou protocolos que permitem que aplicativos de software se comuniquem entre si para trocar dados, recursos e funcionalidades. APIs dão aos proprietários de aplicações uma maneira simples e segura de disponibilizar dados e funções da aplicação para departamentos dentro da sua organização. Os proprietários de aplicações também podem compartilhar ou comercializar dados e funções para parceiros de negócios ou terceiros. As APIs permitem o compartilhamento apenas das informações necessárias, mantendo ocultos outros detalhes internos do sistema, o que auxilia na segurança do sistema.

Como as APIs podem fornecer acesso a dados confidenciais, é importante que a API possa validar se a aplicação que faz a solicitação está autorizado a fazê-lo. O uso de chaves de API permite que um desenvolvedor de aplicações autentique os aplicativos que estão chamando o back-end de uma API para garantir que eles estejam autorizados a fazê-lo.

Embora as chaves de API possam ser um aspecto de garantir que as APIs de uma empresa (e os dados que elas manipulam) estejam seguras, elas não são uma solução definitiva de segurança de API. É notável que as chaves de API não são tão seguras quanto os tokens de autenticação ou o protocolo OAuth (autorização aberta). Essas medidas são mais adequadas para autenticar usuários humanos específicos, dão às organizações um controle mais granular sobre o acesso às funções de uma API específica e podem ser configuradas para expirar.

O OAuth pode ser usado com chaves de API ou por conta própria. Às vezes, uma empresa pode usar uma chave de API para alguns usuários, mas usar OAuth para outros. Existem outros métodos de autenticação de chamadas para uma API, como JSON Web Tokens (JWT), mas eles não são tão comumente usados.

As chaves de API ainda são um aspecto útil da segurança de API, pois ajudam as organizações a monitorar chamadas para APIs e gerenciar o consumo de API, aumentando a segurança e garantindo que esses programas tenham largura de banda adequada.

Vista aérea de rodovias

Fique por dentro da nuvem 


Receba o boletim informativo semanal do Think para ver orientações especializadas sobre a otimização das configurações multinuvem na era da IA.

Como as chaves de API funcionam?

Uma chave de API é uma sequência de caracteres alfanuméricos única e gerada aleatoriamente que as APIs usam para autenticar as aplicações que estão fazendo chamadas para uma API. Cada chave que um provedor de API emite está associada a um cliente específico de API, como um módulo de software. As chaves de API permitem que um servidor de API identifique qual software e aplicações estão enviando uma chamada para a API. A chave gerada é usada para cada solicitação feita dessa aplicação ou projeto para a API associada (até que a chave seja atualizada ou excluída).

O processo funciona assim:

Quando uma aplicação faz uma chamada para uma API para solicitar funções ou dados de outra aplicação, o servidor da API usa a chave de API para validar a autenticidade da aplicação. Para aplicações web e APIs REST, a chave pode ser enviada como um cabeçalho, em uma string de consulta ou como um cookie. Se a chave de API corresponder a uma chave aprovada, o servidor retorna os dados solicitados. Caso contrário, ele nega a chamada e envia uma mensagem de rejeição.

Os desenvolvedores podem adicionar mais validações e restrições, se necessário.

Por exemplo, os desenvolvedores podem configurar direitos de acesso para uma aplicação ou projeto que permita apenas acesso a determinados tipos de dados ou funções. Os desenvolvedores também podem definir restrições de aplicações que especificam quais sites, endereços IP, aplicações (ou aplicativos móveis) e kits de desenvolvimento de software (SDKs) podem usar uma chave de API.

AI Academy

Preparando-se para a IA com a nuvem híbrida

Guiado pelos principais líderes da IBM, o conteúdo foi desenvolvido para ajudar líderes empresariais a terem o conhecimento necessário para priorizar os investimentos em IA que podem estimular o crescimento.

Chaves de API e segurança de API

Embora as chaves de API façam parte da segurança de API, elas não devem ser a única maneira de uma organização autenticar e validar as chamadas feitas para uma API. Na verdade, embora as chaves de API sejam úteis, elas não são um método especialmente seguro de autenticação de chamadas. As chaves de API podem identificar uma aplicação ou projeto específico, mas não podem validar o usuário individual que está usando a aplicação que está fazendo as chamadas. Isso torna as chaves de API uma opção ruim para impor o controle de acesso à API. As chaves de API oferecem apenas identificação e autorização do projeto, não identificação ou autorização do usuário.

Pense em uma chave de API como uma senha: ela é uma camada de segurança, mas também um ponto potencial de falha para uma violação de segurança. Como uma senha, qualquer pessoa que tenha acesso a uma chave de API pode usá-la. Não há como verificar quem está usando a chave; e as chaves raramente expiram, a menos que sejam especificamente regeneradas.

Chaves de API usadas com aplicações da web não são consideradas seguras pelo protocolo de transferência de hipertexto simples (HTTP) porque enviam credenciais não criptografadas. Para serem considerados seguros, as aplicações da web devem ter uma certificação SSL (Secure Sockets Layer), também conhecida como protocolo de transferência de hipertexto seguro (HTTPS).

Outros métodos de validação para chamadas de API incluem:

Tokens de autenticação

Também conhecidos como tokens de API, os tokens de autenticação adicionam uma camada adicional de segurança de API porque podem identificar um usuário específico, não apenas a aplicação que faz a solicitação. Esses tokens são trechos de código que identificam um usuário na API da qual ele está solicitando dados. Como são várias linhas de código em vez de uma única sequência alfanumérica, elas fornecem mais informações à API sobre qual pessoa ou projeto está fazendo uma solicitação. Os tokens de API também podem ser gerados com um escopo limitado, concedendo acesso apenas a informações específicas por um período limitado. 

Protocolo OAuth

O protocolo OAuth (autorização aberta) faz parte do método padrão do setor para autorizar e autenticar chamadas para uma API quando usado com o OpenID Connect (OIDC). O protocolo OAuth é o aspecto que concede aos usuários acesso às informações solicitadas e é usado no processo mais amplo de autenticação do usuário.

O OAuth usa um tipo de token de API chamado token de acesso. Os tokens de acesso são emitidos para os usuários pelas APIs às quais eles estão solicitando acesso. Esses tokens, por meio de uma série de comunicações entre uma API e o usuário, concedem acesso às informações específicas que o usuário solicitou sem a necessidade de compartilhar credenciais ou outras informações seguras com a API.

OpenID Connect é um protocolo de autenticação construído sobre o OAuth, que permite que o OAuth autentique usuários emitindo tokens de identidade, bem como tokens de acesso. Esses tokens de identidade também incluem informações sobre a conta específica que está fazendo a solicitação, em vez de apenas o projeto. O OpenID Connect faz pequenos ajustes no fluxo de autorização do OAuth, exigindo um token de acesso e um token de identidade antes de conceder acesso a uma API.

As chaves de API podem ser usadas com outras formas de autenticação para chamadas de API ou podem ser usadas separadamente. Dentro de uma empresa, uma API pode usar diferentes tipos de autenticação e autorização, dependendo de quem está solicitando acesso. Algumas partes de uma organização, como desenvolvedores, podem precisar de acesso irrestrito a uma API, enquanto outros departamentos precisam de um acesso mais controlado.

Quais são os tipos de chaves de API?

Existem dois tipos principais de chaves de API e ambos desempenham um papel na autenticação de chamadas de API. Às vezes, eles são até mesmo usados em conjunto.

Chaves públicas

São chaves que fornecem acesso a dados não confidenciais ou funcionalidades que não exigem autenticação do usuário. Eles podem ser compartilhados abertamente entre desenvolvedores e outros stakeholders que estão trabalhando com uma API.

Chaves privadas

As chaves privadas são usadas para acessar dados confidenciais e também podem conceder acesso de gravação ao usuário da chave. As chaves de API privadas podem ser usadas com uma chave pública para adicionar uma camada adicional de segurança.

Embora as chaves de API não devam ser o único método de autenticação de chamadas de API, o uso de chaves públicas e privadas em pares pode fornecer uma camada adicional de segurança. Quando uma chamada é feita para uma API, uma chave privada pode ser usada como uma espécie de assinatura digital para clientes específicos que precisam de acesso a funções específicas de uma API. Em seguida, a chave pública pode verificar a assinatura e reconfirmar se a chamada para a API é legítima.

Quais são os outros casos de uso das chaves de API? 

As chaves de API fornecem funções úteis dentro de uma organização além da simples autenticação. Como essas chaves ajudam a determinar o acesso à API, elas também podem ser usadas para manter as aplicações em funcionamento e fornecer dados úteis sobre como estão sendo usadas.

Bloquear tráfego anônimo

As chaves de API são um aspecto importante do gerenciamento de acesso, que permite a uma organização controlar quais usuários podem acessar suas APIs. O tráfego anônimo para uma API pode ser um indicativo de atividade maliciosa. O uso de chaves de API permite que uma organização bloqueie o acesso não autorizado às APIs, como chamadas anônimas, o que pode limitar o escopo de um possível ataque cibernético. Limitar o serviço da API dessa forma também ajuda a evitar que as APIs sejam bombardeadas com solicitações, minimizando as chances de downtime para aplicações importantes.

Controlar o número de chamadas feitas às APIs

As chaves de API podem ser usadas para restringir o tráfego de uma API, uma medida conhecida como limitação de taxa. A limitação de taxa permite que uma organização controle quantas solicitações são feitas a uma API por um cliente durante um período específico. O acesso à API é negado após o tráfego atingir o limite definido.

Ao permitir apenas o tráfego de aplicações dentro dos parâmetros definidos, a organização pode otimizar o uso de recursos de API e largura de banda. Essas configurações podem ser determinadas na documentação de API da organização.

Monitorar tendências de uso da API

Como as chaves de API são identificadores únicos, uma organização pode usá-las para rastrear o tráfego e as chamadas feitas às APIs. Ao usar chaves de API, as organizações podem rastrear cada chamada feita a uma API até uma aplicação específica. Elas também podem determinar o número de chamadas sendo feitas, o tipo de chamadas, a faixa de endereços IP do usuário e até mesmo se estão usando iOS ou Android.

A análise de padrões de uso ajuda uma organização a entender melhor quais partes de uma empresa estão acessando endpoints específicos com mais frequência. O monitoramento do tráfego e a filtragem de registros também são úteis para a segurança de API. No caso de um ataque cibernético, a verificação da atividade em um servidor de API em relação a chaves de API específicas pode dar à organização um insight mais amplo do ataque e de quais chaves podem ter sido comprometidas.

Como proteger uma chave de API

As chaves de API podem ajudar a proteger APIs, dados e redes, mas apenas quando são usadas de forma segura. Muitas organizações empregam esses métodos para garantir que suas chaves de API estejam seguras e evitem que as APIs se tornem vetores para um ataque cibernético.

Combinando vários métodos de autenticação

As chaves de API não são seguras o suficiente para serem o único meio de autenticação das chamadas de API. Elas não podem validar usuários individuais e podem ser facilmente comprometidas. As chaves de API podem adicionar uma barreira adicional de segurança ao ecossistema de APIs de uma organização quando usadas com outro método de autenticação, como OAuth, JSON Web Tokens (JWT) ou tokens de autenticação.

Não é incomum que organizações usem mais de um método de autenticação. Por exemplo, os desenvolvedores podem usar chaves de API internamente para fornecer acesso irrestrito a APIs durante o desenvolvimento, mas depois usar OAuth para clientes externos, pois ele fornece tokens que expiram e podem ser configurados para permitir apenas acesso a dados específicos.

Armazenamento seguro da chave

Quando as chaves são geradas, elas geralmente são produzidas em texto simples. Assim como uma senha, a segurança dessa chave depende de como e onde ela é armazenada. Profissionais de segurança recomendam que essas chaves sejam armazenadas como valores com hash em um banco de dados, para que não fiquem vulneráveis a roubo.

Incorporar chaves de API no código-fonte ou repositório também as torna vulneráveis a agentes mal-intencionados—quando a aplicação é publicada, as chaves também podem ficar expostas ao público. Se possível, use um cofre de dados seguro e criptografado para salvar as chaves de API geradas.

Rotação ou substituição de chaves

As chaves de API não expiram a menos que os desenvolvedores definam uma data de expiração, se o gerador da chave revogar o acesso ou regenerar a chave. Se um usuário não autorizado obtiver uma chave de API, ele poderá acessar dados sensíveis sem que ninguém dentro da organização saiba. Afinal, ele está usando a chave correta para obter os dados solicitados.

Variar e gerar novas chaves de API a cada 90 a 180 dias pode ajudar a manter as APIs seguras. Também é uma boa ideia excluir suas chaves de API que não estão mais em uso. Para uma camada extra de proteção, as organizações podem limitar o escopo de acesso das chaves de API compartilhadas com os clientes, impondo direitos de acesso. Esses direitos permitem que os usuários acessem os endpoints de que precisam e nada mais. Algumas organizações automatizam a geração de novas chaves para garantir que elas sejam rotacionadas regularmente.

Soluções relacionadas

Soluções relacionadas

IBM webMethods

Integre suas aplicações e automatize o trabalho com a plataforma de multinuvem híbrida IBM webMethods.

Explore o webMethods
Softwares e soluções de integração

Libere o potencial dos negócios com as soluções de integração da IBM, conectando aplicações e sistemas para acessar dados críticos de forma rápida e segura.

Explore soluções de cloud integration
Serviços de consultoria em nuvem 

Libere novos recursos e aumente a agilidade dos negócios com os serviços de consultoria em nuvem da IBM. Descubra como cocriar soluções, acelerar a transformação digital e otimizar o desempenho por meio de estratégias de nuvem híbrida e parcerias especializadas.

Serviço de nuvem
Dê o próximo passo

Simplifique sua jornada de transformação digital com ferramentas de integração avançadas. Descubra como as soluções líderes da IBM podem conectar, automatizar e proteger as aplicações do seu negócio.

Inicie a integração Explore soluções especializadas