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 durante l'interazione con i servizi Google Cloud.

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

  • Pubblica argomenti: pubsub.topics.publish
  • Lettura ACL degli oggetti di archiviazione: storage.objects.getIamPolicy
  • Leggi dati e 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 veniva concesso il ruolo Editor. Poiché il ruolo Editor concede le autorizzazioni per creare ed eliminare la maggior parte delle risorse di 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, consulta l'elenco delle entità che hanno accesso al tuo progetto.

Console

  1. Vai alla pagina IAM.

  2. Per aggiungere 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 questo comando per elencare le entità contenenti la stringa containerregistry:

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 attuali in corso...

Per verificare le autorizzazioni attuali del tuo account di servizio Container Registry, esegui questo 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 del progetto Google Cloud.
  • PROJECT-NUMBER è il numero del progetto Google Cloud.

Puoi trovare l'ID 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 Agente di servizio Container Registry 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