Autoriser gcloud CLI

Pour accéder à Google Cloud, vous devez généralement autoriser Google Cloud CLI. 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 gcloud CLI.

Types de comptes

Pour autoriser gcloud CLI à 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. Pour les cas d'utilisation les plus courants, il est recommandé d'utiliser un compte utilisateur, en particulier de manière interactive avec gcloud CLI.

Un compte de service est un compte Google Cloud associé à votre projet Google Cloud plutôt qu'à un utilisateur spécifique. Vous pouvez vous servir du 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 des scripts gcloud CLI sur plusieurs machines.

Choisir un type d'autorisation

Vous devez autoriser Google Cloud CLI à gérer des ressources Google Cloud. Google Cloud CLI et Google Cloud utilisent tous deux OAuth2 pour l'authentification et l'autorisation.

Choisissez l'un des types d'autorisation suivants :

Type Description
Compte utilisateur Recommandé si vous utilisez gcloud CLI à partir de la ligne de commande ou si vous écrivez des scripts avec gcloud CLI à utiliser sur une seule machine.
Compte de service Recommandé si vous installez et configurez gcloud CLI dans le cadre d'un processus de déploiement de machine en production, ou pour une utilisation sur des 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

Exécutez les commandes gcloud CLI 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 gcloud CLI utilise les identifiants stockés pour accéder à Google Cloud. Vous pouvez disposer d'un nombre illimité de comptes avec des identifiants stockés pour une seule installation de gcloud CLI, 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 page 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 gcloud CLI sur un ordinateur doté d'un navigateur, procédez comme suit :

    1. Autorisez gcloud CLI:

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

  • Si vous souhaitez autoriser gcloud CLI sur une machine ne disposant pas d'un navigateur et que vous pouvez l'installer sur une autre machine avec un navigateur, utilisez l'indicateur --no-browser.

    1. Autorisez gcloud CLI:

      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 CLI.

    4. Copiez la longue URL générée à partir de la machine dans 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.

  • Si vous souhaitez autoriser gcloud CLI sur une machine ne disposant pas d'un navigateur et que vous ne pouvez pas l'installer 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 gcloud CLI:

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

    3. Collez cette URL dans le navigateur d'un autre ordinateur de confiance doté d'un navigateur Web.

    4. Copiez le code d'autorisation de la machine dans le navigateur Web.

    5. Collez le code d'autorisation sur la première machine à l'invite "Saisir le code de validation", puis appuyez sur Entrée pour finaliser l'autorisation.

  • Si vous disposez déjà d'un jeton d'accès, utilisez l'une des méthodes suivantes pour transmettre ce jeton à gcloud CLI.

    • Stockez le jeton d'accès dans un fichier et définissez son chemin via l'indicateur --access-token-file.
    • Stockez le jeton d'accès dans un fichier et définissez son chemin dans la propriété auth/access_token_file.
    • Définissez la variable d'environnement CLOUDSDK_AUTH_ACCESS_TOKEN sur la valeur du jeton d'accès.

Autoriser avec un compte de service

La commande gcloud auth login peut autoriser l'accès avec un compte de service à l'aide d'un fichier d'identifiants stocké sur votre système de fichiers local. Il peut s'agir d'un fichier de configuration des identifiants pour la fédération d'identité de charge de travail ou d'une clé de compte de service.

Autoriser un compte de service à l'aide de la fédération d'identité de charge de travail

Pour autoriser gcloud CLI avec un compte de service à l'aide d'identifiants externes de la fédération d'identité de charge de travail, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page "Comptes de service".

    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. Créez un fichier de configuration des identifiants pour la fédération d'identité de charge de travail en suivant les instructions de votre fournisseur d'identité compatible.

  4. Pour activer votre compte de service, exécutez gcloud auth login avec l'option --cred-file:

    gcloud auth login --cred-file=CONFIGURATION_FILE
    

    Remplacez CONFIGURATION_FILE par le chemin d'accès à un fichier de configuration des identifiants pour la fédération d'identité de charge de travail.

Autoriser un compte de service à l'aide d'une clé de compte de service

Pour autoriser gcloud CLI avec un compte de service à l'aide d'une clé de compte de service, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page "Comptes de service".

    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 des clés de compte de service, consultez les instructions IAM pour créer une clé de compte de service.

  4. Pour activer votre compte de service, exécutez gcloud auth login avec l'option --cred-file:

    gcloud auth login --cred-file=KEY_FILE
    

    Remplacez KEY_FILE par le chemin d'accès à un fichier de clé de compte de service.

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

Gcloud CLI 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 gcloud CLI par appel, remplacez le compte actif à l'aide de l'option --account.

Définir la durée de session autorisée

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

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

Révoquer des identifiants pour un compte

Vous pouvez révoquer les identifiants lorsque vous souhaitez interdire à gcloud CLI d'accéder à un compte particulier. Vous n'avez pas besoin de révoquer les identifiants pour changer de compte.

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

gcloud auth revoke ACCOUNT

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

Utiliser les fichiers d'identifiants

Rechercher vos fichiers d'identifiants

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

gcloud info

Gcloud CLI affiche les informations concernant 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]

Configurer les identifiants par défaut de l'application

Gcloud CLI permet de gérer les identifiants par défaut de l'application (ADC) avec le groupe de commandes gcloud auth application-default. Pour rendre les identifiants utilisateur disponibles pour le service ADC, exécutez gcloud auth application-default login:

gcloud auth application-default login

Ces identifiants ne sont pas utilisés par gcloud CLI. Pour en savoir plus, consultez Fournir des identifiants pour les identifiants par défaut de l'application et Fonctionnement des identifiants par défaut de l'application.

Étapes suivantes