Como o Application Default Credentials funciona

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

Nesta página, descrevemos os locais em que o Application Default Credentials (ADC) procura credenciais. Entender como o ADC funciona ajuda a saber quais credenciais o ADC está usando e como elas são encontradas.

O ADC é uma estratégia usada pelas Bibliotecas de cliente do Cloud e bibliotecas de cliente da API do Google para encontrar automaticamente credenciais com base no ambiente do aplicativo e usá-las para autenticação nas APIs do Google Cloud. Quando você configura o ADC e usa uma biblioteca de cliente, seu código pode ser executado em um ambiente de desenvolvimento ou produção sem mudar como o aplicativo faz a autenticação nos serviços e nas APIs do Google Cloud.

Para saber mais sobre as melhores maneiras de fornecer credenciais ao ADC, consulte Fornecer credenciais para o Application Default Credentials.

Pesquisar pedido

O ADC procura credenciais nos seguintes locais:

  1. GOOGLE_APPLICATION_CREDENTIALS variável de ambiente
  2. Credenciais do usuário configuradas com a Google Cloud CLI
  3. A conta de serviço anexada, conforme fornecida pelo servidor de metadados

GOOGLE_APPLICATION_CREDENTIALS variável de ambiente

É possível usar a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS para fornecer o local de um arquivo JSON da credencial. Esse arquivo JSON pode ser um destes tipos de arquivo:

  • Um arquivo de configuração de credenciais para a federação de identidade da carga de trabalho

    A federação da identidade da carga de trabalho permite que você use um provedor de identidade externo para acessar os recursos do Google Cloud. Para mais informações, consulte Como autenticar usando bibliotecas de cliente, CLI gcloud ou Terraform na documentação do Identity and Access Management (IAM).

  • Uma chave de conta de serviço

    As chaves de conta de serviço criam um risco de segurança e não são recomendadas. Ao contrário dos outros tipos de arquivo de credenciais, as chaves da conta de serviço comprometidas podem ser usadas por um usuário de má-fé sem qualquer outra informação. Para mais informações, consulte Práticas recomendadas para usar e gerenciar chaves de conta de serviço.

Credenciais do usuário configuradas com a CLI gcloud

É possível configurar o ADC para usar as credenciais da sua Conta do Google executando o comando gcloud auth application-default login. Esse comando coloca um arquivo JSON contendo suas credenciais em um local bem conhecido no sistema de arquivos. A localização depende do seu sistema operacional:

  • Linux, macOS: $HOME/.config/gcloud/application_default_credentials.json
  • Windows: %APPDATA%\gcloud\application_default_credentials.json

Para mais informações sobre como usar a CLI gcloud e o ADC, consulte Tipos de credenciais da gcloud.

Conta de serviço anexada

Muitos serviços do Google Cloud permitem que você anexe uma conta de serviço que possa ser usada para fornecer credenciais de acesso às APIs do Google Cloud. Se o ADC não encontrar credenciais que possam ser usadas na variável de ambiente GOOGLE_APPLICATION_CREDENTIALS ou no local conhecido para as credenciais da Conta do Google, ele usará o servidor de metadados para ver as credenciais do serviço em que o código está sendo executado.

Se o aplicativo estiver sendo executado em um recurso do Google Cloud compatível com a anexação de uma conta de serviço, será preciso usar a conta de serviço anexada para fornecer credenciais. Para usar a conta de serviço anexada, siga estas etapas:

  1. Crie uma conta de serviço gerenciada pelo usuário.
  2. Conceda a essa conta de serviço os papéis de privilégio mínimo do IAM.
  3. Anexe a conta de serviço ao recurso em que seu código está sendo executado.

Essa configuração é recomendada para aplicativos executados em produção.

Para receber ajuda sobre como anexar uma conta de serviço, consulte Como anexar uma conta de serviço a um recurso. Se precisar de ajuda para determinar os papéis necessários do IAM para sua conta de serviço, consulte Escolher papéis predefinidos.

A seguir