Artifact Registry est le service recommandé pour gérer les images de conteneurs. Container Registry est toujours compatible, mais ne recevra que les correctifs de sécurité critiques. Découvrez comment passer à Artifact Registry.

Compte de service Container Registry

L'agent de service Container Registry est un compte de service géré par Google qui agit au nom de Container Registry lors de l'interaction avec les services Google Cloud.

Pour appliquer le principe de sécurité du moindre privilège, ce compte de service se voit attribuer le rôle d'agent de service Container Registry dans les projets pour lesquels l'API Container Registry a été activée après le 5 octobre 2020. Ce rôle dispose des autorisations suivantes :

  • Publier les sujets : pubsub.topics.publish
  • Lire les LCA d'objets de stockage : storage.objects.getIamPolicy
  • Lires les données et les métadonnées d'objets de stockage : storage.objects.get
  • Répertorier les objets de stockage dans un bucket et lire les métadonnées d'objets : storage.objects.list

Auparavant, le compte de service Container Registry se voit attribuer le rôle Éditeur. Étant donné que le rôle Éditeur bénéficie des autorisations pour créer et supprimer la plupart des ressources d'un projet, nous vous recommandons de limiter les autorisations si votre compte de service Container Registry possède ce rôle.

Pour vérifier les autorisations actuelles de votre compte de service Container Registry, exécutez la commande suivante :

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

Où :

  • PROJECT-ID est l'ID du projet Google Cloud.
  • PROJECT-NUMBER est le numéro du projet Google Cloud.

Vous pouvez obtenir l'ID et le numéro du projet dans Google Cloud Console, ou à l'aide des commandes suivantes :

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

Pour accorder le rôle d'Agent de service Container Registry et révoquer le rôle d'Éditeur, procédez comme suit :

  1. Attribuez le rôle d'Agent de service Container Registry à l'aide de la commande suivante :

    gcloud projects add-iam-policy-binding PROJECT-ID \
    --member=serviceAccount:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com --role=roles/containerregistry.ServiceAgent
    
  2. Révoquez le rôle d'Éditeur à l'aide de la commande suivante :

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