En este documento, se explica cómo configurar tu cuenta de servicio de Cloud Build para suplantar cuentas de servicio de Runtime, Compute Engine o App Engine, de modo que puedas implementar imágenes en servicios administrados.
Descripción general
Cuando una imagen se implementa en servicios administrados específicos, se ejecuta con la identidad de la cuenta de servicio de ese servicio administrado. Debido a que Cloud Build puede implementar instancias o versiones nuevas de forma automática, la cuenta de servicio de Cloud Build que especificaste o la cuenta de servicio predeterminada de Cloud Build deben poder suplantar la cuenta de servicio de tu servicio administrado. Este requisito se aplica cuando se realiza la implementación en los siguientes servicios administrados:
Servicio administrado | Cuenta de servicio |
---|---|
App Engine | Cuenta de servicio de App Engine |
Funciones de Cloud Run | Cuenta de servicio del entorno de ejecución |
Cloud Run | Identidad del servicio |
Compute Engine | Cuenta de servicio de Compute Engine |
Configura el uso de identidad temporal como cuenta de servicio
Para configurar tu cuenta de servicio de Cloud Build para suplantar la identidad de otra cuenta de servicio, haz lo siguiente:
Console
Ve a la página Permisos de settings Cloud Build.
Selecciona tu cuenta de servicio de Cloud Build.
Habilita el rol de IAM necesario para tu servicio administrado:
Servicio administrado Función requerida App Engine Administrador de App Engine ( roles/appengine.appAdmin
)Funciones de Cloud Run Desarrollador de Cloud Functions ( roles/cloudfunctions.developer
)Cloud Run Administrador de Cloud Run ( roles/run.admin
)Compute Engine Administrador de instancias de Compute v1 ( roles/compute.instanceAdmin.v1
)Cloud Build muestra el panel Asigna el rol Usuario de cuenta de servicio.
Elige una cuenta de servicio para suplantar su identidad. Por ejemplo, si planeas realizar la implementación en Compute Engine y habilitaste el rol de administrador de instancias de Compute v1, elegirías la cuenta de servicio de Compute Engine que deseas que suplante tu cuenta de servicio de Cloud Build.
Haz clic en Otorgar permiso.
gcloud CLI
En Google Cloud CLI, ingresa lo siguiente:
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT_TO_IMPERSONATE \
--member="CLOUD_BUILD_SERVICE_ACCOUNT" \
--role="roles/iam.serviceAccountUser"
Aquí:
- SERVICE_ACCOUNT_TO_IMPERSONATE es la cuenta de servicio cuya identidad quieres usar.
- CLOUD_BUILD_SERVICE_ACCOUNT es tu cuenta de servicio de Cloud Build.
Cloud Build asigna a tu cuenta de servicio de Cloud Build el rol de usuario de cuenta de servicio (roles/iam.serviceAccountUser
) para la cuenta de servicio que deseas suplantar.
El rol de usuario de cuenta de servicio permite que una principal adjunte una cuenta de servicio a un recurso, lo que permite que tu cuenta de servicio de Cloud Build suplante la identidad de la cuenta de servicio administrada que elegiste. Para obtener más información, consulta Función de usuario de cuenta de servicio y Cómo conectar cuentas de servicio a recursos en la documentación de IAM.