Como implantar no Compute Engine

O Compute Engine pode extrair contêineres diretamente dos repositórios do Artifact Registry.

Permissões necessárias

A conta de serviço do Compute Engine precisa ter acesso ao Artifact Registry para extrair imagens de contêineres.

Dependendo da configuração da política da organização, a conta de serviço padrão pode receber automaticamente o papel de Editor no projeto. É altamente recomendável desativar a concessão automática de papéis aplicando a restrição da política da organização iam.automaticIamGrantsForDefaultServiceAccounts. Se você criou a organização após 3 de maio de 2024, essa restrição será aplicada por padrão.

Se você desativar a concessão automática de papéis, precisará decidir quais papéis conceder às contas de serviço padrão e, em seguida, conceder esses papéis por conta própria.

Se a conta de serviço padrão já tiver o papel de Editor, recomendamos que você o substitua por papéis menos permissivos.Para modificar com segurança os papéis da conta de serviço, use o Simulador de política para conferir o impacto da mudança e, em seguida, conceda e revogue os papéis apropriados.

Confira alguns exemplos de escopos de acesso e papéis obrigatórios para diferentes cenários:

  • Para extrair imagens de contêiner dos repositórios do Artifact Registry, é necessário conceder à conta de serviço do Compute Engine o papel de leitor do Artifact Registry (roles/artifactregistry.reader). Além disso, verifique se o escopo de acesso read-only está definido para os buckets do Cloud Storage.
  • Você quer que a instância de VM seja carregada em repositórios. Nesse caso, é preciso configurar um escopo de acesso com acesso de gravação ao armazenamento: read-write, cloud-platform ou full-control.
  • A instância de VM está em um projeto diferente dos repositórios que você quer acessar. No projeto com os repositórios, conceda as permissões necessárias à conta de serviço da instância.
  • Os repositórios estão no mesmo projeto, mas você não quer que a conta de serviço padrão tenha o mesmo nível de acesso em todos os repositórios. Nesse caso, você precisa conceder as permissões apropriadas no nível do repositório e revogar as permissões do Artifact Registry no nível do projeto.
  • A VM está associada a uma conta de serviço personalizada. Verifique se a conta de serviço tem as permissões necessárias e o escopo de acesso.
  • Você está usando papéis personalizados para conceder permissões e eles não incluem as permissões obrigatórias do Artifact Registry. Adicione as permissões obrigatórias ao papel.