Como usar contas de serviço gerenciadas pelo usuário

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 uma 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 de gerenciamento de identidade e acesso (IAM, na sigla em inglês) 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 beta app deploy e especifique a conta de serviço:

gcloud app deploy --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

app.yaml

No arquivo app.yaml, especifique a conta de serviço adicionando o elemento service_account:

service_account: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Próximas etapas

Siga as práticas recomendadas para gerenciar e proteger contas de serviço, consulte Como usar e gerenciar contas de serviço e Como proteger contas de serviço.