Autenticar usando chaves de API

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, descrevemos como usar chaves de API para autenticar serviços e APIs do Google Cloud.

Para informações sobre o uso de chaves de API para autenticação na Plataforma Google Maps, consulte a documentação da Plataforma Google Maps.

Para mais informações sobre a API de chaves de API, consulte a documentação da API de chaves de API.

Introdução às chaves de API

Uma chave de API tem os seguintes componentes, que você usa para gerenciar e usar a chave:

String
A string da chave de API é uma string criptografada. Por exemplo, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Ao usar uma chave de API para autenticar, você sempre usará a string da chave. As chaves de API não têm um arquivo JSON associado.
ID
O ID da chave de API é usado pelas ferramentas administrativas do Google Cloud para identificar a chave de forma exclusiva. O ID da chave não pode ser usado para autenticação. O ID da chave pode ser encontrado no URL da página de edição da chave no Console do Google Cloud ou usando a Google Cloud CLI para listar as chaves do projeto.
Nome de exibição
O nome de exibição é um nome opcional e descritivo para a chave. É possível definir esse campo ao criar ou atualizar a chave.

Quando você usa uma chave de API para autenticar uma API, ela não identifica um principal nem fornece informações de autorização. A chave de API associa a solicitação a um projeto do Google Cloud para fins de faturamento e cota. Como as chaves de API não identificam o autor da chamada, elas geralmente são usadas para acessar dados ou recursos públicos.

Muitas APIs do Google Cloud não aceitam chaves de API para autenticação. Leia a documentação de autenticação do serviço ou da API que você quer usar para determinar se ele é compatível com chaves de API.

Para gerenciar chaves de API, é necessário ter o papel Administrador de chaves de API (roles/serviceusage.apiKeysAdmin) no projeto.

Criar uma chave de API

Para criar uma chave de API, use uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página "Credenciais":

    Ir para Credenciais

  2. Clique em Criar credenciais e, em seguida, selecione a chave de API no menu suspenso.

    A caixa de diálogo Chave de API criada exibirá a string da chave recém-criada.

gcloud

Use o comando gcloud alpha services api-keys create para criar uma chave de API.

Substitua DISPLAY_NAME por um nome descritivo para a chave.

gcloud alpha services api-keys create --display-name=DISPLAY_NAME

REST

Use o método keys.create para criar uma chave de API. Essa solicitação retorna uma operação de longa duração. você precisa pesquisar a operação para receber as informações da nova chave.

Substitua os seguintes valores:

  • DISPLAY_NAME: opcional. Um nome descritivo para a chave.
  • PROJECT_ID: o nome ou ID do projeto do Google Cloud.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d {'"displayName" : "DISPLAY_NAME"'} \
"https://apikeys.googleapis.com/v2/projects/PROJECT/locations/global/keys"

Para mais informações sobre como criar chaves de API usando a API REST, consulte Como criar uma chave de API na documentação da API.

Copie sua chave e mantenha-a 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.

Usar uma chave de API

É possível usar chaves de API com solicitações REST e com bibliotecas de cliente compatíveis.

Usar uma chave de API com REST

É possível transmitir a chave de API para uma chamada da API REST como um parâmetro de consulta com o seguinte formato. Substitua API_KEY pela string da sua chave de API.

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

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

Como alternativa, é possível usar o cabeçalho x-goog-api-key para transmitir sua chave. Esse cabeçalho precisa ser usado com solicitações gRPC.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "X-goog-api-key: API_KEY" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://translation.googleapis.com/language/translate/v2"

Usar uma chave de API com bibliotecas de cliente

Quando a API de um serviço oferece suporte a chaves de API, a biblioteca de cliente desse serviço geralmente faz o mesmo. Verifique a documentação da biblioteca de cliente para ver se o método de criação do cliente aceita uma chave de API.

Proteger uma chave de API

Ao usar chaves de API nos seus aplicativos, garanta que elas sejam mantidas em segurança durante o armazenamento e a transmissão. A exposição pública das chaves de API pode levar a cobranças inesperadas na sua conta. Para manter as chaves de API em segurança, siga estas práticas recomendadas:

  • Adicione restrições da chave de API à sua chave.

    Ao adicionar restrições, é possível limitar como uma chave de API pode ser usada, reduzindo o impacto de uma chave de API comprometida.

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

  • Recrie as chaves de API periodicamente.

    Crie periodicamente novas chaves de API, exclua as antigas e atualize os aplicativos para usar as novas chaves.

Aplicar restrições de chave API

As chaves de API são irrestritas por padrão. As chaves irrestritas não são seguras porque podem ser usadas por qualquer pessoa e de qualquer lugar. Para aplicativos de produção, defina as restrições de aplicativos e as restrições de API.

Adicionar restrições ao aplicativo

As restrições de aplicativo especificam quais sites, endereços IP ou apps podem usar uma chave de API.

Só é possível aplicar um tipo de restrição de aplicativo por vez. Escolha o tipo de restrição com base nas necessidades do aplicativo.

Opção Application type Observações
Referenciadores HTTP Aplicativos da Web Especifica os sites que podem usar a chave.
Endereços IP Aplicativos chamados por servidores específicos Especifica os servidores ou cron jobs que podem usar a chave.
Apps Android Aplicativos Android Especifica o app Android que pode usar a chave.
Apps iOS Aplicativos iOS Especifica os pacotes do iOS que podem usar a chave.

Referenciadores HTTP

Para restringir os sites que podem usar a chave de API, adicione uma ou mais restrições de referenciadores de HTTP.

É possível substituir um caractere curinga (*) pelo subdomínio ou pelo caminho, mas não é possível inserir um caractere curinga no meio do URL. Por exemplo, *.google.com é válido e aceita todos os sites que terminam em .google.com. No entanto, mysubdomain*.google.com não é uma restrição válida.

Os números de porta podem ser incluídos em restrições de referenciadores de HTTP. Se você incluir um número de porta, apenas as solicitações que usam essa porta serão correspondidas. Se você não especificar um número de porta, as solicitações de qualquer número de porta serão correspondidas.

É possível adicionar até 1.200 referenciadores HTTP a uma chave de API.

A tabela a seguir mostra alguns exemplos de cenários e restrições do navegador:

Cenário Restrições
Permitir um URL específico Adicione um URL com um caminho exato. Por exemplo:
www.example.com/path
www.example.com/path/path
Permitir qualquer URL no site É preciso definir dois URLs na lista "allowedReferers".
  1. URL do domínio, sem um subdomínio e com um caractere curinga no caminho. Por exemplo:
    example.com/*
  2. Um segundo URL que inclui um caractere curinga para o subdomínio e um curinga para o caminho. Por exemplo:
    *.example.com/*
Permitir qualquer URL em um único subdomínio ou domínio sem "www".

É preciso definir dois URLs na lista "allowedReferers" para permitir um domínio inteiro:

  1. URL para o domínio, sem uma barra no final. Por exemplo:
    www.example.com
    sub.example.com
    example.com
  2. Um segundo URL para o domínio que inclui um caractere curinga no caminho. Por exemplo:
    www.example.com/*
    sub.example.com/*
    example.com/*

Para restringir sua chave de API a sites específicos, use uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página "Credenciais":

    Ir para Credenciais

  2. Clique no nome da chave de API que você quer restringir..

  3. Em Restrições de aplicativo, selecione Referenciadores HTTP.

  4. Para cada restrição que você quiser adicionar, clique em Adicionar um item, insira a restrição e clique em Concluído.

  5. Clique em Salvar para salvar as mudanças e retornar à lista de chaves de API..

gcloud

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Para conseguir o ID, use o comando gcloud services api-keys list para listar as chaves do projeto.

  2. Use o comando gcloud alpha services api-keys update para adicionar restrições de referenciadores de HTTP a uma chave de API.

    Substitua os seguintes valores:

    • KEY_ID: o ID da chave que você quer restringir.
    • ALLOWED_REFERRER_1: a restrição do referenciador de HTTP.

      Você pode adicionar quantas restrições forem necessárias. use vírgulas para separar as restrições. É necessário fornecer todas as restrições do referenciador com o comando update. as restrições de referenciadores ocorridas substituem todas as restrições de referenciador atuais na chave.

    gcloud alpha services api-keys update KEY_ID \
     --allowed-referrers="ALLOWED_REFERRER_1"
    

REST

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Você pode conseguir o ID usando o método keys.list. O ID é listado no campo uid da resposta.

    Substitua PROJECT_ID pelo ID ou número do projeto do Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Use o método keys.patch para adicionar restrições de referenciadores de HTTP à chave de API.

    Essa solicitação retorna uma operação de longa duração. Você precisa pesquisar a operação para saber quando ela é concluída e conferir o status dela.

    Substitua os seguintes valores:

    • ALLOWED_REFERRER_1: a restrição do referenciador de HTTP.

      Você pode adicionar quantas restrições forem necessárias. use vírgulas para separar as restrições. É necessário fornecer todas as restrições do referenciador com a solicitação. as restrições do referenciador fornecidas substituem todas as restrições de referenciador atuais na chave.

    • PROJECT_ID: o nome ou ID do projeto do Google Cloud.

    • KEY_ID: o ID da chave que você quer restringir.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "browserKeyRestrictions": {
      "allowedReferrers": ["ALLOWED_REFERRER_1"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Para mais informações sobre como adicionar restrições de referenciadores de HTTP a uma chave usando a API REST, consulte Como adicionar restrições de navegador na documentação da API de chave de API.

Endereços IP

Especifique um ou mais endereços IP dos autores da chamada, como servidores da Web ou cron jobs, que podem usar a chave de API. É possível especificar os endereços IP em qualquer um dos seguintes formatos:

  • IPv4 (198.51.100.1)
  • IPv6 (2001:db8::1)
  • Uma sub-rede usando a notação CIDR (198.51.100.0/24, 2001:db8::/64)

O uso de localhost não é compatível com restrições de servidor. É preciso especificar um endereço IP externo.

Para restringir sua chave de API a endereços IP específicos, use uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página "Credenciais":

    Ir para Credenciais

  2. Clique no nome da chave de API que você quer restringir..

  3. Em Restrições de aplicativo, selecione Endereços IP.

  4. Para cada endereço IP que você quiser adicionar, clique em Adicionar um item, insira o endereço e clique em Concluído.

  5. Clique em Salvar para salvar as mudanças e retornar à lista de chaves de API..

gcloud

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Para conseguir o ID, use o comando gcloud services api-keys list para listar as chaves do projeto.

  2. Use o comando gcloud alpha services api-keys update para adicionar restrições de servidor (endereço IP) a uma chave de API.

    Substitua os seguintes valores:

    • KEY_ID: o ID da chave que você quer restringir.
    • ALLOWED_IP_ADDR_1: seu endereço IP permitido.

      Você pode adicionar quantos endereços IP forem necessários. use vírgulas para separar os endereços.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-ips="ALLOWED_IP_ADDR_1"
    

REST

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Você pode conseguir o ID usando o método keys.list. O ID é listado no campo uid da resposta.

    Substitua PROJECT_ID pelo ID ou número do projeto do Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Use o método keys.patch para adicionar restrições de servidor (endereço IP) a uma chave de API.

    Essa solicitação retorna uma operação de longa duração. Você precisa pesquisar a operação para saber quando ela é concluída e conferir o status dela.

    Substitua os seguintes valores:

    • ALLOWED_IP_ADDR_1: seu endereço IP permitido.

      Você pode adicionar quantos endereços IP forem necessários. use vírgulas para separar as restrições. É preciso fornecer todos os endereços IP com a solicitação, as restrições do referenciador fornecidas substituem todas as restrições de endereços IP existentes na chave.

    • PROJECT_ID: o nome ou ID do projeto do Google Cloud.

    • KEY_ID: o ID da chave que você quer restringir.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
      "serverKeyRestrictions": {
        "allowedIps": ["ALLOWED_IP_ADDR_1"]
      }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Para mais informações sobre como adicionar restrições de endereço IP a uma chave usando a API REST, consulte Como adicionar restrições de servidor na documentação da API de chave de API.

Apps Android

É possível restringir o uso de uma chave de API a apps Android específicos. Forneça o nome do pacote e a impressão digital do certificado SHA-1 de 20 bytes para cada app.

Para restringir sua chave de API a um ou mais apps Android, use uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página "Credenciais":

    Ir para Credenciais

  2. Clique no nome da chave de API que você quer restringir..

  3. Em Restrições de aplicativo, selecione Apps Android.

  4. Para cada app Android que você quiser adicionar, clique em Adicionar um item, insira o nome do pacote e a impressão digital do certificado SHA-1 e clique em Concluído.

  5. Clique em Salvar para salvar as mudanças e retornar à lista de chaves de API..

gcloud

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Para conseguir o ID, use o comando gcloud services api-keys list para listar as chaves do projeto.

  2. Use o comando gcloud alpha services api-keys update para especificar os apps Android que podem usar uma chave de API.

    Substitua os seguintes valores:

    • KEY_ID: o ID da chave que você quer restringir.
    • SHA1_FINGERPRINT e PACKAGE_NAME: as informações de um app Android que pode usar a chave.

      Você pode adicionar quantos apps quiser; use outras sinalizações --allowed-application.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_1,package_name=PACKAGE_NAME_1 \
    --allowed-application=sha1_fingerprint=SHA1_FINGERPRINT_2,package_name=PACKAGE_NAME_2
    

REST

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Você pode conseguir o ID usando o método keys.list. O ID é listado no campo uid da resposta.

    Substitua PROJECT_ID pelo ID ou número do projeto do Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Use o método keys.patch para especificar os apps Android que podem usar uma chave de API.

    Essa solicitação retorna uma operação de longa duração. Você precisa pesquisar a operação para saber quando ela é concluída e conferir o status dela.

    Substitua os seguintes valores:

    • SHA1_FINGERPRINT_1 e PACKAGE_NAME_1: as informações de um app Android que pode usar a chave.

      É possível adicionar as informações de quantos apps forem necessários. Use vírgulas para separar os objetos AndroidApplication. Você precisa fornecer a solicitação em todos os apps; aplicativos fornecidos substituem todos os aplicativos permitidos existentes na chave.

    • PROJECT_ID: o nome ou ID do projeto do Google Cloud.

    • KEY_ID: o ID da chave que você quer restringir.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "androidKeyRestrictions": {
      "allowedApplications": [
        {
          "sha1Fingerprint": "SHA1_FINGERPRINT_1",
          "packageName": "PACKAGE_NAME_1"
        },
     ]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Para mais informações sobre como adicionar restrições de apps Android a uma chave usando a API REST, consulte Como adicionar restrições Android na documentação da API Chave de API.

Apps iOS

É possível restringir o uso de uma chave de API a apps iOS específicos fornecendo o ID do pacote de cada app.

Para restringir sua chave de API a um ou mais apps iOS, use uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página "Credenciais":

    Ir para Credenciais

  2. Clique no nome da chave de API que você quer restringir..

  3. Em Restrições de aplicativo, selecione Apps iOS.

  4. Para cada app iOS que você quer adicionar, clique em Adicionar um item, insira o ID do pacote e clique em Concluído.

  5. Clique em Salvar para salvar as mudanças e retornar à lista de chaves de API..

gcloud

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Para conseguir o ID, use o comando gcloud services api-keys list para listar as chaves do projeto.

  2. Use o método gcloud alpha services api-keys update para especificar os apps iOS que podem usar a chave.

    Substitua os seguintes valores:

    • KEY_ID: o ID da chave que você quer restringir.
    • ALLOWED_BUNDLE_ID: o ID do pacote de um app para iOS que você quer usar essa chave de API.

      Você pode adicionar quantos IDs de pacote forem necessários. Use vírgulas para separar os IDs.

    gcloud alpha services api-keys update KEY_ID \
    --allowed-bundle-ids=ALLOWED_BUNDLE_ID_1,ALLOWED_BUNDLE_ID_2
    

REST

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Você pode conseguir o ID usando o método keys.list. O ID é listado no campo uid da resposta.

    Substitua PROJECT_ID pelo ID ou número do projeto do Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Use o método keys.patch para especificar os apps iOS que podem usar uma chave de API.

    Essa solicitação retorna uma operação de longa duração. Você precisa pesquisar a operação para saber quando ela é concluída e conferir o status dela.

    Substitua os seguintes valores:

    • ALLOWED_BUNDLE_ID: o ID do pacote de um app iOS que pode usar a chave.

      É possível adicionar as informações de quantos apps forem necessários. use vírgulas para separar os IDs dos pacotes. É necessário fornecer todos os IDs de pacotes com a solicitação; os IDs de pacote fornecidos substituem todos os aplicativos permitidos existentes na chave.

    • PROJECT_ID: o nome ou ID do projeto do Google Cloud.

    • KEY_ID: o ID da chave que você quer restringir.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "iosKeyRestrictions": {
      "allowedBundleIds": ["ALLOWED_BUNDLE_ID_1","ALLOWED_BUNDLE_ID_2"]
    }
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Para mais informações sobre como adicionar restrições de apps iOS a uma chave usando a API REST, consulte Como adicionar restrições de iOS na documentação da API da chave de API.

Adicionar restrições à API

Essas restrições especificam quais APIs podem ser chamadas com a chave de API.

Para adicionar restrições de API, use uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página "Credenciais":

    Ir para Credenciais

  2. Clique no nome da chave de API que você quer restringir..

  3. Na seção Restrições de API, clique em Restringir chave .

  4. Na lista suspensa, selecione todas as APIs que sua chave usará.

  5. Clique em Salvar para salvar as mudanças e retornar à lista de chaves de API..

gcloud

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Para conseguir o ID, use o comando gcloud services api-keys list para listar as chaves do projeto.

  2. Use o comando gcloud alpha services api-keys update para especificar em quais serviços uma chave de API pode ser usada para autenticação.

    Substitua os seguintes valores:

    • KEY_ID: o ID da chave que você quer restringir.
    • SERVICE_1, SERVICE_2...: os nomes de serviço das APIs que a chave pode usar para acessar.

      É necessário fornecer todos os nomes de serviço com o comando update; os nomes de serviço fornecidos substituem todos os serviços existentes na chave.

    Para encontrar o nome do serviço, pesquise a API no Painel de APIs. Os nomes de serviço são strings como bigquery.googleapis.com.

    gcloud alpha services api-keys update KEY_ID \
    --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
    

REST

  1. Encontre o ID da chave que você quer restringir.

    O ID não é igual ao nome de exibição ou à string de chave. Você pode conseguir o ID usando o método keys.list. O ID é listado no campo uid da resposta.

    Substitua PROJECT_ID pelo ID ou número do projeto do Google Cloud.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/"
    
  2. Use o método keys.patch para especificar em quais serviços uma chave de API pode ser usada para autenticação.

    Essa solicitação retorna uma operação de longa duração. Você precisa pesquisar a operação para saber quando ela é concluída e conferir o status dela.

    Substitua os seguintes valores:

    • SERVICE_1, SERVICE_2...: os nomes de serviço das APIs com que você quer que essa chave possa ser usada.

      É necessário fornecer a solicitação a todos os nomes de serviço; os nomes de serviço fornecidos substituem todos os serviços existentes na chave.

      Para encontrar o nome do serviço, pesquise a API no Painel de APIs. Os nomes de serviço são strings como bigquery.googleapis.com.

    • PROJECT_ID: o nome ou ID do projeto do Google Cloud.

    • KEY_ID: o ID da chave que você quer restringir.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
    "restrictions" : {
    "apiTargets": [
      {
        "service": "SERVICE_1"
      },
      {
        "service" : "SERVICE_2"
      },
    ]
    }
    }' \
    "https://apikeys.googleapis.com/v2/projects/PROJECT_ID/locations/global/keys/KEY_ID?updateMask=restrictions"
    

Para mais informações sobre como adicionar restrições de API a uma chave usando a API REST, consulte Como adicionar restrições de API na documentação da API da chave de API.

Receber informações do projeto de uma string de chave

Se você tiver uma string de chave e quiser determinar com qual projeto do Google Cloud ele está associado, é possível conseguir informações sobre a chave da string de chave.

Substitua KEY_STRING pela string de chave de que você precisa das informações do projeto.

gcloud

Use o comando gcloud alpha services api-keys lookup para receber o ID do projeto de uma string de chave.

gcloud alpha services api-keys lookup KEY_STRING

REST

Use o método lookupKey para receber o ID do projeto de uma string de chave.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://apikeys.googleapis.com/v2/keys:lookupKey?keyString=KEY_STRING"

Pesquisar operações de longa duração

Os métodos de API da chave de API usam operações de longa duração. Se você usar a API REST para criar e gerenciar chaves de API, um objeto de operação será retornado da solicitação do método inicial. Use o nome da operação para pesquisar a operação de longa duração. Quando a solicitação de longa duração é concluída, a pesquisa da operação retorna os dados da solicitação de longa duração.

Para pesquisar uma operação de API de chave de API de longa duração, use o método operations.get.

Substitua OPERATION_NAME pelo nome da operação retornada pela operação de longa duração. Por exemplo, operations/akmf.p7-358517206116-cd10a88a-7740-4403-a8fd-979f3bd7fe1c.

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://apikeys.googleapis.com/v2/OPERATION_NAME"

Limites das chaves de API

É possível criar até 300 chaves de API por projeto. Esse é um limite do sistema e não pode ser alterado usando uma solicitação de aumento de cota.

Se mais chaves de API forem necessárias, use mais de um projeto.

A seguir