Autenticar e configurar o acesso à API em uma estação de trabalho

Este documento descreve como autenticar e configurar o acesso à API em uma estação de trabalho. Para informações gerais sobre a autenticação do Google Cloud, consulte visão geral da autenticação.

Fazer a autenticação como usuário com a Google Cloud CLI

Depois de iniciar o Cloud Workstations, será possível acessar os serviços do Google Cloud e a API usando suas contas de usuário pela CLI gcloud.

  1. Abra um terminal na estação de trabalho. A maneira como você abre uma janela de terminal depende IDE que você está usando. Por exemplo, se você estiver usando o editor base das estações de trabalho do Google Cloud, abra um terminal selecionando Terminal > Novo terminal ou pressionando Control+Shift+`.
  2. Autentique com o seguinte comando:
    gcloud auth login --no-launch-browser
  3. Siga as instruções fornecidas pelo comando para autenticar no Google Cloud.
  4. Especifique o ID do projeto do Google Cloud com o seguinte comando:
    gcloud config set project PROJECT_ID
  5. Ative as credenciais padrão do aplicativo para permitir que você chame os serviços do Google Cloud.
    gcloud auth application-default login
  6. Suas credenciais da CLI gcloud agora são salvas e ficam disponíveis quando você usa a estação de trabalho em sessões futuras.

Emitir uma solicitação HTTP para uma estação de trabalho

Para emitir uma solicitação HTTP para uma estação de trabalho, você precisa de um token de acesso para uma conta que tenha a função Usuário das estações de trabalho do Cloud nessa estação de trabalho:

  1. Gere um token de acesso usando o método de API generateAccessToken.
  2. Adicione um cabeçalho HTTP chamado Authorization com o valor Bearer $TOKEN.

Conectar-se à estação de trabalho no navegador

A abertura do URL da estação de trabalho no navegador faz a autenticação automaticamente por um redirecionamento para o servidor das estações de trabalho e recupera um token de acesso gerado pelo método de API generateAccessToken. Isso redireciona o usuário de volta para a estação de trabalho e define uma de autenticação válido para a sessão atual da estação de trabalho.

Para pular esse redirecionamento, use o parâmetro de URL _workstationAccessToken:

  1. Gere um token de acesso usando o método de API generateAccessToken.
  2. Abra o URL da estação de trabalho no navegador e anexe um parâmetro de URL com o seguinte formulário: _workstationAccessToken=TOKEN.

Isso define um cookie de autenticação no navegador que permite o acesso à sua sessão atual da estação de trabalho. Ignorar o redirecionamento pode ser útil quando o acesso ao servidor da estação de trabalho é bloqueado por políticas de rede ou quando se usam iframes para mostrar a estação de trabalho em outros sites.

Representar uma conta de serviço

Se as políticas de segurança da sua organização impedirem que as contas de usuário tenham as permissões necessárias, você também poderá representar uma conta de serviço. Para personificar a conta de serviço especificada na configuração da estação de trabalho, é possível escopos da conta de serviço. Quando especificado, os usuários das estações de trabalho nessa configuração precisam ter a permissão iam.serviceAccounts.actAs na conta de serviço. Para mais informações sobre como especificar escopos para a conta de serviço, consulte Escopos de acesso.

Também é possível representar outra conta de serviço usando a CLI gcloud impersonate_service_account.

  1. 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.

  2. Abra um terminal na estação de trabalho ou navegue até um que já esteja aberto.
  3. Para definir a propriedade impersonate_service_account, insira o seguinte comando da CLI gcloud:
    gcloud config set auth/impersonate_service_account=SERVICE_ACCT_EMAIL
  4. Suas credenciais da CLI gcloud agora estão salvas e disponíveis quando você usa sua estação de trabalho no sessões futuras.
  5. Para mais informações, consulte Usar a identidade temporária de conta de serviço.

A seguir