Les comptes de service peuvent être divisés en deux catégories : les comptes de service que vous gérez et les comptes de service gérés par Google. Cette page décrit comment chaque type de compte de service est créé et utilisé.
Comptes de service gérés par l'utilisateur
Les comptes de service gérés par l'utilisateur sont des comptes de service que vous créez dans vos projets. Vous pouvez mettre à jour, désactiver, activer et supprimer ces comptes de service à votre guise. Vous pouvez également gérer l'accès d'autres comptes principaux à ces comptes de service.
Vous pouvez créer des comptes de service gérés par l'utilisateur dans votre projet à l'aide de l'API Cloud IAM, de la console Google Cloud ou de Google Cloud CLI.
Par défaut, vous pouvez créer jusqu'à 100 comptes de service gérés par l'utilisateur dans un projet. Si ce quota ne répond pas à vos besoins, vous pouvez demander une augmentation de quota à l'aide de la console Google Cloud. Seuls les comptes de service créés par l'utilisateur sont comptabilisés dans ce quota. Les comptes de service par défaut et les comptes de service gérés par Google ne le sont pas.
Lorsque vous créez un compte de service géré par l'utilisateur dans votre projet, vous choisissez un nom pour ce compte de service. Ce nom apparaît dans l'adresse e-mail qui identifie le compte de service, au format suivant :
service-account-name@project-id.iam.gserviceaccount.com
Pour savoir comment créer un compte de service, consultez la section Créer des comptes de service.
Comptes de service par défaut
Les comptes de service par défaut sont des comptes de service gérés par l'utilisateur qui sont créés automatiquement lorsque vous activez ou utilisez certains services Google Cloud. Ces comptes de service permettent au service de déployer des jobs qui accèdent à d'autres ressources Google Cloud. Vous êtes responsable de la gestion des comptes de service par défaut après leur création.
Si votre application s'exécute dans un environnement Google Cloud disposant d'un compte de service par défaut, elle peut utiliser les identifiants du compte de service par défaut pour appeler les API Google Cloud. Vous pouvez également créer votre propre compte de service géré par l'utilisateur et vous en servir pour vous authentifier. Pour en savoir plus, consultez la page Configurer les identifiants par défaut de l'application.
Le tableau suivant répertorie les services qui créent des comptes de service par défaut :
Service | Nom du compte de service | Adresse e-mail |
---|---|---|
App Engine, et tout service Google Cloud utilisant App Engine | Compte de service App Engine par défaut | project-id@appspot.gserviceaccount.com |
Compute Engine, et tout service Google Cloud utilisant Compute Engine | Compte de service Compute Engine par défaut |
project-number-compute@developer.gserviceaccount.com
|
Comptes de service gérés par Google
Certains services Google Cloud ont besoin d'accéder à vos ressources pour pouvoir agir en votre nom. Par exemple, lorsque vous exécutez un conteneur à l'aide de Cloud Run, le service doit avoir accès à tous les sujets Pub/Sub pouvant déclencher le conteneur.
Pour répondre à ce besoin, Google crée et gère des comptes de service pour de nombreux services Google Cloud. Ces comptes sont appelés comptes de service gérés par Google. Il est possible que des comptes de service gérés par Google s'affichent dans la stratégie d'autorisation de votre projet, dans les journaux d'audit ou sur la page "IAM" de la console Google Cloud.
Les comptes de service gérés par Google ne sont pas créés dans vos projets. Vous ne les verrez donc pas lorsque vous consulterez les comptes de service de vos projets.
Google dispose des types de comptes de service suivants:
- Agents de service spécifiques au service
- Agent de service des API Google
- Gestionnaire de rôles pour les comptes de service gérés par Google.
Visibilité
Les comptes de service gérés par Google ne sont pas répertoriés sur la page Comptes de service de la console Google Cloud. Ces comptes de service ne se trouvent pas dans votre projet et vous ne pouvez pas y accéder directement.
Par défaut, les comptes de service gérés par Google ne sont pas non plus répertoriés sur la page IAM de la console Google Cloud, même s'ils se sont vu attribuer un rôle sur votre projet. Pour afficher les attributions de rôles sur les comptes de service gérés par Google, cochez la case Inclure les attributions de rôles fournies par Google.
Agents de service spécifiques au service
Les agents de service sont des comptes de service gérés par Google qui agissent au nom des services individuels. Dans de nombreux cas, ces agents de service sont nécessaires au bon fonctionnement des services. Par exemple, les agents de service permettent aux récepteurs Cloud Logging d'écrire des journaux dans les buckets Cloud Storage.
Chaque agent de service est associé à une ressource. Cette ressource est généralement un projet, un dossier ou une organisation, mais il peut également s'agir d'une ressource spécifique au service, par exemple une instance Cloud SQL. Cette ressource définit le champ d'application des actions de l'agent de service. Par exemple, si un agent de service est associé à un projet, il agit au nom d'un service pour le projet et ses ressources descendantes.
Vous pouvez déterminer le type de ressource auquel un agent de service est associé en consultant son adresse e-mail:
- Si l'agent de service est associé à un projet, un dossier ou une organisation, son adresse e-mail contient l'ID numérique de ce projet, dossier ou organisation.
- Si l'agent de service est associé à une ressource spécifique au service, son adresse e-mail contient un ID de projet numérique et un identifiant unique. L'ID de projet numérique indique à quel projet appartient la ressource à laquelle l'agent de service est associé. L'identifiant unique distingue l'agent de service des autres agents de service similaires du même projet.
Création de l'agent de service
Le délai exact de création d'un agent de service dépend du type de ressource auquel il est associé.
Les agents de service associés à une ressource spécifique au service sont créés lors de la création de la ressource. Pour en savoir plus sur l'identification et la configuration de ces agents de service, consultez la documentation de la ressource associée.
Les agents de service associés aux projets, dossiers et organisations sont créés en fonction de vos besoins, généralement lorsque vous utilisez un service pour la première fois. Si nécessaire, vous pouvez également demander à Google Cloud de créer des agents de service pour un service avant de l'utiliser. Pour en savoir plus, consultez la section Créer et attribuer des rôles aux agents de service.
Rôles d'agent de service
Certaines actions dans Google Cloud nécessitent que les agents de service créent des ressources et y accèdent en votre nom. Par exemple, lorsque vous créez un cluster Dataproc, l'agent de service Dataproc a besoin de l'autorisation de créer des instances Compute Engine dans votre projet pour créer le cluster.
Pour obtenir cet accès, les agents de service ont besoin de rôles IAM spécifiques.
De nombreux agents de service au niveau du projet reçoivent automatiquement les rôles dont ils ont besoin. Les noms de ces rôles attribués automatiquement se terminent généralement par serviceAgent
ou ServiceAgent
. Pour les autres agents de service, vous devez leur attribuer des rôles afin que le service fonctionne correctement. Pour savoir quels agents de service se voient automatiquement attribuer des rôles, consultez la documentation de référence sur les agents de service.
Si vous demandez à Google Cloud de créer des agents de service avant d'utiliser un service, vous devez leur attribuer automatiquement les rôles qui leur sont généralement attribués. En effet, les agents de service créés à la requête d'un utilisateur ne reçoivent pas automatiquement de rôles. Si vous n'accordez pas ces rôles aux agents de service, certains services risquent de ne pas fonctionner correctement. Pour savoir comment attribuer ces rôles aux agents de service, consultez Créer et attribuer des rôles aux agents de service.
Agents de service principaux
Dans la documentation de référence sur les agents de service, certains agents de service sont identifiés en tant qu'agents de service principaux. Les agents de service principaux sont des agents de service dont l'adresse e-mail est renvoyée lorsque vous déclenchez la création d'un agent de service pour un service.
Agent de service des API Google
La stratégie d'autorisation de votre projet est susceptible de faire référence à un compte de service nommé "Agent de service des API Google", avec une adresse e-mail au format suivant : project-number@cloudservices.gserviceaccount.com
Ce compte de service exécute des processus Google internes en votre nom. Le rôle Éditeur (roles/editor
) lui est automatiquement attribué sur le projet.
Gestionnaire de rôles pour les comptes de service gérés par Google
Vos journaux d'audit pour IAM peuvent faire référence au compte de service service-agent-manager@system.gserviceaccount.com
.
Ce compte de service gère les rôles attribués aux agents de service. Il n'est visible que dans les journaux d'audit.
Par exemple, si vous utilisez une nouvelle API, Google peut créer automatiquement un agent de service et lui attribuer des rôles sur votre projet. L'attribution de ces rôles génère une entrée de journal d'audit, qui indique que service-agent-manager@system.gserviceaccount.com
a défini la stratégie d'autorisation du projet.
Étapes suivantes
- Découvrez comment créer et gérer des comptes de service.
- Apprenez à créer et à gérer des clés de compte de service.
- Découvrez les bonnes pratiques d'utilisation des comptes de service.
- Relisez 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