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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Dienst mit aktivierter Binärautorisierung erstellen
So erstellen Sie einen Cloud Run-Dienst mit aktivierter Binärautorisierung:
Klicken Sie auf Dienst erstellen. Das Formular Dienst erstellen wird aufgerufen:
Führen Sie im angezeigten Formular die folgenden Schritte aus:
- Wählen Sie Cloud Run als Entwicklungsplattform aus.
- Wählen Sie die Region aus, in der sich Ihr Dienst befinden soll.
- Geben Sie den Namen an, den Sie dem Dienst geben möchten, z. B.
test-service
. Klicken Sie auf Weiter, um zur Seite Erste Überarbeitung des Dienstes konfigurieren zu gelangen.
Tun Sie im Formular Folgendes:
- Wählen Sie Überarbeitung aus dem vorhandenen Container-Image bereitstellen.
Verwenden Sie
us-docker.pkg.dev/cloudrun/container/hello
als Container-Image.Maximieren Sie den Abschnitt Erweiterte Einstellungen.
Klicken Sie auf die Registerkarte Sicherheit.
Klicken Sie auf das Kästchen Container-Bereitstellung mit Binärautorisierung prüfen:
Standardmäßig lässt die Richtlinie für die Binärautorisierung alle Images zu.
Klicken Sie auf Weiter, um zur Seite Konfigurieren, wie dieser Dienst ausgelöst wird zu gelangen:
Wählen Sie Nicht authentifizierte Aufrufe zulassen aus, um das Ergebnis in Ihrem Webbrowser zu öffnen
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:
-
Klicken Sie auf Richtlinie bearbeiten.
Beachten Sie, dass unter Projektstandardregel die Option Alle Images zulassen ausgewählt ist.
Ändern Sie nun die Richtlinie, um die Bereitstellung aller Images zu verhindern. Gehen Sie dazu so vor:
Rufen Sie in der Google Cloud Console die Seite Binärautorisierung auf.
Klicken Sie auf Richtlinie bearbeiten.
Wählen Sie unter Standardregel die Option Alle Images nicht zulassen aus.
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:
Klicken Sie auf den Namen des Dienstes, den Sie zuvor in dieser Anleitung bereitgestellt haben.
Klicken Sie auf „Neue Überarbeitung bearbeiten und bereitstellen“.
Klicken Sie auf Bereitstellen.
Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:
Service update rejected by Binary Authorization policy: RevisionREVISION
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:
Rufen Sie in der Google Cloud Console die Seite Binärautorisierung auf.
Klicken Sie auf Richtlinie bearbeiten.
Wählen Sie Alle Images zulassen aus.
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 in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:
So löschen Sie den in Cloud Run erstellten Dienst:
Klicken Sie in der Übersicht das Kästchen des zu löschenden Dienstes an.
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
Verwenden Sie Break-Glass, um die Erzwingung der Binärautorisierung zu umgehen.
Verwenden Sie den Attestierer
built-by-cloud-build
, um nur von Cloud Build erstellte Images bereitzustellen.Konfigurieren Sie die Richtlinie für die Binärautorisierung mithilfe der Google Cloud Console oder des Befehlszeilentools.
Binärautorisierung für Cloud Run-Ereignisse in Cloud-Audit-Logs ansehen