Autoriser les outils SDK Cloud

Pour accéder à Google Cloud Platform (GCP), vous devez généralement autoriser les outils du SDK 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 Google Compute Engine ou Google Cloud Shell, vous n'avez pas à autoriser les outils du SDK Cloud.

Types de comptes

Pour autoriser les outils du SDK Cloud à accéder à GCP, vous pouvez passer par un compte utilisateur ou un compte de service.

Un compte utilisateur est un compte Google qui permet aux utilisateurs finaux de s'authentifier directement auprès de votre application. Dans la plupart des cas d'utilisation courants, en particulier lors de l'utilisation interactive des outils du SDK Cloud à partir de la ligne de commande, le recours à un compte utilisateur fait partie des bonnes pratiques.

Un compte de service est un compte Google associé à votre projet GCP et non à un utilisateur spécifique. Vous pouvez utiliser un compte de service en fournissant une clé de compte de service à l'application. Vous pouvez également passer par le compte de service intégré disponible lorsque vous utilisez Google Cloud Functions, Google App Engine, Google Compute Engine ou Google Kubernetes Engine. Un compte de service est recommandé afin de créer un script sur les outils du SDK Cloud pour utilisation sur plusieurs machines.

Choisir un type d'autorisation

Avant de pouvoir les utiliser pour gérer les ressources de la plate-forme, vous devez autoriser la CLI gcloud et les autres outils du SDK Cloud. Le SDK Cloud et Cloud Platform utilisent OAuth2 pour l'authentification et l'autorisation.

Choisissez l'un des types d'autorisation suivants :

Type Description
Compte d'utilisateur Recommandé si vous utilisez les outils du SDK Cloud à partir de la ligne de commande ou si vous créez des scripts sur les outils du SDK Cloud pour utilisation 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 utilisation sur des instances de machine virtuelle Google Compute Engine où tous les utilisateurs ont accès à root.

Consultez le guide d'authentification Cloud Platform pour en savoir plus sur l'autorisation et sur Cloud Platform.

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 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 Cloud Platform et les stockent sur le système local. Le compte spécifié devient alors le compte actif dans votre configuration du SDK Cloud. La CLI gcloud et les autres outils du SDK Cloud se servent des identifiants stockés pour accéder à Cloud Platform. Vous pouvez disposer d'un nombre illimité de comptes avec des identifiants stockés pour une même 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. La commande s'appuie sur un flux d'autorisation Web pour authentifier le compte utilisateur et accorder les 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
    

    Le paramètre --console-only est utile si vous exécutez la commande sur un système distant utilisant 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.

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 n'autorise que 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 indiquer le paramètre --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 la console Google Cloud Platform.

    Accéder à la page "Comptes de service"

  2. Cliquez sur Créer un compte de service ou choisissez un compte existant.

  3. Cliquez sur le bouton Plus Créer un fichier de clé dans la colonne Options de la table des comptes de service, puis sélectionnez Create key (Créer une clé) pour créer et télécharger un fichier de clé au format JSON.

    Créer un fichier de clé

  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 via gcloud iam service-accounts keys create.

  5. Exécutez gcloud auth activate-service-account :

    gcloud auth activate-service-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é réalisée par 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 actuellement 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 voulez changer le compte utilisé par la CLI gcloud au niveau d'un appel individuel, remplacez le compte actif à l'aide du paramètre --account.

Révoquer des identifiants pour un compte

Vous pouvez révoquer les identifiants d'un compte particulier si vous souhaitez lui interdire l'accès à la CLI gcloud et aux autres outils du SDK Cloud. Vous n'avez pas besoin de révoquer les identifiants pour basculer entre les comptes.

Pour révoquer des identifiants, exécutez la commande 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

La CLI gcloud affiche les informations relatives à votre installation du SDK Cloud. 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

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation du SDK Cloud