Artifact Registry es el servicio recomendado para administrar las imágenes de contenedor. Container Registry aún es compatible, pero solo recibirá correcciones de seguridad críticas. Obtén más información sobre la transición a Artifact Registry.

Cuenta de servicio de Container Registry

El agente de servicio de Container Registry es una cuenta de servicio administrada por Google que actúa en nombre de Container Registry cuando interactúa con los servicios de Google Cloud.

A fin de aplicar el principio de privilegios mínimos de seguridad, se le otorga a esta cuenta de servicio la función de agente de servicio de Container Registry en proyectos en los que la API de Container Registry se habilitó después del 5 de octubre de 2020. Esta función tiene los siguientes permisos:

  • Temas de publicación: pubsub.topics.publish
  • LCA del objeto de almacenamiento de lectura: storage.objects.getIamPolicy
  • Lee datos y metadatos de objeto de almacenamiento: storage.objects.get
  • Enumera los objetos de almacenamiento de un bucket y lee los metadatos de objetos: storage.objects.list

Anteriormente, la cuenta de servicio de Container Registry tenía la función de Editor. Dado que la función de editor otorga permisos para crear y borrar la mayoría de los recursos de un proyecto, te recomendamos que restrinjas los permisos si tu cuenta de servicio de Container Registry tiene esta función.

Para verificar los permisos actuales de tu cuenta de servicio de Container Registry, ejecuta el siguiente 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"

Donde

  • PROJECT-ID es el ID del proyecto de Google Cloud.
  • PROJECT-NUMBER es el número de proyecto de Google Cloud.

Puedes obtener el ID del proyecto y el número de proyecto en Google Cloud Console o con los siguientes comandos:

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

Para otorgar la función de agente de servicio de Container Registry y revocar la función de editor, sigue estos pasos:

  1. Otorga la función de Agente de servicio de Container Registry con el siguiente comando:

    gcloud projects add-iam-policy-binding PROJECT-ID \
    --member=serviceAccount:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com --role=roles/containerregistry.ServiceAgent
    
  2. Revoca la función de editor con el siguiente comando:

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