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.

Autenticar como usuário com a Google Cloud CLI

Depois de iniciar as estações de trabalho do Cloud, você pode 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 do Cloud Workstations, abra uma 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. Ativar o Application Default Credentials para permitir que você chame os serviços do Google Cloud.
    gcloud auth application-default login
  6. Suas credenciais da CLI gcloud agora estão salvas e disponíveis quando você usa sua estação de trabalho no 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 com a conta Usuário do Cloud Workstations na estação de trabalho:

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

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

Abrir o URL da estação de trabalho no navegador faz a autenticação automática por meio de um redirecionamento para o servidor das estações de trabalho e recupera uma solicitação token gerado pelo generateAccessToken Método da API. 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 generateAccessToken Método da API.
  2. Abra o URL da estação de trabalho no navegador e anexe um parâmetro de URL pelo seguinte formato: _workstationAccessToken=TOKEN:

Isso define um cookie de autenticação no seu navegador que permite o acesso de na 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 ao usar iframes para exibir 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 o acesso do usuário, também poderá personificar 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 de 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 iam.serviceAccounts.getAccessToken permissão, que é necessário para representem 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, digite 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 representação da conta de serviço.

A seguir