Build-Dienstkonto festlegen (Quellbereitstellung)

Bei der Quellbereitstellung einer Funktion nutzt Cloud Run Cloud Build zum Erstellen und Bereitstellen der Funktion.

Auf dieser Seite erfahren Sie, wie Sie ein benutzerdefiniertes Dienstkonto für Cloud Build festlegen, das beim Ausführen von Builds der Funktion in Ihrem Namen verwendet werden soll. Dieser Leitfaden richtet sich an Plattformentwickler, die Funktionen in Cloud Run bereitstellen und das von Cloud Build verwendete Build-Dienstkonto anpassen müssen.

Hinweise

  1. Aktivieren Sie die Cloud Build API

    gcloud services enable cloudbuild.googleapis.com
  2. Erstellen Sie ein Dienstkonto oder verwenden Sie ein vorhandenes Dienstkonto, das als Dienstkonto für Cloud Build verwendet werden soll.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Bereitstellen aus der Quelle benötigen:

Damit das für Cloud Build verwendete Dienstkonto den Build ausführen kann, wenn eine Funktion bereitgestellt wird, bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Dienstkonto zu gewähren:

  • Logs Writer (roles/logging.logWriter): Zum Speichern von Build-Logs in Cloud Logging.
  • Artifact Registry Writer (roles/artifactregistry.writer): Zum Speichern von Build-Images in der Artifact Registry.
  • Storage Object Admin (roles/storage.objectAdmin): Zum Abrufen der Funktionsquelle aus dem Cloud Storage-Bucket und zum Speichern von Build-Images in Artifact Registry.

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 Service mit Google 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 einer Funktion aus der Quelle kein Cloud Build-Dienstkonto angegeben wird, verwendet Cloud Build standardmäßig das Cloud Build-Standarddienstkonto.

Um das Prinzip der geringsten Berechtigung anzuwenden und die Sicherheit Ihrer Funktion zu verbessern, empfehlen wir Ihnen, Ihr eigenes Dienstkonto anzugeben, um Ihre Builds auszuführen, wenn Sie eine Funktion aus der Quelle bereitstellen.

gcloud

Sie können ein Dienstkonto angeben, das während der Bereitstellung einer Funktion als Cloud Build-Dienstkonto verwendet werden soll.

So geben Sie das Cloud Build-Dienstkonto an, wenn Sie eine Funktion aus dem Quellcode bereitstellen:

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --build-service-account BUILD_SERVICE_ACCOUNT

Ersetzen Sie:

  • SERVICE durch den Namen Ihrer Cloud Run-Funktion.
  • FUNCTION_ENTRY_POINT durch den Einstiegspunkt zur Funktion in Ihrem Quellcode. Lassen Sie das Flag --function weg, um einen Dienst anzugeben, der aus der Quelle bereitgestellt wird.
  • BUILD_SERVICE_ACCOUNT durch ein vom Nutzer angegebenes Dienstkonto.