Como usar chaves de API

Neste guia, mostramos como criar e configurar restrições de chaves de API em aplicativos de GCP. Para saber mais sobre a autenticação de uma API GCP, consulte Visão geral da autenticação. Para informações sobre como configurar chaves de API para o Google Maps, consulte a documentação do Google Maps.

As chaves de API são strings criptografadas simples, utilizadas quando você chama determinadas APIs que não precisam acessar dados particulares de usuários. Essas chaves são úteis em clientes como aplicativos móveis e navegadores que não têm um servidor de back-end. A chave de API é usada para rastrear solicitações de APIs associadas ao projeto para cota e faturamento.

As chaves de API têm limitações importantes:

Por isso, recomendamos usar o fluxo de autenticação padrão. No entanto, há casos limitados em que as chaves de API são mais apropriadas. Por exemplo, para desenvolver um aplicativo móvel que use a API Google Cloud Translation sem um servidor de back-end, as chaves de API são a maneira mais simples de fazer a autenticação. Na maioria dos casos, é recomendável que o aplicativo se comunique com um servidor de back-end que processe a autenticação e a chamada dos serviços do Google Cloud Platform.

Como criar uma chave de API

Para criar uma chave de API, a conta deve receber o papel Editor primitivo (roles/editor) no projeto atual. Para mais informações, consulte Papéis primários.

Para criar uma chave de API, siga estas etapas:

  1. Acesse o painel APIs e serviços→Credenciais no Console do GCP.

  2. Selecione Criar credenciais e, em seguida, selecione a chave da API no menu suspenso.

  3. Clique no botão Criar. A chave recém-criada será exibida na caixa de diálogo Chave de API criada.

Copie sua chave e mantenha em segurança. A menos que você esteja usando uma chave de teste que queira excluir mais tarde, adicione restrições de aplicativo e chave de API.

Como usar uma chave de API

Passe a chave de API em uma chamada da REST API como um parâmetro de consulta com o formato a seguir. Substitua API_KEY pela sua chave de API

key=API_KEY

Por exemplo, para passar uma chave de API de uma solicitação da API Cloud Natural Language para documents.analyzeEntities:

POST https://language.googleapis.com/v1/documents:analyzeEntities?key=API_KEY

Como proteger uma chave de API

Ao usar as chaves de API nos aplicativos, tome cuidado para mantê-las em segurança. A exposição das credenciais resulta no comprometimento da sua conta, o que pode gerar cobranças inesperadas. Para manter as chaves de API em segurança, siga estas práticas recomendadas:

  • Não incorpore as chaves de API diretamente no código, elas podem ser expostas acidentalmente. Por exemplo, caso você se esqueça de remover as chaves do código compartilhado. Em vez de incorporá-las nos aplicativos, armazene essas chaves em variáveis de ambiente ou em arquivos fora da árvore de origem do seu aplicativo.

  • Não armazene as chaves de API em arquivos dentro da árvore de origem do aplicativo. Se essas chaves forem mantidas em arquivos, mantenha esses arquivos fora da árvore de origem do aplicativo, para garantir que as chaves não fiquem no sistema de controle do código-fonte. Isso é particularmente importante quando é usado um sistema de gerenciamento de código-fonte público como o GitHub.

  • Configure restrições de aplicativo e chave de API. Ao adicionar restrições, você pode reduzir o impacto de uma chave de API comprometida.

  • Exclua chaves de API desnecessárias para minimizar a exposição a ataques.

  • Regenere as chaves de API periodicamente. Para isso, na página "Credenciais", clique em Regenerar chave para cada uma das chaves. Em seguida, atualize seus aplicativos para que as chaves recém-geradas sejam usadas. As chaves antigas continuarão a funcionar 24 horas após você gerar as chaves de substituição.

  • Revise o código antes de liberá-lo publicamente. O código não deve conter chaves de API ou outras informações confidenciais ao ser disponibilizado publicamente.

Como adicionar restrições às chaves de API

Por padrão, uma chave de API não tem restrições. As chaves sem restrições não são seguras porque podem ser visualizadas publicamente, como em um navegador, ou acessadas no dispositivo em que elas residem.

Para aplicativos de produção, defina restrições do aplicativo e da API.

Para adicionar restrições de chave de API:

  1. Acesse o painel APIs e serviços→Credenciais no Console do GCP.

  2. Selecione o nome de uma chave de API existente. A seção de restrições é exibida na parte inferior da página.

    Adicionar chave de API

Restrições de aplicativo

As restrições de aplicativo especificam quais sites, endereços IP ou apps podem usar uma chave de API. Adicione restrições de aplicativo com base no tipo de aplicativo. Só é possível definir um tipo de restrição por chave de API.

  1. Selecione a guia Restrições do aplicativo na seção Restrições da chave.

  2. Escolha o tipo de restrição com base nas necessidades do aplicativo. Para adicionar mais de um valor a qualquer restrição, digite o primeiro valor e pressione a tecla Enter. Repita para adicionar valores.

    • Use Nenhum apenas para fins de teste.

    • Use indicações HTTP para clientes de API executados em um navegador da Web. Dessa maneira, somente as páginas especificadas podem chamar a API. Esses tipos de aplicativos expõem as chaves de API publicamente. Por isso, recomendamos usar uma conta de serviço. Consulte Como adicionar restrições de HTTP para exemplos.

    • Use endereços IP para limitar o acesso a chaves de API a determinados endereços IP.

    • Use apps Android para aplicativos Android. Essa opção obriga a adicionar o nome do pacote e a impressão digital do certificado de assinatura SHA-1.

    • Use apps iOS para aplicativos iOS. Essa opção obriga a adicionar pelo menos um identificador de pacote iOS para restringir chamadas de API a pacotes do iOS específicos.

  3. Selecione o botão Salvar.

Como adicionar restrições HTTP

Para adicionar restrições HTTP, siga estas etapas:

  • Insira pelo menos uma restrição no campo de formulário.

  • Se o domínio der suporte a HTTP e HTTPS, as restrições deverão ser adicionadas separadamente.

  • Para adicionar mais de um valor, digite o primeiro valor e pressione a tecla Enter. Repita para adicionar valores.

    Restrições de indicação HTTP

  • Também é possível usar caracteres curinga (*) para o subdomínio e/ou o caminho.

A tabela a seguir mostra cenários e restrições de exemplo, do mais restritivo ao menos restritivo. Recomendamos usar o exemplo mais restritivo adequado ao caso de uso.

Cenário Restrições
Permitir um URL específico.

Adicione uma única restrição a um caminho exato. Exemplo:

  • https://www.example.com/path
  • http://www.example.com/path/path
Permitir qualquer URL em um único subdomínio ou domínio sem "www".

Defina pelo menos duas restrições para permitir um domínio inteiro.

  1. Defina uma restrição para o domínio, sem a barra à direita. Exemplo:
    • https://www.example.com
    • http://sub.example.com
    • http://example.com
  2. Defina uma segunda restrição para o domínio que inclui um curinga para o caminho. Exemplo:
    • https://www.example.com/*
    • http://sub.example.com/*
    • http://example.com/*
  3. Se o domínio permitir HTTP e HTTPS, você deverá adicionar restrições separadamente.
Permitir todos os URLs de subdomínio em um único domínio.

Defina pelo menos duas restrições.

  1. Defina uma restrição para o domínio, com um caractere curinga para o subdomínio e sem a barra à direita. Exemplo:
    • https://*.example.com
  2. Defina uma segunda restrição para o domínio que inclui um curinga para o caminho, como:
    • https://*.example.com/*
  3. Se o domínio permitir HTTP e HTTPS, você deverá adicionar restrições separadamente.

Restrições da API

As restrições da API especificam quais APIs podem ser chamadas com a chave de API. Todas as chaves de API usadas em aplicativos de produção devem usar restrições da API.

Para definir restrições da API, siga estas etapas:

  1. Selecione a guia Restrições da API na seção Restrições da chave.

  2. Selecione o nome de uma API na lista suspensa.

  3. Repita a etapa anterior para todas as APIs que a chave de API precisa chamar.

  4. Selecione o botão Salvar.

Como ver chaves de API existentes

Use o Console do GCP para ver as chaves de API existentes. Depois de navegar para o painel APIs e serviços→Credenciais no Console do GCP, as chaves de API serão exibidas sob o cabeçalho Chaves de API.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…