É a identidade de uma aplicação (de um “robo”). Como se fosse uma pessoa mesmo.
Uma conta de serviço é identificada pelo endereço de e-mail dela, que é exclusivo da conta.
Associamos a Service Account às Permissões e Papel para conseguir acessos à Recursos. Da mesma forma que faríamos com humanos.
Não usam senhas da mesma forma que uma conta de usuário.
Podemos associar uma SA á outros recursos dentro do google cloud, como instâncias, Gcloud Functions, etc..
Recomendações
- Criar uma convenção de nomes, algo como:
<nome-do-time>-<recurso sendo acessado>-<proposito>
devem funcionar bem. - Deve ser fácil ver o nome de uma SA e saber o que ela faz.
- Implementar uma politica para tracking e logging do uso de uma SA
- Criar uma política de desativação de SA caso ela não esteja sendo usada há algum tempo.
Chaves
Não é recomendado gerar ou mesmo baixar as chaves, usa-las acaba sendo um risco pois dependendo não conseguimos saber quem está usando aquela chave.
Caso baixar o arquivo, recomendações:
- Armazenar em um lugar seguro (não commitar no repo, por exemplo).
- Criar um programa de rotação dessas chaves.