Cette page explique comment désactiver et activer les clés de compte de service à l'aide de la console Google Cloud, de Google Cloud CLI, de l'API Identity and Access Management, ou de l'une des bibliothèques clientes Google Cloud.
Avant de commencer
Enable the IAM API.
Configurez l'authentification.
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
gcloud
Vous pouvez utiliser les exemples gcloud CLI de cette page dans l'un des environnements de développement suivants :
-
Cloud Shell : pour utiliser un terminal en ligne avec gcloud CLI déjà configuré, activez Cloud Shell.
En bas de cette page, une session Cloud Shell démarre et affiche une invite de ligne de commande. L'initialisation de la session peut prendre quelques secondes.
-
Shell local : pour utiliser gcloud CLI dans un environnement de développement local, installez et initialisez gcloud CLI.
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Comprendre les identifiants de compte de service
Rôles requis
Afin d'obtenir les autorisations nécessaires pour désactiver et activer des clés de compte de service, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur de clés de compte de service (roles/iam.serviceAccountKeyAdmin
) sur le projet, ou sur le compte de service dont vous souhaitez gérer les clés.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus, consultez la section Rôles des comptes de service.
Les rôles de base IAM contiennent également les autorisations nécessaires pour gérer les clés de compte de service. Les rôles de base ne doivent pas être attribués dans un environnement de production, mais ils peuvent être attribués dans un environnement de développement ou de test.
Désactiver une clé de compte de service
La désactivation d'une clé de compte de service vous empêche d'utiliser la clé pour vous authentifier auprès des API Google. Vous pouvez réactiver une clé désactivée à tout moment.
Avant de supprimer une clé de compte de service, nous vous recommandons de la désactiver, puis de vous assurer qu'elle n'est plus nécessaire. Vous pouvez ensuite la supprimer.
Vous pouvez afficher les clés désactivées dans la console Google Cloud, mais vous ne pouvez pas l'utiliser pour la désactiver. Utilisez plutôt la CLI gcloud ou l'API REST.
gcloud
Exécutez la commande gcloud iam service-accounts keys disable
pour désactiver un compte de service.
Remplacez les valeurs suivantes :
KEY_ID
: ID de la clé à désactiver. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez désactiver, puis copiez son ID.SA_NAME
: nom du compte de service auquel appartient la clé.PROJECT_ID
: ID de votre projet Google Cloud.
gcloud iam service-accounts keys disable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID
Résultat :
Disabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode projects.serviceAccounts.keys.disable
désactive une clé de compte de service.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
.SA_NAME
: nom du compte de service dont vous souhaitez désactiver la clé.KEY_ID
: ID de la clé que vous souhaitez désactiver. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez désactiver, puis copiez son ID à la fin du champname
. L'ID de la clé correspond à tout ce qui suitkeys/
.
Méthode HTTP et URL :
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:disable
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ }
Activer une clé de compte de service
Après avoir désactivé une clé de compte de service, vous pouvez l'activer à tout moment, puis vous en servir pour vous authentifier auprès des API Google.
Vous ne pouvez pas activer de clés de compte de service à l'aide de la console Google Cloud. Utilisez plutôt la CLI gcloud ou l'API REST.
gcloud
Exécutez la commande gcloud iam service-accounts keys enable
pour activer une clé de compte de service.
Remplacez les valeurs suivantes :
KEY_ID
: ID de la clé à activer. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez activer, puis copiez son ID.SA_NAME
: nom du compte de service auquel appartient la clé.PROJECT_ID
: ID de votre projet Google Cloud.
gcloud iam service-accounts keys enable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com\ --project=PROJECT_ID
Résultat :
Enabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode projects.serviceAccounts.keys.enable
active une clé de compte de service.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
.SA_NAME
: nom du compte de service dont vous souhaitez activer la clé.-
KEY_ID
: ID de la clé que vous souhaitez activer. Pour trouver l'ID de la clé, répertoriez toutes les clés du compte de service, identifiez la clé que vous souhaitez activer, puis copiez son ID à la fin du champname
. L'ID de la clé correspond à tout ce qui suitkeys/
.
Méthode HTTP et URL :
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID:enable
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ }
Étapes suivantes
- Apprenez à supprimer des clés de compte de service.
- Découvrez comment répertorier et obtenir des clés de compte de service.
- Apprenez à utiliser les clés de compte de service pour vous authentifier en tant que compte de service.
- Découvrez des alternatives aux clés de compte de service pour l'authentification.
- Identifiez les bonnes pratiques pour gérer les clés de compte de service.
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Essai gratuit