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 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 Google Cloud et à l'API à 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 CLI gcloud sont désormais enregistrés et disponibles lorsque vous utilisez votre station de travail dans les prochaines sessions.

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

Pour émettre 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 Cloud Workstations 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 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.

Cela définit un cookie d'authentification dans votre navigateur qui permet l'accès pour votre session de poste de travail actuelle. Il peut être utile d'ignorer la redirection. lorsque l'accès au serveur de stations de travail est bloqué par des règles de réseau ; ou lors de l'utilisation d'iFrames pour afficher le poste 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 vous pouvez également emprunter 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
      
Si spécifié, les utilisateurs des stations de travail sous ce la configuration doit disposer de l'autorisation iam.serviceAccounts.actAs sur le service 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