Autoriser les outils SDK Cloud

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

Types de comptes

Pour autoriser les outils du SDK Cloud à 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 si vous utilisez les outils du SDK Cloud à partir de la ligne de commande, il est recommandé d'utiliser un compte utilisateur.

Un compte de service est un compte Google Cloud associé à votre projet Google Cloud et non à un utilisateur spécifique. Pour que votre application utilise un compte de service, vous devez fournir une clé de compte de service à votre application. Vous pouvez également utiliser le compte de service intégré disponible lorsque vous utilisez Cloud Functions, App Engine, Compute Engine ou Google Kubernetes Engine. Il est recommandé de créer un script des outils du SDK Cloud à utiliser sur plusieurs machines.

Choisir un type d'autorisation

Vous devez autoriser l'outil de ligne de commande gcloud et d'autres outils du SDK Cloud avant de pouvoir les utiliser pour gérer les ressources de la plate-forme. Le SDK Cloud 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 les outils du SDK Cloud à partir de la ligne de commande ou si vous créez un script pour ces outils à utiliser sur une seule machine.
Compte de service Recommandé si vous installez et configurez le SDK Cloud dans le cadre d'un processus de déploiement de machine en production, ou pour une utilisation sur des instances de machine virtuelle Compute Engine où tous les utilisateurs ont accès à root.

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

Autoriser avec un compte utilisateur

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

Commande Description
gcloud init Autorise l'accès et exécute d'autres étapes courantes de configuration du SDK Cloud.
gcloud auth login Autorise l'accès uniquement.

Pendant l'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 du SDK Cloud. L'outil gcloud et d'autres outils du SDK Cloud utilisent 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 du SDK Cloud, mais un seul compte est actif à la fois.

Exécuter gcloud init

gcloud init autorise l'accès et exécute d'autres étapes courantes de configuration du SDK Cloud. Il utilise un flux d'autorisation Web pour authentifier le compte utilisateur et accorder des autorisations d'accès.

Pour autoriser l'accès et exécuter d'autres étapes courantes de configuration du SDK Cloud :

  1. Exécutez gcloud init :

    gcloud init
    

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

    gcloud init --console-only
    

    L'option --console-only est utile si vous exécutez la commande sur un système distant à l'aide de ssh et que 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.

Consultez la section Initialiser le SDK Cloud pour en savoir plus sur cette commande et sur l'initialisation du SDK Cloud.

Exécuter gcloud auth login

gcloud auth login autorise uniquement le compte utilisateur.

Pour autoriser l'accès sans exécuter d'autres étapes de configuration :

  1. Exécutez gcloud auth login :

    gcloud auth login
    

    ou

    gcloud auth login --no-launch-browser
    

    Vous pouvez utiliser l'option --no-launch-browser pour empêcher la commande d'ouvrir automatiquement un navigateur Web. 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.

Autoriser avec un compte de service

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

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

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

    Accéder à la page "Comptes de service"

  2. Choisissez un compte existant ou créez-en un 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 où vous autorisez les outils du SDK Cloud.

    Sinon, au lieu des étapes 1 à 4, vous pouvez obtenir une clé pour un compte de service existant en utilisant 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 l'outil gcloud stocke les clés et que la copie de l'outil gcloud demeure.

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

L'outil 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 l'outil gcloud au niveau de chaque appel, remplacez 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 différents utilisateurs peuvent accéder au SDK Cloud sans avoir à vous authentifier à nouveau. Par exemple, vous pouvez utiliser cette fonctionnalité pour forcer les utilisateurs disposant de droits élevés à s'authentifier à nouveau plus souvent que les utilisateurs standards.

Pour en savoir plus sur l'activation de cette fonctionnalité, consultez l'article d'aide 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 l'accès par l'outil gcloud et les autres outils du SDK Cloud à un compte particulier. Vous n'avez pas besoin de révoquer les identifiants pour changer de compte.

Pour révoquer les identifiants, exécutez gcloud auth revoke:

gcloud auth revoke [ACCOUNT]

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

Trouver vos fichiers d'identifiants

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

gcloud info

L'outil gcloud affiche les informations relatives à votre installation du SDK Cloud. Les fichiers contenant les identifiants sont stockés dans le répertoire de configuration de l'utilisateur:

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

Étape suivante