Implementação no Compute Engine

O Compute Engine pode obter contentores diretamente dos repositórios do Artifact Registry.

Autorizações necessárias

A conta de serviço do Compute Engine precisa de acesso ao Artifact Registry para extrair imagens de contentores.

Consoante a configuração da política da organização, a conta de serviço predefinida pode receber automaticamente a função de editor no seu projeto. Recomendamos vivamente que desative a concessão automática de funções aplicando a restrição da política da organização iam.automaticIamGrantsForDefaultServiceAccounts. Se tiver criado a sua organização após 3 de maio de 2024, esta restrição é aplicada por predefinição.

Se desativar a concessão automática de funções, tem de decidir que funções conceder às contas de serviço predefinidas e, em seguida, conceder estas funções.

Se a conta de serviço predefinida já tiver a função de editor, recomendamos que substitua a função de editor por funções menos permissivas.

Seguem-se alguns exemplos de âmbitos de acesso e funções necessários para diferentes cenários:

  • Para extrair imagens de contentores de repositórios do Artifact Registry, tem de conceder à conta de serviço do Compute Engine a função de leitor do Artifact Registry (roles/artifactregistry.reader). Além disso, certifique-se de que o âmbito de acesso read-onlyestá definido para contentores de armazenamento do Cloud Storage.
  • Quer que a instância de VM faça o carregamento para repositórios. Neste caso, tem de configurar um âmbito de acesso com acesso de escrita ao armazenamento: read-write, cloud-platform ou full-control.
  • A instância de VM está num projeto diferente dos repositórios aos quais quer aceder. No projeto com os repositórios, conceda as autorizações necessárias à conta de serviço da instância.
  • Os repositórios estão no mesmo projeto, mas não quer que a conta de serviço predefinida tenha o mesmo nível de acesso em todos os repositórios. Neste caso, tem de conceder as autorizações adequadas ao nível do repositório e revogar as autorizações do Artifact Registry ao nível do projeto.
  • A VM está associada a uma conta de serviço personalizada. Certifique-se de que a conta de serviço tem as autorizações e o âmbito de acesso necessários.
  • Está a usar funções personalizadas para conceder autorizações e a função personalizada não inclui as autorizações do Artifact Registry necessárias. Adicione as autorizações necessárias à função.