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 a visão geral da autenticação.

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

Depois de iniciar Cloud Workstations, 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 de abrir uma janela de terminal depende do ambiente de desenvolvimento integrado (IDE, na sigla em inglês) que você está usando. Por exemplo, se você estiver usando o editor base dos Cloud Workstations, 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 se 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 de volta para a estação de trabalho e define um cookie 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 ao usar 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, especifique o escopo da conta de serviço.

        gcloud workstations configs create CONFIG \
            --cluster=CLUSTER \
            --region=REGION \
            --project=PROJECT \
            --service-account=SERVICE_ACCOUNT \
            --service-account-scopes=https://www.googleapis.com/auth/cloud-platform
      
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.

A seguir