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