Richtlinie zur Binärautorisierung mit Cloud Run konfigurieren

Diese Kurzanleitung zeigt, wie Sie in Cloud Run eine grundlegende Regel in einer Richtlinie für die Binärautorisierung konfigurieren und testen.

In dieser Kurzanleitung verwenden Sie die Binärautorisierung, um die Bereitstellung eines Cloud Run-Dienstes zu steuern.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Installieren Sie die Google Cloud CLI.

  6. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  7. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Installieren Sie die Google Cloud CLI.

  12. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  13. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init

Dienst mit aktivierter Binärautorisierung erstellen

So erstellen Sie einen Cloud Run-Dienst mit aktivierter Binärautorisierung:

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf Dienst erstellen. Das Formular Dienst erstellen wird aufgerufen:

    Bild

    Führen Sie im angezeigten Formular die folgenden Schritte aus:

    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 an, den Sie dem Dienst geben möchten, z. B. test-service.
    4. Klicken Sie auf Weiter, um zur Seite Erste Überarbeitung des Dienstes konfigurieren zu gelangen.

      Tun Sie im Formular Folgendes:

      1. Wählen Sie Überarbeitung aus dem vorhandenen Container-Image bereitstellen.
      2. Verwenden Sie us-docker.pkg.dev/cloudrun/container/hello als Container-Image.

      3. Maximieren Sie den Abschnitt Erweiterte Einstellungen.

      4. Klicken Sie auf die Registerkarte Sicherheit.

      5. Klicken Sie auf das Kästchen Container-Bereitstellung mit Binärautorisierung prüfen:

        Bild

        Standardmäßig lässt die Richtlinie für die Binärautorisierung alle Images zu.

      6. Klicken Sie auf Weiter, um zur Seite Konfigurieren, wie dieser Dienst ausgelöst wird zu gelangen:

        Image

      7. Wählen Sie Öffentlichen Zugriff zulassen aus, um das Ergebnis in Ihrem Webbrowser zu öffnen.

      8. Klicken Sie auf Erstellen, um das Image in Cloud Run bereitzustellen. Warten Sie, bis die Bereitstellung abgeschlossen ist.

      Ihr Dienst wurde bereitgestellt. Überarbeitungen unterliegen der Durchsetzung der Richtlinie für die Binärautorisierung.

Richtlinie für die Binärautorisierung aktualisieren, um alle Images zu verbieten

Die Richtlinie für die Binärautorisierung enthält eine Standardregel. Diese Regel steuert die Bereitstellung des gerade erstellten Cloud Run-Dienstes.

Standardmäßig lässt die Regel zu, dass alle Container-Images bereitgestellt werden.

So rufen Sie die Standardrichtlinie auf:

  1. Zur Binärautorisierung

    Richtlinien-Tab mit der Standardregel

  2. Klicken Sie auf Richtlinie bearbeiten.

  3. Beachten Sie, dass unter Projektstandardregel die Option Alle Images zulassen ausgewählt ist.

    Option zur Auswahl eines Standardregeltyps

Ändern Sie nun die Richtlinie, um die Bereitstellung aller Images zu verhindern. Gehen Sie dazu so vor:

  1. Rufen Sie in der Google Cloud -Console die Seite Binärautorisierung auf.

    Zur Binärautorisierung

  2. Klicken Sie auf Richtlinie bearbeiten.

  3. Wählen Sie unter Standardregel die Option Alle Images nicht zulassen aus.

    Option zur Auswahl eines Standardregeltyps

  4. Klicken Sie auf Save Policy (Richtlinie speichern).

Stellen Sie den Dienst neu bereit.

Testen Sie die aktualisierte Richtlinie, indem Sie eine neue Überarbeitung bereitstellen.

So stellen Sie das Image bereit:

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie auf den Namen des Dienstes, den Sie zuvor in dieser Anleitung bereitgestellt haben.

  3. Klicken Sie auf „Neue Überarbeitung bearbeiten und bereitstellen“.

  4. Klicken Sie auf Bereitstellen.

Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:

Service update rejected by Binary Authorization policy: Revision
REVISION uses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA' is not authorized by policy. Denied by an ALWAYS_DENY admission rule

Richtlinie zurücksetzen, um alle Images zuzulassen

So setzen Sie die Richtlinie zurück, um alle Images zuzulassen:

  1. Rufen Sie in der Google Cloud -Console die Seite Binärautorisierung auf.

    Zur Binärautorisierung

  2. Klicken Sie auf Richtlinie bearbeiten.

  3. Wählen Sie Alle Images zulassen aus.

  4. Klicken Sie auf Richtlinie speichern, um die Richtlinie zu speichern.

Sie können jetzt Images bereitstellen.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

So löschen Sie den in Cloud Run erstellten Dienst:

  1. Öffnen Sie Cloud Run.

  2. Klicken Sie in der Übersicht das Kästchen des zu löschenden Dienstes an.

  3. Klicken Sie auf Löschen. Dadurch werden alle Überarbeitungen des Dienstes gelöscht.

Informationen zum Deaktivieren der Binärautorisierung finden Sie unter Binärautorisierung deaktivieren.

Nächste Schritte