Binärautorisierung für Cloud Run aktivieren

In diesem Leitfaden erfahren Sie, wie Sie die Binärautorisierung einrichten, um die richtlinienbasierte Bereitstellung von Cloud Run-Diensten und -Jobs zu erzwingen.

Hinweis

So richten Sie Cloud Run ein und aktivieren APIs:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Binärautorisierung für einen vorhandenen Cloud Run-Dienst aktivieren

Sie können die Erzwingung der Binärautorisierung für einen vorhandenen Dienst aktivieren. Zum Aktivieren der Erzwingung nach dem Aktivieren müssen Sie möglicherweise eine Überarbeitung bereitstellen oder den Diensttraffic aktualisieren.

Sie können die Erzwingung der Binärautorisierung für einen vorhandenen Dienst mit der Google Cloud Console oder der Google Cloud CLI aktivieren:

Console

  1. Rufen Sie die Cloud Run-Seite in der Google Cloud Console auf.

    Öffnen Sie Cloud Run.

  2. Klicken Sie auf den Dienst.

  3. Klicken Sie auf den Tab Sicherheit.

  4. Klicken Sie auf Aktivieren, um die Binärautorisierung für den Dienst zu aktivieren.

  5. Optional: Klicken Sie auf Richtlinie konfigurieren, um die Richtlinie für die Binärautorisierung zu konfigurieren.

gcloud

Aktivieren Sie die Binärautorisierung für den Dienst und stellen Sie ihn bereit:

gcloud run services update SERVICE_NAME --binary-authorization=default

Ersetzen Sie SERVICE_NAME mit einem Namen für das Dienstkonto.

YAML

  1. Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aktualisieren Sie die Annotation run.googleapis.com/binary-authorization: so:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      annotations:
        run.googleapis.com/binary-authorization: POLICY
      name: SERVICE
    spec:
      template:

    Ersetzen Sie Folgendes:

    • SERVICE: Der Name Ihres Cloud Runs
    • Legen Sie für POLICY default fest.
  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

gcloud run services replace service.yaml

Binärautorisierung für einen vorhandenen Cloud Run-Job aktivieren

Sie können die Erzwingung der Binärautorisierung für einen vorhandenen Job mit der Google Cloud Console oder der Google Cloud CLI aktivieren:

Console

  1. Rufen Sie die Seite mit den Cloud Run-Jobs in der Google Cloud Console auf.

    Öffnen Sie Cloud Run.

  2. Klicken Sie auf den gewünschten Job, um die Jobdetails zu öffnen.

  3. Klicken Sie auf den Tab Konfiguration.

  4. Wählen Sie unter Binärautorisierung eine Richtlinie aus der Richtlinienliste aus.

  5. Klicken Sie auf Anwenden, um die Erzwingung der Binärautorisierung für den Job zu aktivieren.

  6. Optional: Klicken Sie auf Richtlinie konfigurieren, um die Richtlinie für die Binärautorisierung zu konfigurieren.

gcloud

Aktivieren Sie die Binärautorisierung für den Job:

gcloud run jobs update JOB_NAME --binary-authorization=POLICY

Ersetzen Sie Folgendes:

  • JOB_NAME: der Name des Jobs.
  • POLICY: die Richtlinie, die Sie anwenden möchten. Verwenden Sie den Wert default, um die Standardrichtlinie zu verwenden.

Wir empfehlen, dass Sie eine Binärautorisierung für Cloud Run erfordern, indem Sie eine entsprechende Organisationsrichtlinie konfigurieren. Die Binärautorisierung kann von Cloud Run-Entwicklern deaktiviert werden, wenn die Richtlinie nicht konfiguriert ist.

Richtlinie ansehen

Klicken Sie auf Richtlinie ansehen, um die Richtlinie aufzurufen.

Weitere Informationen finden Sie unter Richtlinie für die Binärautorisierung konfigurieren.

Fehler bei der Dienst- oder Jobbereitstellung

Wenn Ihr Dienst oder Job nicht bereitgestellt werden kann, weil er gegen die Richtlinie für die Binärautorisierung verstößt, wird möglicherweise ein Fehler wie der folgende angezeigt:

Revision REVISION_NAME uses an unauthorized container image.
Container image IMAGE_NAME is not authorized by policy.

Der Fehler enthält auch Informationen darüber, warum das Image gegen die Richtlinie verstößt. In diesem Fall können Sie mit Break-Glass die Richtlinienerzwingung umgehen und das Image bereitstellen.

Binärautorisierung für einen neuen Dienst aktivieren

Sie können die Binärautorisierung für einen neuen Dienst über die Google Cloud Console oder die Google Cloud CLI aktivieren:

Console

  1. Zur Seite „Cloud Run“

    Öffnen Sie Cloud Run.

  2. Klicken Sie auf Dienst erstellen.

  3. Im Formular Dienst erstellen:

    1. Wählen Sie Cloud Run als Entwicklungsplattform aus.
    2. Wählen Sie die Region aus, in der sich Ihr Dienst befinden soll.
    3. Geben Sie den Namen des Dienstes ein.
    4. Klicken Sie auf Weiter, um zur Seite Erste Überarbeitung des Dienstes konfigurieren zu gelangen.
    5. Wählen Sie Überarbeitung aus dem vorhandenen Container-Image bereitstellen.
    6. Geben Sie das bereitzustellende Image ein oder wählen Sie es aus.
    7. Maximieren Sie den Abschnitt Erweiterte Einstellungen.
    8. Klicken Sie auf den Tab Sicherheit.
    9. Klicken Sie auf das Kästchen Container-Deployment mit Binärautorisierung prüfen.

    10. Optional: Klicken Sie auf Richtlinie konfigurieren, um die Richtlinie für die Binärautorisierung zu konfigurieren. Weitere Informationen zum Konfigurieren einer Richtlinie finden Sie unter Richtlinie konfigurieren.

    11. Stellen Sie den Dienst bereit.

gcloud

Aktivieren Sie die Binärautorisierung für den Dienst und stellen Sie ihn bereit:

  gcloud run deploy SERVICE_NAME --image=IMAGE_URL --binary-authorization=default --region=REGION

Ersetzen Sie Folgendes:

  • SERVICE_NAME: Ein Name für Ihren Dienst
  • IMAGE_URL: das Image, das Sie bereitstellen möchten
  • REGION: die Region, in der Sie Ihren Dienst bereitstellen möchten

Binärautorisierung für einen neuen Job aktivieren

Sie können die Binärautorisierung für einen neuen Job über die Google Cloud CLI aktivieren:

gcloud

  1. Erstellen Sie einen neuen Job mit aktivierter Binärautorisierung:

    gcloud run jobs create JOB_NAME \
      --image IMAGE_URL OPTIONS \
      --binary-authorization=POLICY \
      --region=REGION

    Ersetzen Sie Folgendes:

    • JOB_NAME: der Name des Jobs, den Sie erstellen möchten. Sie können diesen Parameter auch weglassen, werden dann jedoch nach dem Jobnamen gefragt.
    • POLICY: die Richtlinie, die Sie anwenden möchten. Verwenden Sie den Wert default, um die Standardrichtlinie zu verwenden.
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • REGION: die Region, in der dieser Job ausgeführt wird.
    • OPTIONS: Alle verfügbaren Optionen, die auf der Cloud Run-Seite zur Joberstellung beschrieben werden.
  2. Warten Sie, bis die Joberstellung abgeschlossen ist. Nach erfolgreichem Abschluss zeigt die Console eine Erfolgsmeldung an.

  3. Informationen zum Ausführen des Jobs finden Sie unter Jobs ausführen oder Jobs nach einem Zeitplan ausführen.

Wenn Sie einen neuen Job erstellen, muss der Cloud Run-Dienst-Agent auf den Container zugreifen können. Dies ist standardmäßig der Fall.

YAML

  1. Erstellen Sie eine neue service.yaml-Datei mit folgendem Inhalt:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/binary-authorization: POLICY
    spec:
      template:
        spec:
          containers:
          - image: IMAGE

    Ersetzen Sie Folgendes:

    • SERVICE: Der Name Ihres Cloud Runs
    • IMAGE: die URL Ihres Container-Images
    • Legen Sie für POLICY default fest.
  2. Stellen Sie den neuen Dienst mit dem folgenden Befehl bereit:

gcloud run services replace service.yaml

Nächste Schritte