Existem dois tipos de privilégios que devem ser considerados: quem pode desencadear o serviço Cloud Run e o que o serviço Cloud Run pode fazer quando é executado. Embora muitos recursos abordem o primeiro tipo, o segundo tipo é frequentemente ignorado. É importante lembrar que as configurações padrão podem ser problemáticas, pois a conta padrão tem permissões amplas, incluindo a capacidade de criar ou destruir máquinas virtuais e bancos de dados.
É crucial definir os privilégios de acesso corretos para evitar danos. Isso inclui analisar as APIs do Google Cloud utilizadas pelo serviço e conceder acesso apenas às APIs específicas necessárias. Além disso, é recomendável criar uma conta de serviço com permissões mínimas necessárias para realizar sua função pretendida, seguindo o princípio do menor privilégio.
Para criar uma conta de serviço e um papel customizado em Cloud Console, é necessário seguir os seguintes passos:
1. Crie um papel customizado: selecione “Criar Papel Customizado” e escolha o estado de lançamento (disponibilidade geral ou estado de disponibilidade). Adicione permissões filtrando por permissões do Firestore e selecionando as permissões desejadas (por exemplo, leitura e escrita, mas não exclusão).
2. Conceda o papel à conta de serviço: vá para a seção “Gerenciamento de Identidade e Acesso” e clique em “IAM”, concedendo o papel customizado à conta de serviço.
Além disso, é importante seguir as melhores práticas para nomear papéis e contas de serviço em larga escala, referenciando o Guia de Segurança em Nuvem. Para criar vários papéis e contas de serviço, é recomendável utilizar ferramentas de infraestrutura como código, como o Terraform, que permite criar recursos múltiplos de forma mais rápida e eficiente utilizando loops e iteração. Os módulos do Terraform também podem ser usados para criar serviços consistentes e conformes em toda a organização.