Les applications App Engine nécessitent un compte de service pour pouvoir accéder à d'autres services Google Cloudet exécuter des tâches. Par défaut, le compte de service App Engine par défaut est utilisé comme identité de votre application App Engine. Vous pouvez également spécifier un autre compte de service géré par l'utilisateur à utiliser comme identité pour une version spécifique de votre application App Engine. Cela vous permet d'accorder des droits différents à chaque version, en fonction des tâches spécifiques qu'elle effectue, et d'éviter d'en accorder plus que nécessaire.
Ce guide explique comment spécifier un compte de service différent géré par l'utilisateur lors du déploiement d'une nouvelle version. Si vous n'avez pas besoin de créer un compte de service distinct lorsque vous déployez une version spécifique de votre application ; vous pouvez continuer à utiliser le compte de service par défaut en ne spécifiant aucun compte de service.
Créer un compte de service géré par l'utilisateur
Pour créer un compte de service géré par l'utilisateur, consultez ces instructions. Lorsque vous définissez les rôles IAM (Identity and Access Management) à attribuer à votre compte de service, vous pouvez consulter la section Rôles accordant l'accès à App Engine.
Si vous devez passer en revue les concepts IAM avant de créer votre compte de service, consultez les guides Présentation des concepts IAM et Comptes de service.
Une fois que vous avez créé votre compte de service géré par l'utilisateur, vous pouvez mettre à jour le compte de service par défaut au niveau de l'application en utilisant l'une des méthodes suivantes :
gcloud
Exécutez la commande gcloud app update
.
gcloud app update --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Remplacez :
SERVICE_ACCOUNT_NAME
par le nom du compte de service que vous avez créé ;PROJECT_ID
par l'ID du projet Google Cloud auquel vous souhaitez attribuer le compte de service.
Chaque nouvelle version que vous déployez après cette mise à jour utilise le nouveau compte de service par défaut au niveau de l'application, sauf si vous attribuez explicitement un compte de service spécifique à cette version.
Console
Accédez à l'onglet Paramètres des applications d'App Engine, puis cliquez sur Modifier les paramètres de l'application.
Choisissez un compte de service par défaut au niveau de l'application dans Sélectionner un compte de service, puis cliquez sur Enregistrer.
Vous êtes redirigé vers l'onglet Paramètres des applications, où s'affiche l'adresse e-mail du compte de service par défaut au niveau de l'application que vous avez mis à jour. Exemple :
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Chaque nouvelle version que vous déployez après cette mise à jour utilise le nouveau compte de service par défaut au niveau de l'application, sauf si vous attribuez explicitement un compte de service spécifique à cette version.
Spécifier un compte de service lors du déploiement de votre application
gcloud
Exécutez la commande gcloud app deploy
et spécifiez votre compte de service :
gcloud app deploy --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
appengine-web.xml
Dans votre fichier appengine-web.xml
, spécifiez votre compte de service en ajoutant l'élément <service-account>
:
<service-account>SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com</service-account>
Étapes suivantes
Suivez les bonnes pratiques d'utilisation des comptes de service.