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
Vai alla pagina IAM.
Per aggiungere gli account gestiti da Google all'elenco delle entità, seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
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:
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
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