Authentifier et configurer l'accès aux API sur une station de travail

Ce document explique comment authentifier et configurer l'accès aux API sur un poste 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 manière 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 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 maintenant enregistrés et disponibles lorsque vous utiliserez votre station de travail dans de futures sessions.

Envoyer une requête HTTP à 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 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 station de travail dans votre navigateur permet une authentification automatique via une redirection vers le serveur des stations de travail, et permet de récupérer un jeton d'accès généré par la méthode API generateAccessToken. Cette action redirige vers votre station de travail et définit un cookie d'authentification valide pour votre session de station de travail actuelle.

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. Il permet d'accéder à votre session de poste de travail actuelle. Il peut être utile d'ignorer la redirection lorsque l'accès au serveur de la station de travail est bloqué par des règles de réseau ou lorsque vous utilisez des iFrames 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 emprunter l'identité d'un compte de service à l'aide de la propriété impersonate_service_account de la CLI gcloud.

  1. Pour vous assurer que le compte principal dispose des autorisations nécessaires pour emprunter l'identité d'un compte de service, demandez à votre administrateur de lui accorder le rôle IAM Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator) sur le compte de service. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

    Ce rôle prédéfini contient l'autorisation iam.serviceAccounts.getAccessToken, qui est requise pour emprunter l'identité d'un compte de service.

    Votre administrateur peut également attribuer au compte principal cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

  2. Ouvrez un terminal sur votre station de travail ou accédez à un terminal déjà ouvert.
  3. Pour définir la propriété impersonate_service_account, saisissez la commande CLI gcloud suivante:
    gcloud config set auth/impersonate_service_account=SERVICE_ACCT_EMAIL
  4. Vos identifiants de CLI gcloud sont maintenant enregistrés et disponibles lorsque vous utiliserez votre station de travail dans de futures sessions.
  5. Pour en savoir plus, consultez Utiliser l'emprunt d'identité d'un compte de service.

Étapes suivantes