Como autorizar ferramentas do Cloud SDK

Para acessar o Google Cloud, você precisará autorizar as ferramentas do SDK do Google Cloud. Aqui você verá as opções de autorização disponíveis e como gerenciar as contas usadas na autorização. Se você estiver usando uma instância do Google Compute Engine ou o Google Cloud Shell, não será necessário autorizar as ferramentas do Cloud SDK.

Tipos de contas

Para conceder autorização às ferramentas do SDK do Cloud para acessar o Google Cloud, use uma conta de usuário ou uma conta de serviço.

A conta de usuário é uma Conta do Google em que os usuários finais podem se autenticar diretamente no aplicativo. Na maioria dos casos de uso comum, especialmente para interação com as ferramentas do Cloud SDK a partir da linha de comando, a conta de usuário é a melhor opção.

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. Ela pode ser usada com uma chave de conta de serviço no seu aplicativo. Como alternativa, use a conta de serviço interna disponível ao usar o Google Cloud Functions, o Google App Engine, o Google Compute Engine ou o Google Kubernetes Engine. Recomenda-se usar esse tipo de conta para criar ferramentas do Cloud SDK para uso em várias máquinas.

Como escolher um tipo de autorização

Autorize a CLI do gcloud e outras ferramentas no SDK do Cloud antes de usá-las para gerenciar os recursos da plataforma. O SDK do Cloud e o Google Cloud usam o OAuth2 para autenticação e autorização.

Escolha um dos seguintes tipos de autorização:

Tipo Descrição
Conta de usuário Recomendado se estiver usando as ferramentas do Cloud SDK da linha de comando ou criando scripts de ferramentas do Cloud SDK para utilização em uma única máquina.
Conta de serviço Opção recomendada se você estiver instalando e configurando o SDK do Cloud 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 Google Compute Engine em que todos os usuários tenham acesso ao root.

Leia o Guia de autenticação do Google Cloud para saber mais sobre autorização e o Google Cloud.

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 do SDK do Cloud.
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 do SDK do Cloud. A CLI do gcloud e outras ferramentas do SDK do Cloud usam as credenciais armazenadas para acessar o Google Cloud. Você pode ter quantas contas quiser com credenciais armazenadas em uma única instalação do Cloud SDK, mas apenas uma conta permanece ativa por vez.

Executar o gcloud init

gcloud init autoriza o acesso e executa outras etapas comuns de configuração do SDK do Cloud. Ele 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 do Cloud SDK:

  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.

Leia Como inicializar o Cloud SDK para saber mais sobre esse comando e a inicialização do Cloud SDK.

Executar o gcloud auth login

gcloud auth login autoriza apenas a conta de usuário.

Para autorizar o acesso sem executar outras etapas de instalação:

  1. Execute gcloud auth login:

    gcloud auth login
    

    Ou:

    gcloud auth login --no-launch-browser
    

    É possível usar a sinalização --no-launch-browser para impedir que o comando abra automaticamente um navegador da Web. 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.

Autorizar com uma conta de serviço

gcloud auth activate-service-account autoriza o acesso usando uma conta de serviço. Assim como acontece com gcloud init e gcloud auth login, esse comando salva as credenciais da conta de serviço no sistema local após a conclusão e configura a conta especificada como a conta ativa na configuração do SDK do Cloud.

Para autorizar o uso de uma conta de serviço:

  1. Acesse a página "Contas de serviço" no Console do Google Cloud.

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

  2. Clique em Criar conta de serviço ou escolha uma conta atual.

  3. Clique no botão Mais Criar arquivo de chave na coluna Opções da tabela de contas de serviço e selecione Criar chave para criar e fazer o download de um arquivo de chave com formato JSON.

    Criar arquivo de chave

  4. Se necessário, mova o arquivo de chave para um local no mesmo sistema em que você está autorizando as ferramentas do SDK do Cloud.

    Como alternativa, em vez de seguir as etapas de 1 a 4, é possível criar uma chave para uma conta de serviço atual por meio de gcloud iam service-accounts keys create.

  5. Execute gcloud auth activate-service-account:

    gcloud auth activate-service-account [ACCOUNT] --key-file=[KEY_FILE]
    
  6. Exclua o arquivo de chave do sistema. Observe que a CLI da gcloud armazena as chaves e a cópia da CLI da gcloud da chave ainda permanecerá.

Listar contas

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

gcloud auth list

A CLI da gcloud lista as contas e mostra qual delas está ativa no momento:

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

Como alternar 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 da gcloud por invocação, modifique a conta ativa usando a sinalização --account.

Revogar as credenciais de uma conta

Revogue as credenciais quando quiser impedir o acesso da CLI da gcloud e de outras ferramentas do SDK do Cloud 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 do SDK do Cloud em todas as máquinas, remova-o da lista de aplicativos que têm acesso à sua conta.

Localizar arquivos de credenciais

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

gcloud info

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

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

A seguir