Autentica y configura el acceso a la API en una estación de trabajo

En este documento, se describe cómo autenticar y configurar el acceso a la API dentro de una estación de trabajo. Para obtener información general sobre Google Cloud la autenticación, consulta la descripción general de la autenticación.

Autentícate como usuario con Google Cloud CLI

Después de iniciar Cloud Workstations, puedes acceder a los Google Cloud servicios y a la API con tus cuentas de usuario a través de la gcloud CLI.

  1. Abre una terminal en tu estación de trabajo. La forma en que abres una ventana de terminal depende del IDE que uses. Por ejemplo, si usas el editor base de Cloud Workstations, abre una terminal seleccionando Terminal > Nueva terminal o presionando Control+Shift+`.
  2. Autentica con el siguiente comando:
    gcloud auth login --no-launch-browser
  3. Sigue las instrucciones que proporciona el comando para autenticarte en Google Cloud.
  4. Especifica tu Google Cloud ID del proyecto con el siguiente comando:
    gcloud config set project PROJECT_ID
  5. Habilita las credenciales predeterminadas de la aplicación para permitirte llamar a los servicios Google Cloud .
    gcloud auth application-default login
  6. Tus credenciales de la CLI de gcloud ahora se guardan y están disponibles cuando usas tu estación de trabajo en sesiones futuras.

Emite una solicitud HTTP a una estación de trabajo

Para emitir una solicitud HTTP a una estación de trabajo, necesitas un token de acceso para una cuenta que tenga el rol de usuario de Cloud Workstations en esa estación de trabajo:

  1. Genera un token de acceso con el método de API generateAccessToken.
  2. Agrega un encabezado HTTP llamado Authorization con el valor Bearer $TOKEN.

Conéctate a la estación de trabajo en tu navegador

Si abres la URL de tu estación de trabajo en el navegador, se realiza la autenticación automáticamente a través de un redireccionamiento al servidor de estaciones de trabajo y se recupera un token de acceso generado por el generateAccessToken método de API. Esto redirecciona a tu estación de trabajo y establece una cookie de autenticación que es válida para la sesión actual de la estación de trabajo.

Para omitir este redireccionamiento, usa el _workstationAccessToken URL parámetro:

  1. Genera un token de acceso con el generateAccessToken método de API.
  2. Abre la URL de tu estación de trabajo en el navegador y agrega un parámetro de URL con el siguiente formulario: _workstationAccessToken=TOKEN.

Esto establece una cookie de autenticación en tu navegador que permite el acceso a la sesión actual de la estación de trabajo. Omitir el redireccionamiento puede ser útil cuando las políticas de red bloquean el acceso al servidor de la estación de trabajo o cuando se usan elementos iframe para mostrar la estación de trabajo en otros sitios.

Usar la identidad de una cuenta de servicio

Si las políticas de seguridad de tu organización impiden que las cuentas de usuario tengan los permisos necesarios, también puedes usar la identidad temporal como cuenta de servicio. Para usar la identidad de la cuenta de servicio especificada en la configuración de tu estación de trabajo, puedes especificar el campo de permisos de la cuenta de servicio.

        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
      
Cuando se especifica, los usuarios de las estaciones de trabajo en esta configuración deben tener el permiso iam.serviceAccounts.actAs en la cuenta de servicio. Para obtener más información sobre cómo especificar permisos para la cuenta de servicio, consulta Permisos de acceso.

¿Qué sigue?