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 de abrir uma janela de terminal depende do ambiente de desenvolvimento integrado (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. Faça a autenticação com o seguinte comando:
    gcloud auth login --no-launch-browser
  3. Siga as instruções fornecidas pelo comando para fazer a autenticação 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 com a conta Usuário do Cloud Workstations na estação de trabalho:

  1. Gerar um token de acesso usando o generateAccessToken Método de 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 de API. 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 URL _workstationAccessToken :

  1. Gere um token de acesso usando o generateAccessToken Método de 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 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 de estações de trabalho neste configuração precisa ter a permissão iam.serviceAccounts.actAs no serviço do Compute Engine. 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