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 la autenticación de Google Cloud, 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 servicios de Google Cloud y a la API 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 usas. Por ejemplo, si usas el editor base de Cloud Workstations, abre una terminal seleccionando Terminal > Terminal nueva o presionando Control + Mayús +`.
  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 ID del 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 están guardadas y disponibles cuando uses la estación de trabajo en sesiones futuras.

Envía una solicitud HTTP a una estación de trabajo

Si deseas emitir una solicitud HTTP a una estación de trabajo, necesitas un token de acceso para una cuenta que tenga la función Usuario de Cloud Workstations en esa estación de trabajo:

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

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

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

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 configura una cookie de autenticación en tu navegador que permite el acceso a la sesión de tu 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 usar la propiedad gcloud impersonate_service_account de la CLI.

  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.

    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 están guardadas y disponibles cuando uses la estación de trabajo en sesiones futuras.
  5. Para obtener más información, consulta Usa la suplantación de cuentas de servicio.

¿Qué sigue?