Configurar o ADC para um ambiente de desenvolvimento local

É possível fornecer suas credenciais de usuário ou as credenciais da conta de serviço para o ADC em um ambiente de desenvolvimento local.

Credenciais do usuário

Quando o código está sendo executado em um ambiente de desenvolvimento local, como uma estação de trabalho de desenvolvimento, a melhor opção é usar as credenciais associadas à conta de usuário.

Para configurar o ADC para uma conta de usuário gerenciada por um IdP externo e federada com a federação de identidade de colaboradores, faça o seguinte:

  1. Instale a CLI do Google Cloud e faça login na gcloud CLI com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

    gcloud init
  2. Crie credenciais de autenticação local para sua conta de usuário:

    gcloud auth application-default login

    Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.

    Uma tela de login é exibida. Após o login, suas credenciais são armazenadas no arquivo de credenciais local usado pelo ADC.

Dicas para configurar o ADC com suas credenciais de usuário

Ao configurar o ADC com sua conta de usuário, é importante considerar o seguinte:

  • No caso de algumas APIs, é preciso realizar outras etapas de configuração para que o ADC configurado com uma conta de usuário funcione. Se você receber uma mensagem de erro informando que a API não está ativada no projeto ou que não há um projeto de cota disponível, consulte As credenciais do usuário não estão funcionando.

  • O arquivo local do ADC contém o token de atualização. Qualquer usuário com acesso ao seu sistema de arquivos pode usá-lo para receber um token de acesso válido. Se você não precisar mais dessas credenciais locais, revogue-as usando o comando gcloud auth application-default revoke.

  • O arquivo local do ADC está associado à conta de usuário, não à configuração da gcloud CLI. Ao fazer a alteração para uma configuração diferente da gcloud CLI, a identidade usada por ela pode ser alterada, mas isso não afeta o arquivo local nem a configuração do ADC.

Credenciais da conta de serviço

É possível configurar o ADC com as credenciais de uma conta de serviço usando a identidade temporária de conta de serviço ou uma chave de conta de serviço.

Identidade temporária de conta de serviço

É possível usar a identidade temporária de conta de serviço para configurar um arquivo local Application Default Credentials (ADC). As bibliotecas de cliente compatíveis com a representação podem usar essas credenciais automaticamente. Os arquivos locais do ADC criados com a identidade temporária de conta de serviço são aceitos nas seguintes linguagens:

  • C#
  • C++
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby
  • Rust

Você precisa ter o papel do IAM de Criador de token (roles/iam.serviceAccountTokenCreator) na conta de serviço que tem a identidade temporária. Para mais informações, consulte Papéis necessários.

Use a identidade temporária de conta de serviço para criar um arquivo local do ADC:

gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL

Agora é possível usar bibliotecas de cliente com as linguagens aceitas da mesma forma que você faria depois de configurar um arquivo local do ADC com credenciais de usuário. As credenciais são encontradas automaticamente pelas bibliotecas de autenticação. Para saber mais, consulte Autenticar-se para usar bibliotecas de cliente.

As credenciais de um arquivo local do ADC gerado com a identidade temporária de conta de serviço não são aceitas por todas as bibliotecas de autenticação. Para mais informações, consulte Erro retornado para as credenciais locais da identidade temporária de conta de serviço.

Chaves da conta de serviço

Se não for possível usar uma conta de usuário ou a identidade temporária de conta de serviço para o desenvolvimento local, use uma chave de conta de serviço.

Para criar uma chave de conta de serviço e disponibilizá-la ao ADC, faça o seguinte:

  1. Crie uma conta de serviço com os papéis necessários para o aplicativo e uma chave para essa conta de serviço. Para fazer isso, siga as instruções em Como criar uma chave de conta de serviço.
  2. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém suas credenciais. Essa variável só se aplica à sessão de shell atual. Assim, se você abrir uma nova sessão, precisará definir a variável novamente.

A seguir