web-dev-qa-db-fra.com

Connexion à GCP à partir de la ligne de commande

J'étais sûr que ce sera simple mais je n'ai trouvé aucune documentation ou résolution. J'essaie d'écrire un script en utilisant gcloud pour effectuer certaines opérations dans mes instances GCP.

Est-il possible de se connecter/authentifier en utilisant gcloud via la ligne de commande uniquement?

Merci

17
Lior Ohana

Vous avez ici quelques options (selon ce que vous essayez exactement de faire).

La première option consiste à se connecter en utilisant le --no-launch-browser option. Cela nécessite toujours l'interaction d'un utilisateur humain, mais ne nécessite pas de navigateur sur la machine que vous utilisez:

> gcloud auth login --no-launch-browser
Go to the following link in your browser:

    https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&Prompt=select_account&response_type=code&client_id=32555940559.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute&access_type=offline


Enter verification code: *********************************************
Saved Application Default Credentials.

You are now logged in as [[email protected]].
Your current project is [None].  You can change this setting by running:
  $ gcloud config set project PROJECT_ID

L'option non interactive implique comptes de service . La documentation liée les explique mieux que moi, mais la version courte de ce que vous devez faire est la suivante:

  1. Créez un compte de service dans Google Developers Console . Assurez-vous qu'il a les "étendues" appropriées (ce sont des autorisations qui déterminent ce que ce compte de service peut faire. Téléchargez le fichier de clé JSON correspondant.

  2. Courir gcloud auth activate-service-account --key-file <path to key file>.

Notez que les machines virtuelles Google Compute Engine sont fournies avec un compte de service légèrement différent; la différence est décrite ici .

30
Zachary Newman