Profilanwendbarkeit: Stufe 2
Die Binärautorisierung hilft, die Sicherheit der Lieferkette zu schützen, indem sie
nur Bilder mit überprüfbarer kryptografisch signierter Metadaten in den Cluster zulässt.
Die Binär-Autorisierung bietet Sicherheit für die Software-Lieferkette von Images,
die auf GKE aus dem Google Container Registry (GCR) oder einem anderen Container-Image-Registry
bereitgestellt werden.
Die Binär-Autorisierung erfordert, dass Bilder während des Entwicklungsprozesses von
vertrauenswürdigen Behörden signiert werden. Diese Signaturen werden dann zum Zeitpunkt
der Bereitstellung validiert. Durch die Durchsetzung der Validierung kann eine strengere
Kontrolle über die Containerumgebung erreicht werden, indem sichergestellt wird, dass
nur verifizierte Bilder in den Build- und Freigabeprozess integriert werden.
![]() |
HinweisStandardmäßig ist die Binärautorisierung deaktiviert.
|
Auswirkung
Beim Definieren von Richtlinien ist Vorsicht geboten, um eine unbeabsichtigte Verweigerung
der Bereitstellung von Container-Images zu verhindern. Abhängig von der Richtlinie
müssen möglicherweise Attestierungen für vorhandene Container-Images, die innerhalb
des Clusters ausgeführt werden, erstellt werden, bevor diese Images im Rahmen des
Pod-Wechsels erneut bereitgestellt oder abgerufen werden.
Um zu verhindern, dass wichtige Systemabbilder von der Bereitstellung ausgeschlossen
werden, sollten Sie den globalen Richtlinienbewertungsmodus in Betracht ziehen, der
eine von Google bereitgestellte globale Richtlinie verwendet und eine Liste von Google
bereitgestellten Systemabbildern von weiteren Richtlinienbewertungen ausnimmt.
Prüfung
Verwendung der Google Cloud Console:
Um zu überprüfen, ob die Binärautorisierung für den GKE-Cluster aktiviert ist:
- Gehen Sie zur Kubernetes Engine-Website.
- Wählen Sie den Cluster aus, für den die Binärautorisierung deaktiviert ist.
- Stellen Sie im Detailbereich unter dem Abschnitt Sicherheit sicher, dass die Binärautorisierung auf Aktiviert gesetzt ist. Bewerten Sie dann den Inhalt der Richtlinie.
- Gehen Sie zu Binär-Autorisierung.
- Stellen Sie sicher, dass eine Richtlinie definiert ist und die Standardregel des Projekts nicht so konfiguriert ist, dass alle Images zugelassen werden.
Verwendung der Befehlszeile:
Um zu überprüfen, ob die Binärautorisierung für den GKE-Cluster aktiviert ist:
gcloud container clusters describe <cluster_name> --zone <compute_zone> --format json | jq .binaryAuthorization
Die obige Befehlsausgabe wird wie folgt aussehen, wenn die Binärautorisierung aktiviert
ist:
{ "enabled": true }
Bewerten Sie dann den Inhalt der Richtlinie:
gcloud container binauthz policy export > current-policy.yaml
Stellen Sie sicher, dass die aktuelle Richtlinie nicht so konfiguriert ist, dass alle
Images erlaubt sind (
evaluationMode: ALWAYS_ALLOW
):cat current-policy.yaml ... defaultAdmissionRule: evaluationMode: ALWAYS_ALLOW
Wiederherstellung
Verwendung der Google Cloud Console:
- Gehen Sie zu Binär-Autorisierung.
- Aktivieren Sie die Binär-Autorisierungs-API (falls deaktiviert).
- Erstellen Sie eine geeignete Richtlinie für die Verwendung mit dem Cluster. Siehe Google-Richtlinienreferenz für Anleitungen.
- Gehen Sie zur Kubernetes Engine-Website.
- Wählen Sie den Cluster aus, für den die Binärautorisierung deaktiviert ist.
- Klicken Sie im Detailbereich im Abschnitt Sicherheit auf das Stiftsymbol mit der Bezeichnung Binärautorisierung bearbeiten.
- Aktivieren Sie das Kontrollkästchen neben Binär-Autorisierung aktivieren.
- Wählen Sie Richtlinie erzwingen und geben Sie ein Verzeichnis für die zu verwendende Richtlinie an.
- Klicken Sie auf SAVE CHANGES.
Verwendung der Befehlszeile:
Aktualisieren Sie den Cluster, um die Binärautorisierung zu aktivieren:
gcloud container cluster update <cluster_name> --zone <compute_zone> --binauthz-evaluation-mode=<evaluation_mode> Example: gcloud container clusters update $CLUSTER_NAME --zone $COMPUTE_ZONE --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE
Weitere Informationen zu den verfügbaren Bewertungsmodi finden Sie unter Google-Cluster.
Erstellen Sie eine Binär-Autorisierungsrichtlinie mithilfe des Binär-Autorisierungsrichtlinien-Referenz als Leitfaden.
Importieren Sie die Richtliniendatei in die Binärautorisierung:
gcloud container binauthz policy import <yaml_policy>