Cette page explique comment supprimer et annuler la suppression de comptes de service à l'aide de l'API Cloud IAM (Cloud Identity and Access Management), de la console Google Cloud et de l'outil de ligne de commande gcloud
.
Avant de commencer
Activez IAM API.
Configurez l'authentification.
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
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.
C++
Pour utiliser les exemples C++ 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.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créez des identifiants d'authentification locaux pour votre compte Google :
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.
C#
Pour utiliser les exemples .NET 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.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créez des identifiants d'authentification locaux pour votre compte Google :
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.
Go
Pour utiliser les exemples Go 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.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créez des identifiants d'authentification locaux pour votre compte Google :
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.
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.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créez des identifiants d'authentification locaux pour votre compte Google :
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.
Python
Pour utiliser les exemples Python 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.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créez des identifiants d'authentification locaux pour votre compte Google :
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.
Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :
gcloud init
-
Consultez la documentation relative aux comptes de service IAM.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les comptes de service, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
- Pour afficher les comptes de service : Afficher les comptes de service (
roles/iam.serviceAccountViewer
) - Pour modifier les comptes de service : Administrateur de compte de service (
roles/iam.serviceAccountAdmin
)
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 sur ces rôles, 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 comptes 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.
Répertorier les comptes de service
Vous pouvez répertorier les comptes de service gérés par l'utilisateur d'un projet pour vous aider à auditer les comptes de service et les clés, ou dans le cadre d'un outil personnalisé de gestion des comptes de service.
Vous ne pouvez pas répertorier les agents de service ni les autres comptes de service gérés par Google qui peuvent apparaître dans la stratégie d'autorisation et les journaux d'audit de votre projet. Les comptes de service gérés par Google ne sont pas situés dans votre projet et vous ne pouvez pas y accéder directement.
Console
Dans Google Cloud Console, accédez à la page Comptes de service.
Sélectionnez un projet.
La page Comptes de service répertorie tous les comptes de service gérés par l'utilisateur dans le projet que vous avez sélectionné.
gcloud
-
Dans la console Google Cloud, activez Cloud Shell.
En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
-
Exécutez la commande
gcloud iam service-accounts list
pour répertorier tous les comptes de service d'un projet.Commande :
gcloud iam service-accounts list
La sortie correspond à la liste de tous les comptes de service gérés par l'utilisateur dans le projet :
NAME EMAIL SA_DISPLAY_NAME_1 SA_NAME_1@PROJECT_ID.iam.gserviceaccount.com SA_DISPLAY_NAME_2 SA_NAME_2@PROJECT_ID.iam.gserviceaccount.com
C++
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 C++.
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.
C#
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 C#.
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.
Go
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 Go.
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.
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.
Python
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 Python.
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 serviceAccounts.list
répertorie tous les comptes de service gérés par l'utilisateur dans votre projet.
Avant d'utiliser les données de requête ci-dessous, 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
.
Méthode HTTP et URL :
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "accounts": [ { "name": "projects/my-project/serviceAccounts/sa-1@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "sa-1@my-project.iam.gserviceaccount.com", "description": "My first service account", "displayName": "Service account 1", "etag": "BwUpTsLVUkQ=", "oauth2ClientId": "987654321098765432109" }, { "name": "projects/my-project/serviceAccounts/sa-2@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "234567890123456789012", "email": "sa-2@my-project.iam.gserviceaccount.com", "description": "My second service account", "displayName": "Service account 2", "etag": "UkQpTwBVUsL=", "oauth2ClientId": "876543210987654321098" } ] }
Modifier un compte de service
Le nom d'affichage (nom convivial) et la description d'un compte de service permettent généralement d'obtenir des informations supplémentaires le concernant, telles que sa finalité ou une personne à contacter.
Console
Dans Google Cloud Console, accédez à la page Comptes de service.
Sélectionnez un projet.
Cliquez sur l'adresse e-mail du compte de service que vous souhaitez renommer.
Saisissez le nouveau nom dans le champ Nom, puis cliquez sur Enregistrer.
gcloud
-
Dans la console Google Cloud, activez Cloud Shell.
En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
-
Exécutez la commande
gcloud iam service-accounts update
pour mettre à jour un compte de service.Commande :
gcloud iam service-accounts update \ SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --description="UPDATED_SA_DESCRIPTION" \ --display-name="UPDATED_DISPLAY_NAME"
La sortie confirme le changement de nom du compte de service :
description: UPDATED_SA_DESCRIPTION displayName: UPDATED_DISPLAY_NAME name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com
C++
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 C++.
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.
C#
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 C#.
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.
Go
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 Go.
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.
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.
Python
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 Python.
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 serviceAccounts.patch
met à jour un compte de service.
Avant d'utiliser les données de requête ci-dessous, 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_ID
: ID de votre compte de service. Il peut s'agir de l'adresse e-mail du compte de service au formatSA_NAME@PROJECT_ID.iam.gserviceaccount.com
ou de l'ID numérique unique du compte de service.SA_NAME
: ID alphanumérique de votre compte de service. Ce nom doit comporter entre 6 et 30 caractères. Il peut inclure des caractères alphanumériques minuscules et des tirets.- Remplacez au moins l'un des éléments suivants :
UPDATED_DISPLAY_NAME
: nouveau nom à afficher pour votre compte de service.UPDATED_DESCRIPTION
: nouvelle description de votre compte de service.
Méthode HTTP et URL :
PATCH https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
Corps JSON de la requête :
{ "serviceAccount": { "email": "SA_NAME@PROJECT_ID.iam.gserviceaccount.com", "displayName": "UPDATED_DISPLAY_NAME", "description": "UPDATED_DESCRIPTION" }, "updateMask": "displayName,description" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com", "displayName": "My updated service account", "description": "An updated description of my service account" }
Étapes suivantes
- Découvrez comment désactiver et activer les comptes de service.
- Examinez le processus permettant d'attribuer des rôles Cloud IAM à tous les types de comptes principaux, y compris les comptes de service.
- Découvrez comment utiliser les recommandations de rôle pour réduire le champ d'application des autorisations de tous les comptes principaux, y compris des comptes de service.
- Découvrez comment associer des comptes de service aux ressources.
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