Autorizar a CLI gcloud

Para acessar o Google Cloud, normalmente você precisa autorizar a Google Cloud CLI. Nesta página, mostramos as opções de autorização disponíveis e mostramos como gerenciar as contas que você usa para autorização. Se você usa uma instância do Compute Engine ou Cloud Shell, não é necessário autorizar a CLI gcloud.

Tipos de contas

Para conceder autorização à CLI gcloud para acessar o Google Cloud, use uma conta de usuário ou uma conta de serviço.

Uma conta de usuário é uma conta do Google Cloud que permite que os usuários finais se autentiquem no seu aplicativo. Para os casos de uso mais comuns, especialmente interativamente, usando a CLI gcloud, o uso de uma conta de usuário é o melhor prática.

Uma conta de serviço é uma Conta do Google associada ao seu projeto do Google Cloud e não a um usuário específico. É possível usar a conta de serviço integrada disponível ao usar funções do Cloud Run, App Engine, Compute Engine ou Google Kubernetes Engine. Uma conta de serviço é recomendada para executar CLI gcloud scripts em várias máquinas.

Escolha um tipo de autorização

É necessário autorizar a Google Cloud CLI para gerenciar recursos do Google Cloud. Tanto a CLI do Google Cloud quanto o Google Cloud usam OAuth2 para autenticação e autorização.

Escolha um dos seguintes tipos de autorização:

Tipo Descrição
Conta de usuário Recomendado se você estiver usando a CLI gcloud na linha de comando ou se estiver escrevendo scripts com a CLI gcloud para uso em uma única máquina.
Conta de serviço Opção recomendada se você estiver instalando e configurando a CLI da gcloud como parte de um processo de implantação de máquinas em produção ou para uso em instâncias de máquina virtual do Compute Engine em que todos os usuários tenham acesso ao root.

Para mais informações sobre autenticação e o Google Cloud, consulte Visão geral da autenticação.

Autorizar com uma conta de usuário

Use os seguintes comandos da CLI do gcloud para autorizar o acesso com uma conta de usuário:

Comando Descrição
gcloud init Autoriza o acesso e executa outras etapas de configuração comuns.
gcloud auth login Autoriza apenas o acesso.

Durante a autorização, esses comandos recebem credenciais de conta do Google Cloud e as armazenam no sistema local. A conta especificada passa a ser a conta ativa na sua configuração. A CLI gcloud usa as credenciais armazenadas para acessar Google Cloud. É possível ter quantas contas você quiser com para uma única instalação da CLI gcloud, mas apenas uma está ativa de cada vez.

Executar gcloud init

gcloud init autoriza o acesso e executa outras etapas de configuração comuns. O gcloud init usa um fluxo de autorização baseado na Web para autenticar a conta de usuário e conceder permissões de acesso.

Para autorizar o acesso e executar outras etapas comuns de configuração:

  1. Execute gcloud init:

    gcloud init
    

    Ou para impedir o comando de abrir automaticamente um navegador da Web:

    gcloud init --console-only
    

    Usar a sinalização --console-only é útil se você estiver executando o comando em um sistema remoto que usa ssh e não tem acesso a um navegador nesse sistema. Nesse caso, abra manualmente o URL fornecido em um navegador no sistema local para concluir o processo de autorização.

  2. Siga o fluxo de autorização baseado no navegador para autenticar a conta e conceder permissões de acesso.

Para mais informações sobre gcloud init, consulte Como inicializar a CLI gcloud.

Executar o gcloud auth login

A execução de gcloud auth login autoriza apenas a conta de usuário. Para autorizar o acesso sem realizar outras etapas de configuração, use uma das opções a seguir.

  • Se você quiser autorizar a CLI gcloud em uma máquina com um navegador, siga estas etapas.

    1. Autorize a CLI gcloud:

      gcloud auth login
      
    2. Siga o fluxo de autorização baseado no navegador para autenticar a conta e conceder permissões de acesso.

  • Se você quiser autorizar a CLI gcloud em uma máquina que não tem um navegador e puder instalar a CLI gcloud em outra máquina com um navegador, use a flag --no-browser.

    1. Autorize a CLI gcloud:

      gcloud auth login --no-browser
      
    2. Copie o comando longo que começa com gcloud auth login --remote-bootstrap=".

    3. Cole e execute esse comando na linha de comando de outra conta confiável que tenha instalações locais de um navegador da Web e do versão 372.0 ou mais recente da ferramenta CLI gcloud.

    4. Copie a saída do URL longo da máquina com o navegador da Web.

    5. Cole o URL longo de volta à primeira máquina, no prompt "Enter the output of the above command" e pressione Enter para concluir a autorização.

  • Se você quiser autorizar a CLI gcloud em uma máquina que não tem um navegador e não puder instalar a CLI gcloud em outra máquina com um navegador, use a flag --no-launch-browser. A flag --no-launch-browser impede que o comando abra automaticamente um navegador da Web.

    1. Autorize a CLI gcloud:

      gcloud auth login --no-launch-browser
      
    2. Copie o URL longo que começa com https://accounts.google.com/o/oauth2/auth...

    3. Cole este URL no navegador de uma máquina confiável diferente que tenha um navegador da Web.

    4. Copie o código de autorização da máquina com o navegador da Web.

    5. Cole o código de autorização na primeira máquina no prompt "Enter verification code" e pressione Enter para concluir a autorização.

  • Se você já tem um token de acesso, use uma das opções a seguir métodos para passar o token de acesso para a CLI gcloud:

    • Armazene o token de acesso em um arquivo e defina o caminho dele usando a flag --access-token-file.
    • Armazene o token de acesso em um arquivo e defina o caminho no auth/access_token_file .
    • Defina a variável de ambiente CLOUDSDK_AUTH_ACCESS_TOKEN como o valor do token de acesso.

Autorizar com uma conta de serviço

O comando gcloud auth login pode autorizar o acesso com uma conta de serviço usando um arquivo de credenciais armazenado no seu sistema de arquivos local. Essa credencial pode ser uma credencial de usuário com permissão para representar a conta de serviço, um arquivo de configuração de credenciais federação de identidade da carga de trabalho chave da conta de serviço.

Autorizar uma conta de serviço usando a representação da conta de serviço

Para autorizar a CLI gcloud a usar credenciais de conta de serviço personificadas, faça o seguinte:

  1. No console do Google Cloud, acesse a página "Contas de serviço".

    Acessar a página "Contas de serviço"

  2. Escolha uma conta atual ou crie uma nova clicando em Criar conta de serviço.

  3. Para garantir que o principal tenha a permissão necessária a fim de representar uma conta de serviço, peça ao administrador para conceder a ele o papel do IAM de criador de tokens da conta de serviço (roles/iam.serviceAccountTokenCreator) na conta de serviço. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Esse papel predefinido contém a permissão iam.serviceAccounts.getAccessToken, que é necessária para representar uma conta de serviço.

    Seu administrador também pode conceder ao principal esta permissão com papéis personalizados ou e outros papéis predefinidos.

  4. Autorize a CLI gcloud com sua identidade de usuário executando gcloud auth login

  5. Para configurar a CLI da gcloud para usar a identidade e o acesso fornecidos por uma conta de serviço por padrão, use o comando de configuração da CLI da gcloud:

    gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
    
  6. Para parar de usar credenciais de conta de serviço personificadas com o CLI gcloud por padrão, cancele a definição da sinalização com o comando de configuração da CLI gcloud:

    gcloud config unset auth/impersonate_service_account
    

Autorizar uma conta de serviço usando a federação de identidade da carga de trabalho

Para autorizar a CLI gcloud com uma conta de serviço usando credenciais da federação de identidade da carga de trabalho, faça o seguinte:

  1. No console do Google Cloud, acesse a página "Contas de serviço".

    Acessar a página "Contas de serviço"

  2. Escolha uma conta atual ou crie uma nova clicando em Criar conta de serviço.

  3. Crie um arquivo de configuração de credenciais para a federação de identidade da carga de trabalho seguindo as instruções seu provedor de identidade compatível.

  4. Para ativar sua conta de serviço, execute gcloud auth login com o Sinalização --cred-file:

    gcloud auth login --cred-file=CONFIGURATION_FILE
    

    Substitua CONFIGURATION_FILE pelo caminho de um arquivo de configuração de credenciais para a federação de identidade da carga de trabalho.

Autorizar uma conta de serviço usando uma chave

Autorizar a CLI gcloud com uma conta de serviço usando um serviço chave de conta, faça o seguinte:

  1. No console do Google Cloud, acesse a página "Contas de serviço".

    Acessar a página "Contas de serviço"

  2. Escolha uma conta atual ou crie uma nova clicando em Criar conta de serviço.

  3. Para criar chaves de conta de serviço, consulte as instruções do IAM para Crie uma chave de conta de serviço.

  4. Para ativar sua conta de serviço, execute gcloud auth login com o Sinalização --cred-file:

    gcloud auth login --cred-file=KEY_FILE
    

    Substitua KEY_FILE pelo caminho para um arquivo de chave da conta de serviço.

Listar contas

Para listar as contas com credenciais armazenadas no sistema local, execute gcloud auth list:

gcloud auth list

A CLI gcloud lista as contas e mostra qual está ativa:

Credentialed accounts:
 - user-1@gmail.com (active)
 - user-2@gmail.com

Trocar a conta ativa

Para alternar a conta ativa, execute gcloud config set:

gcloud config set account ACCOUNT

em que [ACCOUNT] é o endereço de e-mail completo da conta.

Você também pode alternar entre contas criando uma configuração separada que especifique a conta diferente e alterne entre as configurações:

gcloud config configurations activate CONFIGURATION

Se você quiser alternar a conta usada pela CLI do gcloud a cada invocação, modifique a conta ativa usando a flag --account.

Definir a duração da sessão autorizada

Como administrador, você controla por quanto tempo diferentes usuários podem acessar CLI gcloud sem precisar de autenticação novamente. Por exemplo, é possível forçam os usuários com privilégios elevados a fazer uma nova autenticação com mais frequência do que a usuários comuns.

Para mais informações, consulte Definir a duração da sessão para os serviços do Google Cloud.

Revogar credenciais de uma conta

Revogue as credenciais quando quiser impedir o acesso da CLI da gcloud por uma conta específica. Não é necessário revogar credenciais para alternar entre contas.

Para revogar as credenciais, execute gcloud auth revoke:

gcloud auth revoke ACCOUNT

Para revogar o acesso à CLI gcloud para todas as máquinas, faça o seguinte: Remova a CLI gcloud da lista de apps que têm acesso à sua conta.

Trabalhar com arquivos de credenciais

Encontrar os arquivos de credenciais

Para encontrar o local dos seus arquivos de credenciais, execute gcloud info:

gcloud info

A CLI gcloud imprime informações sobre a instalação. Arquivos de credenciais são armazenados no diretório de configuração do usuário:

User Config Directory: [/home/USERNAME/.config/gcloud]

Configurar o Application Default Credentials

A CLI gcloud oferece suporte para gerenciar as credenciais padrão do aplicativo (ADC, na sigla em inglês) com o grupo de comandos gcloud auth application-default. Para disponibilizar as credenciais do usuário ao ADC, execute gcloud auth application-default login:

gcloud auth application-default login

Essas credenciais não são usadas pela CLI gcloud. Para mais maneiras de configurar o ADC, consulte Configurar o Application Default Credentials.

unset GOOGLE_APPLICATION_CREDENTIALS
gcloud config unset auth/impersonate_service_account
gcloud auth application-default login

A seguir