Authentifier et configurer l'accès à l'API dans une station de travail

Ce document explique comment authentifier et configurer l'accès aux API dans une station de travail. Pour obtenir des informations générales sur l'authentification Google Cloud, consultez la page Présentation de l'authentification.

S'authentifier en tant qu'utilisateur avec Google Cloud CLI

Après avoir lancé Cloud Workstations, vous pouvez accéder aux services et à l'API Google Cloud à l'aide de vos comptes utilisateur via la CLI gcloud.

  1. Ouvrez un terminal dans votre poste de travail. La façon dont vous ouvrez une fenêtre de terminal dépend de l'IDE que vous utilisez. Par exemple, si vous utilisez l'éditeur de base de Cloud Workstations, ouvrez un terminal en sélectionnant Terminal > Nouveau terminal ou en appuyant sur Ctrl+Maj+`.
  2. Authentifiez-vous à l'aide de la commande suivante:
    gcloud auth login --no-launch-browser
  3. Suivez les instructions fournies par la commande pour vous authentifier auprès de Google Cloud.
  4. Spécifiez l'ID de votre projet Google Cloud à l'aide de la commande suivante:
    gcloud config set project PROJECT_ID
  5. Activez les identifiants par défaut de l'application pour pouvoir appeler les services Google Cloud.
    gcloud auth application-default login
  6. Vos identifiants de CLI gcloud sont désormais enregistrés et disponibles lorsque vous utilisez votre station de travail lors de sessions ultérieures.

Émettre une requête HTTP vers une station de travail

Pour envoyer une requête HTTP à une station de travail, vous avez besoin d'un jeton d'accès pour un compte disposant du rôle Utilisateur des stations de travail Cloud sur cette station de travail:

  1. Générez un jeton d'accès à l'aide de la méthode API generateAccessToken.
  2. Ajoutez un en-tête HTTP nommé Authorization avec la valeur Bearer $TOKEN.

Se connecter à la station de travail dans votre navigateur

L'ouverture de l'URL de votre poste de travail dans votre navigateur s'authentifie automatiquement via une redirection vers le serveur de la station de travail et récupère un jeton d'accès généré par la méthode d'API generateAccessToken. Vous êtes alors redirigé vers votre station de travail et un cookie d'authentification valide pour votre session de station de travail actuelle est défini.

Pour ignorer cette redirection, utilisez le paramètre d'URL _workstationAccessToken:

  1. Générez un jeton d'accès à l'aide de la méthode API generateAccessToken.
  2. Ouvrez l'URL de votre station de travail dans le navigateur et ajoutez un paramètre d'URL au format suivant : _workstationAccessToken=TOKEN.

Un cookie d'authentification est alors défini dans votre navigateur, ce qui permet d'autoriser l'accès à votre session de poste de travail actuelle. Ignorer la redirection peut être utile lorsque l'accès au serveur de la station de travail est bloqué par des stratégies réseau ou lorsque des iFrames sont utilisés pour afficher la station de travail sur d'autres sites.

Emprunter l'identité d'un compte de service

Si les règles de sécurité de votre organisation empêchent les comptes utilisateur de disposer des autorisations requises, vous pouvez également usurper l'identité d'un compte de service. Pour usurper l'identité du compte de service spécifié dans la configuration de votre station de travail, vous pouvez spécifier le champ Champs d'application du compte de service.

        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
      
Lorsque spécifié, les utilisateurs des stations de travail dans cette configuration doivent disposer de l'autorisation iam.serviceAccounts.actAs sur le compte de service. Pour en savoir plus sur la spécification de champs d'application pour le compte de service, consultez la section Champs d'application d'accès.

Étape suivante