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