Compute Engine può estrarre i container direttamente dai repository Artifact Registry, in modo da poter eseguire carichi di lavoro containerizzati su istanze di macchine virtuali (VM). Puoi configurare i ruoli e gli ambiti di accesso del account di servizio per controllare il modo in cui le VM accedono agli artefatti o li caricano nei progetti.
Autorizzazioni obbligatorie
Il account di servizio Compute Engine deve accedere ad Artifact Registry per eseguire il pull delle immagini container.
A seconda della configurazione della policy dell'organizzazione, al service account predefinito potrebbe
essere assegnato automaticamente il ruolo Editor nel
progetto. Ti consigliamo vivamente di disattivare la concessione automatica dei ruoli
forzando l'applicazione del vincolo iam.automaticIamGrantsForDefaultServiceAccounts della policy
dell'organizzazione. Se hai creato la tua organizzazione dopo il 3 maggio 2024, questo
vincolo viene imposto per impostazione predefinita.
Se disattivi la concessione automatica dei ruoli, devi decidere quali ruoli concedere ai service account predefiniti, quindi concedere personalmente questi ruoli.
Se il service account predefinito dispone già del ruolo Editor, ti consigliamo di sostituire il ruolo Editor con ruoli meno permissivi.
Ecco alcuni esempi di ambiti di accesso e ruoli richiesti per diversi scenari:
- Per eseguire il pull delle immagini container dai repository Artifact Registry, devi
concedere al account di servizio Compute Engine il ruolo di lettore Artifact Registry (
roles/artifactregistry.reader). Inoltre, assicurati che l'ambito di accessoread-onlysia impostato per i bucket di archiviazione Cloud Storage. - Vuoi che l'istanza VM venga caricata nei repository. In questo caso, devi
configurare un ambito di accesso
con accesso in scrittura allo spazio di archiviazione:
read-write,cloud-platformofull-control. - L'istanza VM si trova in un progetto diverso dai repository a cui vuoi accedere. Nel progetto con i repository, concedi le autorizzazioni richieste al account di servizio dell'istanza.
- I repository si trovano nello stesso progetto, ma non vuoi che il account di servizio predefinito abbia lo stesso livello di accesso a tutti i repository. In questo caso, devi concedere le autorizzazioni appropriate a livello di repository e revocare le autorizzazioni Artifact Registry a livello di progetto.
- La VM è associata a un account di servizio personalizzato. Assicurati che il service account disponga delle autorizzazioni e dell'ambito di accesso richiesti.
- Stai utilizzando ruoli personalizzati per concedere autorizzazioni e il ruolo personalizzato non include le autorizzazioni Artifact Registry richieste. Aggiungi le autorizzazioni richieste al ruolo.