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. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Run, Artifact Registry, Binary Authorization APIs aktivieren.

    Aktivieren Sie die APIs

  5. Installieren Sie die Google Cloud CLI.
  6. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  7. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  8. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  9. Cloud Run, Artifact Registry, Binary Authorization APIs aktivieren.

    Aktivieren Sie die APIs

  10. Installieren Sie die Google Cloud CLI.
  11. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    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 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

Sie können vorhandene Dienstkonfigurationen mit dem Befehl gcloud run services describe --format export herunterladen und aufrufen, was bereinigte Ergebnisse im YAML-Format liefert. Anschließend können Sie die unten beschriebenen Felder ändern und die geänderte YAML-Datei mit dem Befehl gcloud run services replace hochladen. Achten Sie darauf, dass Sie die Felder nur wie dokumentiert ändern.

  1. So rufen Sie die Konfiguration auf und laden sie 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 Run
    • 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 wird in der Console eine Erfolgsmeldung angezeigt.

  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 Run
    • 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