Policy Controller – Übersicht
Auf dieser Seite wird erläutert, was Policy Controller ist und wie Sie damit sicherstellen können, dass Ihre Kubernetes-Cluster und -Arbeitslasten sicher und konform ausgeführt werden.
Policy Controller ermöglicht die Anwendung und Erzwingung programmierbarer Richtlinien für Ihre Kubernetes-Cluster. Diese Richtlinien dienen als Leitplanken und können beim Verwalten von Best Practices, der Sicherheit und der Compliance Ihrer Cluster und Ihrer Flotte helfen. Policy Controller basiert auf dem Open-Source-Projekt Open Policy Agent Gatekeeper und ist vollständig in Google Cloud eingebunden. Es umfasst ein integriertes Dashboard für eine bessere Beobachtbarkeit und eine vollständige Bibliothek vordefinierter Richtlinien für allgemeine Sicherheits- und Compliancekontrollen.
Policy Controller ist mit einer Lizenz der Google Kubernetes Engine (GKE) Enterprise-Version verfügbar.
Vorteile von Policy Controller
- In Google Cloud eingebunden: Plattformadministratoren können über die Google Cloud Console, mit Terraform oder über die Google Cloud CLI Policy Controller in jedem Cluster installieren, der mit Ihrer Flotte verbunden ist. Policy Controller funktioniert mit anderen Google Cloud-Diensten wie Config Sync, metrics und Cloud Monitoring.
- Unterstützung mehrerer Erzwingungspunkte: Zusätzlich zur Audit- und Zugangskontrolle für den Cluster kann Policy Controller optional eine Linksverschiebung aktivieren, um nicht konforme Änderungen vor der Anwendung zu analysieren und abzufangen.
- Vordefinierte Richtlinien-Bundles: Policy Controller enthält eine vollständige Bibliothek vordefinierter Richtlinien für allgemeine Sicherheits- und Compliancekontrollen. Dazu gehören sowohl Richtlinien-Bundles, die von Google erstellt und verwaltet werden, als auch die Einschränkungsvorlagenbibliothek.
- Unterstützt benutzerdefinierte Richtlinien: Wenn eine Richtlinienanpassung über die Möglichkeiten der Einschränkungsvorlagenbibliothek hinaus erforderlich ist, unterstützt Policy Controller zusätzlich die Entwicklung von benutzerdefinierten Einschränkungsvorlagen.
- Integrierte Beobachtbarkeit: Policy Controller enthält ein Dashboard der Google Cloud Console, das einen Überblick über den Status aller Richtlinien bietet, die auf Ihre Flotte angewendet werden (einschließlich nicht registrierter Cluster). Auf dem Dashboard sehen Sie den Compliance- und Erzwingungsstatus, sodass Sie Fehler leichter beheben können. Außerdem erhalten Sie dort fundierte Empfehlungen zum Beheben von Richtlinienverstößen.
Richtlinien-Bundles
Sie können Richtlinien-Bundles verwenden, um eine Reihe von Einschränkungen anzuwenden, die unter einem bestimmten Kubernetes-Standard-, Sicherheits- oder Compliance-Thema gruppiert sind. Diese Richtlinien-Bundles werden von Google erstellt und verwaltet und können daher direkt verwendet werden, ohne Code schreiben zu müssen. Sie können beispielsweise die folgenden Richtlinien-Bundles verwenden:
- Erzwingen Sie viele der Anforderungen wie bei PodSecurityPolicies. Sie können jedoch zusätzlich die Konfiguration vor der Erzwingung prüfen, um sicherzustellen, dass Richtlinienänderungen die Ausführung von Arbeitslasten nicht beeinträchtigen.
- Verwenden Sie mit Anthos Service Mesh kompatible Einschränkungen, um die Compliance Ihrer Mesh-Sicherheitslücken und Best Practices zu prüfen.
- Wenden Sie allgemeine Best Practices auf Ihre Clusterressourcen an, um Ihren Sicherheitsstatus zu verbessern. Dieses Bundle wird auch in der Policy Controller-Funktion Testen vor dem Kauf verwendet, sodass Sie diese Basisrichtlinien bei Bedarf ohne Aufpreis testen können.
Die Übersicht über Policy Controller-Bundles enthält weitere Details und eine Liste der derzeit verfügbaren Richtlinien-Bundles.
Einschränkung
Policy Controller erzwingt die Compliance Ihrer Cluster mithilfe von Objekten, die als Einschränkungen bezeichnet werden. Sie können sich Einschränkungen als die „Bausteine“ von Richtlinien vorstellen. Jede Einschränkung definiert eine bestimmte Änderung an der Kubernetes API, die für den Cluster, auf den sie angewendet wird, zulässig oder nicht zulässig ist. Sie können Richtlinien festlegen, um entweder nicht konforme API-Anfragen aktiv zu blockieren oder die Konfiguration Ihrer Cluster zu prüfen und Verstöße zu melden. In beiden Fällen können Sie Warnmeldungen mit Details zum Verstoß aufrufen, der in einem Cluster aufgetreten ist. Anhand dieser Informationen können Sie Probleme beheben. Sie können beispielsweise die folgenden individuellen Einschränkungen verwenden:
- Legen Sie fest, dass jeder Namespace mindestens ein Label hat. Mit dieser Einschränkung kann der genaue Ressourcenverbrauch beispielsweise bei Verwendung der GKE-Nutzungsmessung ermittelt werden.
- Beschränkung der Repositories, aus denen ein bestimmtes Container-Image abgerufen werden kann. Diese Einschränkung sorgt dafür, dass jeder Versuch, Container aus unbekannten Quellen abzurufen, abgelehnt wird. Ihre Cluster werden dadurch vor potenziell schädlicher Software geschützt.
- Sie können festlegen, ob ein Container im privilegierten Modus ausgeführt werden kann. Diese Einschränkung steuert die Fähigkeit jedes Containers, den privilegierten Modus zu aktivieren. So können Sie steuern, welche Container (falls vorhanden) mit uneingeschränkter Richtlinie ausgeführt werden können.
Dies sind nur einige der Einschränkungen, die in der in Policy Controller enthaltenen Bibliothek mit Einschränkungsvorlagen enthalten sind. Diese Bibliothek enthält zahlreiche Richtlinien, mit denen Sie Best Practices durchsetzen und Risiken begrenzen können. Wenn Sie mehr Anpassungen als die in der Einschränkungsvorlagenbibliothek verfügbaren Anpassungen benötigen, können Sie auch benutzerdefinierte Einschränkungsvorlagen erstellen.
Einschränkungen können mithilfe der Kubernetes API direkt auf Ihre Cluster angewendet oder mithilfe von Config Sync aus einer Source of Truth auf eine Reihe von Clustern verteilt werden.
Nächste Schritte
- Testen Sie Policy Controller kostenlos.
- Policy Controller installieren
- Weitere Informationen zu Richtlinien-Bundles
- Richtlinien-Bundles anwenden