Cette page explique comment lister et modifier des comptes de service à l'aide de l'API Cloud IAM (Cloud Identity and Access Management), de la console Cloud de Confiance et de l'outil de ligne de commande gcloud.
Avant de commencer
Activez l'API IAM.
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.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 Cloud de Confiance pour accéder aux services Cloud de Confiance by S3NS et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud initC#
Pour utiliser les exemples .NET de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local dans la documentation sur l'authentification Cloud de Confiance .
C++
Pour utiliser les exemples C++ de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local dans la documentation sur l'authentification Cloud de Confiance .
Go
Pour utiliser les exemples Go de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local dans la documentation sur l'authentification Cloud de Confiance .
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local dans la documentation sur l'authentification Cloud de Confiance .
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local dans la documentation sur l'authentification Cloud de Confiance .
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Cloud de Confiance .
-
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 Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
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 qui peuvent apparaître dans la stratégie d'autorisation et les journaux d'audit de votre projet. Les agents de service ne se trouvent pas dans votre projet et vous ne pouvez pas y accéder directement.
Console
Dans la console Cloud de Confiance , 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
La commande
gcloud iam service-accounts list
liste tous les comptes de service gérés par l'utilisateur dans le projet spécifié.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance . Les ID de projet sont des chaînes alphanumériques, telles quemy-project.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud iam service-accounts list --project=PROJECT_ID
Windows (PowerShell)
gcloud iam service-accounts list --project=PROJECT_ID
Windows (cmd.exe)
gcloud iam service-accounts list --project=PROJECT_ID
Vous devriez obtenir un résultat semblable à celui-ci :
DISPLAY NAME: SA_DISPLAY_NAME_1 EMAIL: SA_NAME_1@PROJECT_ID.s3ns.iam.gserviceaccount.com DISABLED: False DISPLAY NAME: SA_DISPLAY_NAME_2 EMAIL: SA_NAME_2@PROJECT_ID.s3ns.iam.gserviceaccount.com DISABLED: False
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
REST
La méthode serviceAccounts.list répertorie tous les comptes de service gérés par l'utilisateur dans le projet spécifié.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance . 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.s3ns.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "123456789012345678901",
"email": "sa-1@my-project.s3ns.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.s3ns.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "234567890123456789012",
"email": "sa-2@my-project.s3ns.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 la console Cloud de Confiance , 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
La commande gcloud iam service-accounts update met à jour un compte de service.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
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.PROJECT_ID: ID de votre projet Cloud de Confiance . Les ID de projet sont des chaînes alphanumériques, telles quemy-project.- 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.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud iam service-accounts update \ SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com \ --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" \ --display-name="UPDATED_DISPLAY_NAME"
Windows (PowerShell)
gcloud iam service-accounts update ` SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com ` --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" ` --display-name="UPDATED_DISPLAY_NAME"
Windows (cmd.exe)
gcloud iam service-accounts update ^ SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com ^ --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" ^ --display-name="UPDATED_DISPLAY_NAME"
Vous devriez obtenir un résultat semblable à celui-ci :
Updated serviceAccount [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]. description: UPDATED_SA_DESCRIPTION displayName: UPDATED_DISPLAY_NAME name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
REST
La méthode serviceAccounts.patch met à jour un compte de service.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance . 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.s3ns.iam.gserviceaccount.comou 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.s3ns.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.s3ns.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 IAM à tous les types de comptes principaux, y compris les comptes de service.
- Découvrez comment associer des comptes de service aux ressources.
- Découvrez les bonnes pratiques d'utilisation des comptes de service.