Les comptes de service sont des comptes spéciaux qui peuvent être utilisés par les applications et les serveurs pour leur permettre d'accéder à vos ressources Google Cloud Platform. Vous pouvez les utiliser pour gérer l'accès au sein de votre compte et pour des applications externes.
Par exemple, si vous devez donner à une application l'autorisation d'écrire dans un bucket Cloud Storage, vous pouvez créer un compte de service, donner à ce compte l'autorisation d'écrire dans le bucket, puis transmettre l'authentification à l'aide de la clé privée de ce compte de service. Si l'application que vous authentifiez se trouve sur Compute Engine, vous pouvez définir un compte de service pour l'ensemble de l'instance, qui s'appliquera par défaut à tous gcloud
Demandes d'API.
Créer un compte de service
Rendez-vous sur IAM et la console d'administration, puis cliquez sur «Utilisateurs du service» dans la barre latérale. À partir de là, vous pouvez créer un nouveau compte de service ou gérer les comptes existants.
Donnez un nom au compte de service. Le compte de service utilisera le project-id.iam.gserviceaccount.com
domaine en tant qu'e-mail et agissez comme un utilisateur normal lors de l'attribution des autorisations. Cliquez sur "Créer".
Si vous souhaitez attribuer des autorisations à l'échelle du projet, qui s'appliqueront à toutes les ressources affectées, vous pouvez le faire à partir de l'écran suivant. Par exemple, vous pouvez lui accorder des autorisations de lecture à l'échelle du projet avec "Visionneuse" ou lui donner accès à un service spécifique tel que Compute Engine.
Sur l'écran suivant, vous pouvez autoriser les utilisateurs existants à utiliser ou à administrer le compte de service.
Pour donner des autorisations plus précises, vous pouvez ajouter le compte de service aux ressources auxquelles il doit accéder, telles que des instances spécifiques de Compute Engine, en ajoutant le compte en tant que nouveau membre dans les paramètres "Autorisations" de la ressource donnée. De cette façon, vous pouvez donner accès à des ressources spécifiques, plutôt qu'à des autorisations à l'échelle du projet.
Utilisation du compte de service
Si vous utilisez en interne pour d'autres services Google Cloud Platform, vous aurez souvent la possibilité de sélectionner le compte de service. Par exemple, pour Compute Engine, sous les paramètres de l'instance, vous pouvez définir le compte de service utilisé par le moteur, qui sera utilisé par défaut pour toutes les requêtes CLI provenant de l'instance.
Si vous souhaitez authentifier un service qui n'est pas exécuté sur Compute Engine ou si vous ne souhaitez pas définir le compte de service pour l'ensemble de l'instance, vous devrez créer une clé d'accès pour le compte de service. Vous pouvez le faire à partir des paramètres du compte de service dans la console IAM; cliquez sur "Créer une clé" et vous aurez la possibilité de télécharger une clé JSON pour le compte de service.
Ensuite vous pouvez transmettre cette clé à l'API, généralement en définissant le GOOGLE_APPLICATION_CREDENTIALS
variable d'environnement. Cet identifiant contient l'adresse e-mail et l'ID du compte de service, et c'est tout ce dont vous avez besoin pour configurer une connexion entre votre application et GCP.