Ansichten:
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.
Hinweis
Hinweis
Standardmäß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:
  1. Gehen Sie zur Kubernetes Engine-Website.
  2. Wählen Sie den Cluster aus, für den die Binärautorisierung deaktiviert ist.
  3. Stellen Sie im Detailbereich unter dem Abschnitt Sicherheit sicher, dass die Binärautorisierung auf Aktiviert gesetzt ist. Bewerten Sie dann den Inhalt der Richtlinie.
  4. Gehen Sie zu Binär-Autorisierung.
  5. 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:
  1. Gehen Sie zu Binär-Autorisierung.
  2. Aktivieren Sie die Binär-Autorisierungs-API (falls deaktiviert).
  3. Erstellen Sie eine geeignete Richtlinie für die Verwendung mit dem Cluster. Siehe Google-Richtlinienreferenz für Anleitungen.
  4. Gehen Sie zur Kubernetes Engine-Website.
  5. Wählen Sie den Cluster aus, für den die Binärautorisierung deaktiviert ist.
  6. Klicken Sie im Detailbereich im Abschnitt Sicherheit auf das Stiftsymbol mit der Bezeichnung Binärautorisierung bearbeiten.
  7. Aktivieren Sie das Kontrollkästchen neben Binär-Autorisierung aktivieren.
  8. Wählen Sie Richtlinie erzwingen und geben Sie ein Verzeichnis für die zu verwendende Richtlinie an.
  9. 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>