Lors des déploiements de code source, 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 plates-formes 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'indicateur gcloud CLI du compte de service de compilation est compatible avec les déploiements de code source (--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-en un existant comme compte de service Cloud Build.
Rôles requis
Vous ou votre administrateur devez attribuer les rôles IAM suivants au compte déployeur 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 compiler 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 Compilateur Cloud Run (roles/run.builder) au compte de service Cloud Build sur le 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 les 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 suivre les bonnes pratiques du principe du moindre privilège et améliorer la 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 d'une 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.