Cómo autenticar y configurar 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 en una estación de trabajo. Para obtener información general sobre la autenticación de Google Cloud, consulta la descripción general de la autenticación.

Cómo autenticarse como usuario con Google Cloud CLI

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

  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 + Mayúsculas +`.
  2. Realiza la autenticación 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 el ID de tu proyecto de Google Cloud con el siguiente comando:
    gcloud config set project PROJECT_ID
  5. Habilita las credenciales predeterminadas de la aplicación para poder llamar a los servicios de Google Cloud.
    gcloud auth application-default login
  6. Tus credenciales de la CLI de gcloud ahora se guardaron y estarán disponibles cuando uses tu estación de trabajo en sesiones futuras.

Cómo emitir 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.

Cómo conectarse a la estación de trabajo en tu navegador

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

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

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

Esto establece una cookie de autenticación en tu navegador que permite el acceso a tu sesión de estación de trabajo actual. 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 iframes 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 actuar en nombre de una cuenta de servicio. Para suplantar 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 especifique, los usuarios de las estaciones de trabajo con esta configuración deben tener 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?