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

Neste documento, descrevemos 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.

Autenticar como usuário com a Google Cloud CLI

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

  1. Abra um terminal na estação de trabalho. A maneira como você abre uma janela do terminal depende do ambiente de desenvolvimento integrado que você está usando. Por exemplo, se você estiver usando o editor base do Cloud Workstations, 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 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 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 são salvas e estão disponíveis quando você usa sua 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 o papel Usuário do Cloud Workstations nela:

  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.

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

A abertura do URL da estação de trabalho no navegador faz a autenticação automaticamente por meio de 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 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 formato: _workstationAccessToken=TOKEN.

Isso define um cookie de autenticação no seu navegador que permite o acesso à sessão atual da sua estação de trabalho. Ignorar o redirecionamento pode ser útil quando o acesso ao servidor da estação de trabalho estiver 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, também é possível representar uma conta de serviço usando a propriedade impersonate_service_account da CLI gcloud.

  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 como conceder papéis, consulte Gerenciar acesso.

    Esse papel predefinido contém a permissão iam.serviceAccounts.getAccessToken, que é necessária para representar uma conta de serviço.

    O administrador também pode conceder essa permissão ao principal com papéis personalizados ou 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 gcloud da CLI:
    gcloud config set auth/impersonate_service_account=SERVICE_ACCT_EMAIL
  4. Suas credenciais da CLI gcloud agora são salvas e estão disponíveis quando você usa sua estação de trabalho em sessões futuras.
  5. Para mais informações, consulte Usar representação de conta de serviço.

A seguir