Definir la cuenta de servicio de compilación (despliegue de origen)

Durante los despliegues de código fuente, Cloud Run aprovecha Cloud Build para compilar y desplegar tu servicio de Cloud Run.

En esta página se muestra cómo configurar una cuenta de servicio especificada por el usuario para que Cloud Build la use al ejecutar compilaciones del servicio en tu nombre. Esta guía está dirigida a desarrolladores de plataformas que despliegan servicios o funciones de Cloud Run con la CLI de Google Cloud y necesitan personalizar la cuenta de servicio de compilación que usa Cloud Build. La marca de la CLI de gcloud de la cuenta de servicio de compilación se admite en las implementaciones de origen (--source), pero no en las implementaciones de imágenes de contenedor (--image).

Antes de empezar

  1. Habilita la API Cloud Build:

    gcloud services enable cloudbuild.googleapis.com
  2. Crea una cuenta de servicio o utiliza una cuenta de servicio que ya tengas para usarla como cuenta de servicio de Cloud Build.

Roles obligatorios

Tú o tu administrador debéis conceder los siguientes roles de gestión de identidades y accesos a la cuenta de implementación y a la cuenta de servicio de Cloud Build.

Haz clic para ver los roles necesarios de la cuenta de implementación

Para obtener los permisos que necesitas para compilar e implementar desde la fuente, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

Haz clic para ver los roles necesarios de la cuenta de servicio de Cloud Build

Para permitir que la cuenta de servicio de Cloud Build realice la compilación al desplegar una función, pide a tu administrador que asigne el rol Cloud Run Builder (roles/run.builder) a la cuenta de servicio de Cloud Build en el proyecto.

Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos sobre roles de gestión de identidades y accesos de Cloud Run y permisos de gestión de identidades y accesos de Cloud Run. Si tu servicio de Cloud Run interactúa con APIs, como las bibliotecas de cliente de Cloud, consulta la guía de configuración de la identidad del servicio.Google Cloud Para obtener más información sobre cómo conceder roles, consulta los artículos sobre permisos de implementación y gestión del acceso.

Especificar una cuenta de servicio de Cloud Build

De forma predeterminada, si no se especifica una cuenta de servicio de Cloud Build al desplegar un servicio o una función desde el origen, Cloud Build usa la cuenta de servicio de Cloud Build predeterminada.

Para seguir la práctica recomendada del principio de privilegio mínimo y mejorar la seguridad de tu servicio, te recomendamos que especifiques tu propia cuenta de servicio para ejecutar tus compilaciones al implementar un servicio desde la fuente.

gcloud

Para especificar la cuenta de servicio de Cloud Build al desplegar un servicio a partir del código fuente, usa la marca --build-service-account:

gcloud run deploy SERVICE \
    --source . \
    --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT

Sustituye:

  • SERVICE con el nombre de tu servicio de Cloud Run.
  • PROJECT_ID el ID del proyecto en el que se crea la cuenta de servicio de compilación.
  • BUILD_SERVICE_ACCOUNT con una cuenta de servicio especificada por el usuario.

Si vas a desplegar una función, añade la marca --function con el punto de entrada de la función de tu código fuente.