App Engine apps require a service account in order to access other Google Cloud
services and execute tasks. By default, the
App Engine default service account
is used as the identity of your App Engine app. You may also specify a
different user-managed service
account to be used as the
identity for a specific version of your App Engine app. This allows you
to grant different privileges to each version, based on the specific tasks it
performs, and avoid granting more privileges than necessary.
This guide covers how to specify a different user-managed service account when
deploying a new version. If you don't need to create a distinct service account
when deploying a specific version of your app, you can continue to use the
default service account by not specifying a service account.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-05 UTC."],[[["App Engine apps utilize a service account to access other Google Cloud services, with the option to use the default or a user-managed service account."],["Specifying a user-managed service account allows you to assign unique privileges to different versions of your App Engine app, based on their roles, which reduces unnecessary permissions."],["User-managed service accounts can be created using the provided instructions and assigned specific IAM roles, and do not delete the existing App Engine service agent to avoid errors."],["When deploying your app, you can specify a user-managed service account using the `gcloud app deploy` command or by modifying the `app.yaml` file with the `service_account` element, with command-line specification overriding any setting in the file."]]],[]]