Lors des déploiements sources, Cloud Run exploite Cloud Build lors de la compilation et du déploiement de votre service Cloud Run.
Cette page explique comment configurer un compte de service spécifié par l'utilisateur que Cloud Build doit utiliser lors de l'exécution de compilations du service en votre nom.
Ce guide s'adresse aux développeurs de plate-forme qui déploient des services ou des fonctions Cloud Run à l'aide de la Google Cloud CLI et qui doivent personnaliser le compte de service de compilation utilisé par Cloud Build. L'option de la CLI gcloud du compte de service de compilation est compatible avec les déploiements de sources (--source
), mais pas avec les déploiements d'images de conteneur (--image
).
Avant de commencer
Activez l'API Cloud Build :
gcloud services enable cloudbuild.googleapis.com
Créez un compte de service ou utilisez un compte de service existant comme compte de service Cloud Build.
Rôles requis
Vous ou votre administrateur devez attribuer les rôles IAM suivants au compte de déploiement et au compte de service Cloud Build.
Cliquez ici pour afficher les rôles requis pour le compte déployeur
Pour obtenir les autorisations nécessaires pour créer et déployer à partir de la source, demandez à votre administrateur de vous accorder les rôles IAM suivants:
- Développeur de source Cloud Run (
roles/run.sourceDeveloper
) sur votre projet - Consommateur Service Usage (
roles/serviceusage.serviceUsageConsumer
) sur votre projet - Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur l'identité du service Cloud Run
Cliquez ici pour afficher les rôles requis pour le compte de service Cloud Build
Pour autoriser le compte de service Cloud Build à effectuer le build lors du déploiement d'une fonction, demandez à votre administrateur d'accorder le rôle Cloud Run Builder (roles/run.builder
) au compte de service Cloud Build du projet.
Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre service Cloud Run communique avec des APIGoogle Cloud , telles que des bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.
Spécifier un compte de service Cloud Build
Par défaut, si aucun compte de service Cloud Build n'est spécifié lors du déploiement d'un service ou d'une fonction à partir de la source, Cloud Build utilise le compte de service Cloud Build par défaut.
Pour respecter le principe du moindre privilège et améliorer la posture de sécurité de votre service, nous vous recommandons de spécifier votre propre compte de service pour exécuter vos builds lorsque vous déployez un service à partir de la source.
gcloud
Pour spécifier le compte de service Cloud Build lors du déploiement d'un service à partir du code source, utilisez l'option --build-service-account
:
gcloud run deploy SERVICE \ --source . \ --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT
Remplacez :
- SERVICE par le nom de votre service Cloud Run.
- PROJECT_ID : ID du projet dans lequel le compte de service de compilation est créé.
- BUILD_SERVICE_ACCOUNT par un compte de service spécifié par l'utilisateur.
Si vous déployez une fonction, ajoutez l'option --function
avec le point d'entrée de la fonction à partir de votre code source.