gcloud CLI et clés de compte de service p12

La gcloud CLI permet aux développeurs d'utiliser des clés privées pour s'authentifier auprès du service ou comptes robots. Cette page explique comment créer et utiliser des clés de comptes de service p12 pour Google Cloud.

Installer pyca/cryptography

Bibliothèque pyca/cryptography (version >= 2.5) permet à la gcloud CLI de décoder le format p12 qui identifient un compte de service. Comme il inclut des routines cryptographiques, pyca/cryptography n'est pas distribué avec la CLI gcloud.

Si votre système dispose de pip (l'interface de ligne de commande de l'index de packages Python) pour installer pyca/cryptography, exécutez la commande suivante. Pour en savoir plus, consultez la page Instructions d'installation.

python -m pip install cryptography

CLOUDSDK_PYTHON_SITEPACKAGES=1

Une fois la bibliothèque pyca/cryptographie installée, vous devez définir la variable d'environnement CLOUDSDK_PYTHON_SITEPACKAGES sur 1. Cette variable d'environnement indique à gcloud CLI qu'il doit rechercher les bibliothèques en dehors de son propre répertoire google-cloud-sdk/lib. à inclure. Il est généralement prudent de définir CLOUDSDK_PYTHON_SITEPACKAGES=1, mais si quelque chose ne fonctionne plus, vous pouvez être amené à retirer ce réglage.

Créer un compte de service

Pour créer un compte de service et télécharger un fichier de clé p12, suivez les étapes décrites dans la section Créer des clés de compte de service.

Ce fichier de clé doit être considéré comme secret et vous devez prendre des précautions pour vous assurer qu'il n'est pas accessible par des parties non fiables. Sur les systèmes de type Unix, vous pouvez veiller à ce qu'un fichier ne soit pas visible par les autres utilisateurs connectés à distance (à l'exception d'un utilisateur racine) à l'aide de la commande suivante.

chmod 0600 YOUR_KEY_FILE.p12

Utiliser votre compte de service avec la CLI gcloud

Vous pouvez activer les identifiants du compte de service à l'aide de la commande gcloud auth activate-service-account.

Pour utiliser votre compte de service avec la gcloud CLI, exécutez la commande suivante : gcloud auth activate-service-account et transmettez-lui le chemin d'accès votre fichier de clé avec l'indicateur --key-file requis, et attribuez-lui une comme argument positionnel.

Le compte que vous utilisez doit correspondre à l'adresse e-mail du compte de service répertorié dans la console Google Cloud. L'adresse ne sera pas vérifiée, cela vous aide uniquement à vous souvenir du compte actif.

gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.gserviceaccount.com
Activated service account credentials for my_service_account@developer.gserviceaccount.com.

AVERTISSEMENT : La commande gcloud auth activate-service-account effectue une copie de votre clé privée et la stocke dans $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.gserviceaccount.com/private_key.p12 et $HOME/.config/gcloud/credentials.db. La copie est créée avec les autorisations 0600 (lecture/écriture pour votre propre utilisateur uniquement), et tout ce qui est stocké dans $HOME/.config/gcloud devrait déjà être considéré comme secret. Pour supprimer de manière fiable et sécurisée les données d'authentification stockées par la gcloud CLI, il suffit de supprimer $HOME/.config/gcloud. La gestion sécurisée du fichier de clé téléchargé à partir de la console Google Cloud est du ressort de l'utilisateur. Dans un doute, révoquez la clé dans la console Google Cloud.

Maintenant que le compte de service est activé, vous pouvez le voir dans la liste des identifiants.

gcloud auth list
        Credentialed Accounts
ACTIVE    ACCOUNT
*         my_service_account@developer.gserviceaccount.com

To set the active account, run:
    $ gcloud config set account my_service_account@developer.gserviceaccount.com

Haut de page