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

Este documento describe cómo autenticar y configurar el acceso a la API en un estación de trabajo. Para obtener información general sobre la autenticación de Google Cloud, consulta el descripción general de la autenticación.

Autenticar como usuario con Google Cloud CLI

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

  1. Abre una terminal en tu estación de trabajo. La forma de abrir una ventana de terminal depende del IDE que usas. Por ejemplo, si estás usando el editor base de Cloud Workstations, abre un selecciona Terminal > New Terminal o presiona Control + Mayúsculas +`.
  2. Usa el siguiente comando para autenticarte:
    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. Habilitar 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 guardan y están disponibles cuando uses 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 Cloud Workstations User en esa estación de trabajo:

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

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

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

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

  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 formato: _workstationAccessToken=TOKEN

Esto establece una cookie de autenticación en tu navegador que permite el acceso a la sesión actual de tu 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 cuando usas 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 a cuenta de servicio especificada en la configuración de tu estación de trabajo, puedes especificar el permiso de la cuenta de servicio. Si se especifica, los usuarios de estaciones de trabajo configuración debe tener el permiso iam.serviceAccounts.actAs en el servicio de servicio predeterminada. Para obtener más información sobre cómo especificar los alcances de la cuenta de servicio, consulta Permisos de acceso.

También puedes suplantar la identidad de una cuenta de servicio diferente con la propiedad impersonate_service_account de la CLI de gcloud.

  1. Para garantizar que la cuenta principal tenga el permiso necesario para usar la identidad de otra cuenta de servicio, pídele a tu administrador que le otorgue a la cuenta principal el rol de IAM Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator) en la cuenta de servicio. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    Este rol predefinido contiene el permiso iam.serviceAccounts.getAccessToken, que se requiere para usar la identidad de otra cuenta de servicio.

    Es posible que tu administrador también pueda otorgar este permiso a la cuenta principal con roles personalizados o con otros roles predefinidos.

  2. Abre una terminal en tu estación de trabajo o navega a una que ya esté abierta.
  3. Para configurar la propiedad impersonate_service_account, ingresa el siguiente comando de la CLI de gcloud:
    gcloud config set auth/impersonate_service_account=SERVICE_ACCT_EMAIL
  4. Tus credenciales de la CLI de gcloud ahora se guardan y están disponibles cuando uses tu estación de trabajo en en sesiones futuras.
  5. Para obtener más información, consulta Usa la suplantación de cuentas de servicio.

¿Qué sigue?