O Que É uma Service Account?
Uma service account é uma identidade que pertence a um sistema em vez de a uma pessoa - a conta como a qual seu pipeline de CI se autentica quando faz deploy ou chama APIs.
A automação precisa de uma identidade. Reutilizar as credenciais de uma pessoa real é arriscado e quebra quando ela sai. Uma service account é uma identidade não humana dedicada a uma carga de trabalho, com suas próprias permissões e credenciais escopadas ao que essa carga de trabalho faz.
Service account vs conta de usuário
Uma conta de usuário representa uma pessoa e está atrelada a esse humano. Uma service account representa um programa - um pipeline de CI, um job de deploy - e pertence ao time, não a um indivíduo, então sobrevive a mudanças de equipe.
Como o CI usa uma
O pipeline se autentica como a service account (idealmente via OIDC, senão via uma chave) e atua dentro das permissões dessa conta. Escope essas permissões às necessidades reais do pipeline.
Um pequeno exemplo
Um pipeline de deploy impersona uma service account ci-deployer que pode atualizar um serviço e ler um secret - nada mais. Se o pipeline for comprometido, o atacante herda apenas esse acesso restrito, não o de um admin humano.
Protegendo service accounts
- Aplique least privilege - conceda apenas o que a carga de trabalho exige.
- Prefira autenticação sem chaves (OIDC / federation) em vez de chaves de longa duração.
- Audite o uso e faça rotação de quaisquer chaves regularmente.
Uma conta por finalidade
Dê a cada pipeline ou environment sua própria service account em vez de compartilhar uma. Identidades separadas facilitam escopar, auditar e revogar acesso sem afetar cargas de trabalho não relacionadas.
Principais conclusões
- Uma service account é uma identidade não humana usada por automações.
- Ela pertence a um time, não a uma pessoa, então sobrevive a mudanças de equipe.
- Proteja-a com least privilege e autenticação sem chaves.