Implementar en Compute Engine

Compute Engine puede extraer contenedores directamente de los repositorios de Artifact Registry.

Permisos necesarios

La cuenta de servicio de Compute Engine necesita acceso a Artifact Registry para extraer imágenes de contenedores.

Según la configuración de la política de la organización, es posible que a la cuenta de servicio predeterminada se le otorgue automáticamente el rol de editor en tu proyecto. Te recomendamos inhabilitar la concesión automática de roles; para ello, aplica la restricción de la política de la organización iam.automaticIamGrantsForDefaultServiceAccounts. Si creaste tu organización después del 3 de mayo de 2024, esta restricción se aplica de forma predeterminada.

Si inhabilitas la concesión automática de roles, debes decidir qué roles se deben otorgar a las cuentas de servicio predeterminadas y, luego, otorgar estos roles a ti mismo.

Si la cuenta de servicio predeterminada ya tiene el rol de editor, te recomendamos que reemplaces el rol de editor por roles menos permisivos.Para modificar de forma segura los roles de la cuenta de servicio, usa Policy Simulator para ver el impacto del cambio y, luego, otorga y revoca los roles adecuados.

Estos son algunos ejemplos de los permisos de acceso y los roles obligatorios para diferentes situaciones:

  • Para extraer imágenes de contenedores de los repositorios de Artifact Registry, debes otorgarle a la cuenta de servicio de Compute Engine el rol de lector de Artifact Registry (roles/artifactregistry.reader). Además, asegúrate de que el alcance de acceso read-only esté configurado para los buckets de almacenamiento de Cloud Storage.
  • Deseas que la instancia de VM se suba a repositorios. En este caso, debes configurar un permiso de acceso con acceso de escritura al almacenamiento: read-write, cloud-platform o full-control.
  • La instancia de VM se encuentra en un proyecto diferente al de los repositorios a los que deseas acceder. En el proyecto con los repositorios, otorga los permisos necesarios a la cuenta de servicio de la instancia.
  • Los repositorios se encuentran en el mismo proyecto, pero no quieres que la cuenta de servicio predeterminada tenga el mismo nivel de acceso en todos los repositorios. En este caso, debes otorgar los permisos adecuados al nivel de repositorio y revocar los permisos de Artifact Registry a nivel de proyecto.
  • La VM está asociada con una cuenta de servicio personalizada. Asegúrate de que la cuenta de servicio tenga los permisos y el permiso de acceso necesarios.
  • Usas funciones personalizadas para otorgar permisos, y la función personalizada no incluye los permisos necesarios de Artifact Registry. Agrega los permisos necesarios a la función.