Account di servizio Container Registry

L'agente di servizio Container Registry è un account di servizio gestito da Google che agisce per conto di Container Registry quando interagisce con i servizi Google Cloud.

Per applicare il principio di sicurezza del privilegio minimo, a questo account di servizio viene assegnato il ruolo Agente di servizio Container Registry nei progetti in cui l'API Container Registry è stata attivata dopo il 5 ottobre 2020. Questo ruolo ha le seguenti autorizzazioni:

  • Argomenti pubblicati: pubsub.topics.publish
  • Leggi ACL oggetti di archiviazione: storage.objects.getIamPolicy
  • Leggi i dati e i metadati degli oggetti di archiviazione: storage.objects.get
  • Elenca gli oggetti di archiviazione in un bucket e leggi i metadati degli oggetti: storage.objects.list

In precedenza, all'account di servizio Container Registry era stato concesso il ruolo Editor. Poiché il ruolo Editor concede autorizzazioni per creare ed eliminare la maggior parte delle risorse in un progetto, ti consigliamo di limitare le autorizzazioni se il tuo account di servizio Container Registry ha questo ruolo.

Trovare l'ID account di servizio

L'account di servizio Container Registry ha il seguente ID:

service-[PROJECT_NUMBER]@containerregistry.iam.gserviceaccount.com

Per trovare l'account di servizio, controlla l'elenco dei principali che hanno accesso al tuo progetto.

Console

  1. Vai alla pagina IAM.

  2. Per aggiungere gli account gestiti da Google all'elenco delle entità, seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.

  3. Per filtrare l'elenco, inserisci containerregistry nel campo Filtro.

gcloud

Esegui il comando seguente per elencare i principali che contengono la stringacontainerregistry:

gcloud projects get-iam-policy PROJECT-ID \
    --flatten="bindings[].members"
    --filter="containerregistry"

Sostituisci PROJECT-ID con l'ID del tuo progetto Google Cloud.

Verifica delle autorizzazioni correnti

Per verificare le autorizzazioni correnti dell'account di servizio Container Registry, esegui il comando:

gcloud projects get-iam-policy PROJECT-ID  \
    --flatten="bindings[].members" \
    --format='table(bindings.role)' \
    --filter="bindings.members:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com"

Dove

  • PROJECT-ID è l'ID progetto Google Cloud.
  • PROJECT-NUMBER è il numero del progetto Google Cloud.

Puoi ottenere l'ID progetto e il numero del progetto nella console Google Cloud o con i seguenti comandi:

PROJECT=$(gcloud config get-value project)
echo $PROJECT && gcloud projects list --filter="$PROJECT" --format="value(PROJECT_NUMBER)"

Modifica delle autorizzazioni

Per concedere il ruolo Container Registry Service Agent e revocare il ruolo Editor:

  1. Concedi il ruolo Agente di servizio Container Registry con il seguente comando:

    gcloud projects add-iam-policy-binding PROJECT-ID \
    --member=serviceAccount:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com --role=roles/containerregistry.ServiceAgent
    
  2. Revoca il ruolo Editor con il seguente comando:

    gcloud projects remove-iam-policy-binding PROJECT-ID \
    --member=serviceAccount:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com --role=roles/editor