Os aplicativos do App Engine exigem uma conta de serviço para acessar outros serviços do Google Cloud e executar tarefas. Por padrão, a conta de serviço padrão do App Engine é usada como a identidade do aplicativo do App Engine. Também é possível especificar outra conta de serviço gerenciada pelo usuário a ser usada como a identidade de uma versão específica do aplicativo do App Engine. Isso permite que você conceda privilégios diferentes para cada versão, com base nas tarefas específicas que ela executa, e evita conceder mais privilégios do que o necessário.
Este guia explica como especificar uma conta de serviço gerenciada pelo usuário ao implantar uma nova versão. Se você não precisar criar uma conta de serviço distinta ao implantar uma versão específica do aplicativo, continue usando a conta de serviço padrão deixando de especificar uma conta de serviço.
Como criar uma conta de serviço gerenciada pelo usuário
Para criar uma conta de serviço gerenciada pelo usuário, consulte estas instruções. Ao definir os papéis do Identity and Access Management (IAM) para conceder à conta de serviço, consulte Papéis que concedem acesso ao App Engine.
Se você precisar analisar os conceitos do IAM antes de criar sua conta de serviço, consulte a Visão geral dos conceitos do IAM e os guias das contas de serviço.
Como especificar uma conta de serviço ao implantar o aplicativo
gcloud
Execute o comando gcloud app deploy
e especifique a conta de serviço:
gcloud app deploy --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
appengine-web.xml
No seu arquivo appengine-web.xml
, especifique a conta de serviço adicionando o
elemento <service-account>
:
<service-account>SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com</service-account>
Próximas etapas
Siga as práticas recomendadas para trabalhar usando contas de serviço.