Bei der Quellbereitstellung nutzt Cloud Run Cloud Build zum Erstellen und Bereitstellen Ihres Cloud Run-Dienstes.
Auf dieser Seite wird gezeigt, wie Sie ein benutzerdefiniertes Dienstkonto für Cloud Build festlegen, das beim Ausführen von Builds des Dienstes in Ihrem Namen verwendet werden soll.
Diese Anleitung richtet sich an Plattformentwickler, die Cloud Run-Dienste oder Funktionen mit der Google Cloud CLI bereitstellen und das von Cloud Build verwendete Build-Dienstkonto anpassen müssen. Das gcloud CLI-Flag für das Build-Dienstkonto wird für Quellcodebereitstellungen (--source) unterstützt, nicht jedoch für Bereitstellungen von Container-Images (--image).
Hinweis
Aktivieren Sie die Cloud Build API
gcloud services enable cloudbuild.googleapis.com
Erstellen Sie ein Dienstkonto oder verwenden Sie ein vorhandenes Dienstkonto als Cloud Build-Dienstkonto.
Erforderliche Rollen
Sie oder Ihr Administrator müssen dem Bereitstellerkonto und dem Cloud Build-Dienstkonto die folgenden IAM-Rollen zuweisen.
Klicken, um die erforderlichen Rollen für das Bereitstellerkonto aufzurufen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Bereitstellen aus der Quelle benötigen:
- Cloud Run Source Developer (
roles/run.sourceDeveloper) für Ihr Projekt - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) für Ihr Projekt - Rolle Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Cloud Run-Dienstidentität
Klicken, um die erforderlichen Rollen für das Cloud Build-Dienstkonto aufzurufen
Damit das Cloud Build-Dienstkonto den Build beim Bereitstellen einer Funktion ausführen kann, bitten Sie Ihren Administrator, dem Cloud Build-Dienstkonto die Rolle Cloud Run Builder (roles/run.builder) für das Projekt zu gewähren.
Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Dienst mitGoogle Cloud -APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.
Cloud Build-Dienstkonto angeben
Wenn beim Bereitstellen eines Dienstes oder einer Funktion aus dem Quellcode kein Cloud Build-Dienstkonto angegeben ist, verwendet Cloud Build standardmäßig das Cloud Build-Standarddienstkonto.
Um das Prinzip der geringsten Berechtigung anzuwenden und die Sicherheit Ihres Dienstes zu verbessern, empfehlen wir Ihnen, Ihr eigenes Dienstkonto anzugeben, um Ihre Builds auszuführen, wenn Sie einen Dienst aus der Quelle bereitstellen.
gcloud
Wenn Sie das Cloud Build-Dienstkonto beim Bereitstellen eines Dienstes aus dem Quellcode angeben möchten, verwenden Sie das Flag --build-service-account:
gcloud run deploy SERVICE \ --source . \ --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT
Ersetzen Sie:
- SERVICE durch den Namen Ihres Cloud Run-Dienstes.
- PROJECT_ID ist die Projekt-ID, für die das Build-Dienstkonto erstellt wird.
- BUILD_SERVICE_ACCOUNT durch ein vom Nutzer angegebenes Dienstkonto.
Wenn Sie eine Funktion bereitstellen, fügen Sie das Flag --function mit dem Funktionseinstiegspunkt aus Ihrem Quellcode hinzu.