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 Google Cloud i servizi di machine learning.

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

  • Argomenti pubblicati: pubsub.topics.publish
  • Lettura ACL degli 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, limitando le autorizzazioni se il tuo account di servizio Container Registry ha questo ruolo.

Trovare l'ID service account

L'account di servizio di 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 Casella di controllo Includi concessioni dei 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 del progetto Google Cloud.
  • PROJECT-NUMBER è il numero del progetto Google Cloud.

Puoi ottenere 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 Container Registry Service Agent e revocare il ruolo Editor:

  1. Concedi il ruolo di 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