Autoriser la CLI gcloud

Pour accéder à Google Cloud, vous devez généralement autoriser la CLI Google Cloud. Cette page présente les options d'autorisation disponibles et explique comment gérer les comptes utilisés pour l'autorisation. Si vous utilisez une instance Compute Engine ou Cloud Shell, vous n'avez pas besoin d'autoriser la CLI gcloud.

Types de comptes

Pour accorder à la CLI gcloud l'autorisation d'accéder à Google Cloud, vous pouvez utiliser un compte utilisateur ou un compte de service.

Un compte utilisateur est un compte Google Cloud qui permet aux utilisateurs finaux de s'authentifier auprès de votre application. Dans la plupart des cas d'utilisation courants, en particulier de manière interactive à l'aide de la CLI gcloud, il est recommandé d'utiliser un compte utilisateur.

Un compte de service est un compte Google Cloud associé à votre projet Google Cloud plutôt qu'à un utilisateur spécifique. Pour que votre application utilise un compte de service, vous devez lui fournir une clé de compte de service. Vous pouvez également passer par le compte de service intégré disponible lorsque vous utilisez Cloud Functions, App Engine, Compute Engine ou Google Kubernetes Engine. Un compte de service est recommandé pour exécuter les scripts de CLI gcloud sur plusieurs machines.

Sélectionner un type d'autorisation

Vous devez autoriser la CLI Google Cloud à gérer les ressources Google Cloud. La CLI gcloud et Google Cloud utilisent OAuth2 pour l'authentification et l'autorisation.

Choisissez l'un des types d'autorisation suivants :

Type Description
Compte utilisateur Recommandé si vous utilisez la CLI gcloud à partir de la ligne de commande ou si vous écrivez des scripts avec la CLI gcloud pour une utilisation sur une seule machine.
Compte de service Recommandé si vous installez et configurez la CLI gcloud dans le cadre d'un processus de déploiement de machine en production ou pour les instances de machines virtuelles Compute Engine où tous les utilisateurs ont accès à root.

Pour en savoir plus sur l'authentification dans Google Cloud, consultez la page Présentation de l'authentification.

Autoriser avec un compte utilisateur

Vous pouvez utiliser les commandes de CLI gcloud suivantes pour autoriser l'accès avec un compte utilisateur:

Commande Description
gcloud init Autorise l'accès et effectue d'autres étapes de configuration courantes.
gcloud auth login Autorise l'accès uniquement.

Pendant la procédure d'autorisation, ces commandes obtiennent les identifiants du compte auprès de Google Cloud et les stockent sur le système local. Le compte spécifié devient le compte actif dans votre configuration. La CLI gcloud utilise les identifiants stockés pour accéder à Google Cloud. Vous pouvez posséder un nombre illimité de comptes avec des identifiants stockés pour une seule installation de CLI gcloud, mais un seul compte est actif à la fois.

Run gcloud init (Exécuter gcloud init)

gcloud init autorise l'accès et effectue d'autres étapes de configuration courantes. gcloud init utilise un flux d'autorisation Web pour authentifier le compte utilisateur et accorder les autorisations d'accès.

Pour autoriser l'accès et effectuer d'autres étapes de configuration courantes:

  1. Exécutez gcloud init :

    gcloud init
    

    Ou, pour empêcher la commande d'ouvrir automatiquement un navigateur Web :

    gcloud init --console-only
    

    Le paramètre --console-only est utile si vous exécutez la commande sur un système distant via ssh et si vous n'avez pas accès à un navigateur sur ce système. Vous devez ensuite ouvrir manuellement l'URL fournie dans un navigateur sur votre système local pour terminer le processus d'autorisation.

  2. Suivez le flux d'autorisation basé sur le navigateur pour authentifier le compte et accorder les autorisations d'accès.

Pour en savoir plus sur gcloud init, consultez la section Initialiser la CLI gcloud.

Exécuter gcloud auth login

L'exécution de gcloud auth login n'autorise que le compte utilisateur. Pour autoriser l'accès sans effectuer d'autres étapes de configuration, utilisez l'une des options suivantes.

  • Si vous souhaitez autoriser l'interface de ligne de commande gcloud sur une machine dotée d'un navigateur, procédez comme suit :

    1. Autorisez la CLI gcloud:

      gcloud auth login
      
    2. Suivez le flux d'autorisation basé sur le navigateur pour authentifier le compte et accorder les autorisations d'accès.

  • Facultatif: Si vous souhaitez autoriser la CLI gcloud sur une machine qui n'a pas de navigateur et que vous pouvez l'installer sur un autre ordinateur à l'aide d'un navigateur, utilisez l'indicateur --no-browser.

    1. Autorisez la CLI gcloud:

      gcloud auth login --no-browser
      
    2. Copiez la commande longue commençant par gcloud auth login --remote-bootstrap=".

    3. Collez et exécutez cette commande sur la ligne de commande d'une autre machine de confiance, qui dispose d'installations locales d'un navigateur Web et de la version 372.0 (ou ultérieure) de l'outil gcloud.

    4. Copiez la sortie de l'URL longue depuis la machine avec le navigateur Web.

    5. Collez la longue URL sur la première machine sous l'invite, saisissez le résultat de la commande ci-dessus, puis appuyez sur Entrée pour terminer l'autorisation.

  • Facultatif: Si vous souhaitez autoriser la CLI gcloud sur une machine qui n'a pas de navigateur et que vous ne pouvez pas installer la CLI gcloud sur une autre machine avec un navigateur, utilisez l'indicateur --no-launch-browser. L'option --no-launch-browser empêche la commande d'ouvrir automatiquement un navigateur Web.

    1. Autorisez la CLI gcloud:

      gcloud auth login --no-launch-browser
      
    2. Copiez l'URL longue qui commence par https://accounts.google.com/o/oauth2/auth....

    3. Collez cette URL dans le navigateur d'une autre machine fiable dotée d'un navigateur Web.

    4. Copiez le code d'autorisation depuis l'ordinateur avec le navigateur Web.

    5. Collez le code d'autorisation sur la première machine à l'invite, puis saisissez le code de validation. Appuyez ensuite sur Entrée pour terminer l'autorisation.

Autoriser avec un compte de service

gcloud auth activate-service-account autorise l'accès à l'aide d'un compte de service. Comme pour gcloud init et gcloud auth login, cette commande enregistre les identifiants du compte de service sur le système local une fois les opérations terminées et définit le compte spécifié comme compte actif dans la configuration de la CLI gcloud.

Pour autoriser l'utilisation d'un compte de service :

  1. Accédez à la page "Comptes de service" de Google Cloud Console.

    Accéder à la page "Comptes de service"

  2. Sélectionnez un compte existant ou créez un compte en cliquant sur Créer un compte de service.

  3. Pour créer et télécharger un fichier de clé au format JSON, procédez comme suit :

    1. Cliquez sur le menu d'actions Bouton "plus" du compte de service, puis sélectionnez Gérer les clés.
    2. Cliquez sur le menu déroulant Ajouter une clé.
    3. Cliquez sur Create new key (Créer une clé).
    4. Sélectionnez un format de clé, puis cliquez sur Créer.
  4. Si nécessaire, déplacez le fichier de clé vers un emplacement du même système que celui où vous autorisez la CLI gcloud.

    Sinon, plutôt que d'effectuer les étapes 1 à 4, vous pouvez obtenir une clé pour un compte de service existant via gcloud iam service-accounts keys create.

  5. Pour activer votre compte de service, exécutez gcloud auth activate-service-account :

    gcloud auth activate-service-account [ACCOUNT] --key-file=[KEY_FILE]
    
  6. Supprimez le fichier de clé du système. Notez que la CLI gcloud stocke les clés et que la copie de la clé dans la CLI gcloud est conservée.

Répertorier les comptes

Pour répertorier les comptes dont les identifiants sont stockés sur le système local, exécutez gcloud auth list :

gcloud auth list

La CLI gcloud répertorie les comptes et indique celui qui est actif:

Credentialed accounts:
 - user-1@gmail.com (active)
 - user-2@gmail.com

Changer de compte actif

Pour changer de compte actif, exécutez gcloud config set :

gcloud config set account [ACCOUNT]

[ACCOUNT] est l'adresse e-mail complète du compte.

Vous pouvez également changer de compte en créant une configuration distincte spécifiant le nouveau compte et en basculant entre les configurations :

gcloud config configurations activate [CONFIGURATION]

Si vous souhaitez changer le compte utilisé par la CLI gcloud pour chaque appel, ignorez le compte actif à l'aide de l'option --account.

Définir la durée de session autorisée (Google Workspace uniquement)

En tant qu'administrateur, vous pouvez contrôler la durée pendant laquelle les différents utilisateurs peuvent accéder à la CLI gcloud sans avoir à s'authentifier à nouveau. Par exemple, vous pouvez forcer les utilisateurs disposant de droits élevés à s'authentifier à nouveau plus souvent que les utilisateurs standards.

Pour en savoir plus, consultez Définir la durée de session pour les services Google Cloud.

Révoquer les identifiants d'un compte

Vous pouvez révoquer des identifiants lorsque vous souhaitez interdire l'accès à la CLI gcloud par un compte particulier. Vous n'avez pas besoin de révoquer les identifiants pour passer d'un compte à l'autre.

Pour révoquer des identifiants, exécutez la commande gcloud auth revoke suivante :

gcloud auth revoke [ACCOUNT]

Pour révoquer tous les accès à la CLI gcloud pour toutes les machines, supprimez la CLI gcloud de la liste des applications ayant accès à votre compte.

Rechercher vos fichiers d'identifiants

Pour trouver l'emplacement de vos fichiers d'identifiants, exécutez la commande gcloud info :

gcloud info

La CLI gcloud affiche des informations sur votre installation. Les fichiers d'identifiants sont stockés dans le répertoire de configuration de l'utilisateur :

User Config Directory: [/home/username/.config/gcloud]

Étapes suivantes