Sie können mithilfe von Zulassungslisten und Richtlinien steuern, welche privilegierten Arbeitslasten im Google Kubernetes Engine-Modus (GKE) Autopilot ausgeführt werden können. In diesem Dokument werden die Standardeinschränkungen beschrieben, die Autopilot für Arbeitslasten erzwingt, die Arten von privilegierten Arbeitslasten, die Sie im Autopilot-Modus ausführen können, und die Methoden zum Steuern der Zulassung privilegierter Arbeitslasten.
Dieses Dokument richtet sich an folgende Personen:
- Plattformadministratoren und ‑operatoren, die privilegierte GKE-Arbeitslasten aus verschiedenen Quellen im Autopilot-Modus ausführen möchten.
- Identitäts- und Kontoadministratoren, die den Sicherheitsstatus Ihrer Organisation verbessern möchten, indem sie alle privilegierten Arbeitslasten mit Ausnahme bestimmter Arbeitslasten blockieren.
Arbeitslasten mit Berechtigungen im Autopilot-Modus
Zur Verbesserung der Sicherheit werden in Clustern und Knoten im Autopilot-Modus standardmäßig bestimmte Sicherheitseinschränkungen erzwungen. Autopilot lehnt beispielsweise die meisten Pods ab, in denen das Feld spec.securityContext.privileged in einem Container auf true festgelegt ist. Privilegierte Arbeitslasten in Autopilot sind Arbeitslasten, die diese Standardeinschränkungen nicht erfüllen. Standardmäßig lehnen Autopilot-Knoten in einer Google CloudOrganisation privilegierte Arbeitslasten ab.
Bestimmte privilegierte Arbeitslasten können im Autopilot-Modus nur ausgeführt werden, wenn der Cluster Zulassungslisten hat, die mit diesen Arbeitslasten übereinstimmen. Wenn ein Clusteradministrator einen Cluster erstellt oder ändert, kann er Pfade zu Zulassungslisten angeben, die im Cluster ausgeführt werden können. Standardmäßig unterstützt jede Google Cloud Organisation Zulassungslisten von Autopilot-Partnern und verifizierten Open-Source-Projekten.
Organisationsadministratoren können dieses Standardverhalten auf folgende Weise mit dem Organization Policy Service ändern:
- Alle Arbeitslasten von GKE Autopilot-Partnern und verifizierte Open-Source-Arbeitslasten zulassen. Das ist das Standardverhalten in allenGoogle Cloud -Organisationen.
- Bestimmte Partnerarbeitslasten oder verifizierte Open-Source-Arbeitslasten zulassen
- Nur bestimmte privilegierte Arbeitslasten des Kunden zulassen.
- Alle privilegierten Arbeitslasten ablehnen.
Dieser Ansatz Alles ablehnen und dann einige zulassen ist eine bewährte Sicherheitsmethode, mit der Sie genau steuern können, was mit erhöhten Berechtigungen in Ihren GKE-Clustern ausgeführt wird.
In den folgenden Situationen kann es sinnvoll sein, privilegierte Arbeitslasten im Autopilot-Modus zu steuern:
- Sie führen Arbeitslasten im Autopilot-Modus in Standardclustern aus und möchten, dass privilegierte Arbeitslasten auf diesen Knoten ausgeführt werden.
- Sie möchten nur eine bestimmte Gruppe von privilegierten Arbeitslasten in Ihrer Organisation, Ihrem Ordner oder Ihrem Projekt zulassen.
Quellen privilegierter Autopilot-Arbeitslasten
In der folgenden Tabelle werden die Arten von privilegierten Arbeitslasten beschrieben, die Sie in Autopilot ausführen können:
| Privilegierte Arbeitslasttypen | |
|---|---|
| Autopilot-Partnerarbeitslasten | Ein Teil der Google Cloud Partner bietet Arbeitslasten mit Berechtigungen für den Autopilot-Modus an. GKE überprüft diese Partnerarbeitslasten. Diese Arbeitslasten sind für alle Kunden verfügbar. Standardmäßig kann jeder Kunde die entsprechenden Zulassungslisten in einem beliebigen Autopilot- oder Standard-Cluster installieren. Weitere Informationen zu den verfügbaren Partnerarbeitslasten finden Sie unter Autopilot-Partner. |
| Open-Source-Arbeitslasten | Für bestimmte privilegierte Open-Source-Arbeitslasten gibt es Zulassungslisten, mit denen Sie diese Arbeitslasten im Autopilot-Modus ausführen können. GKE überprüft diese Arbeitslasten. Standardmäßig kann jeder Kunde die entsprechenden Zulassungslisten in jedem Autopilot- oder Standardcluster installieren. Weitere Informationen zu den verfügbaren Open-Source-Arbeitslasten finden Sie unter Privilegierte Open-Source-Arbeitslasten in GKE Autopilot ausführen. |
| Kundeneigene Arbeitslasten | Wenn Sie ein berechtigter Kunde mit privilegierten Arbeitslasten sind, die Sie auf Autopilot-Knoten ausführen möchten, können Sie Zulassungslisten für diese Arbeitslasten erstellen. Diese Funktion ist standardmäßig für alle Google Cloud -Organisationen deaktiviert. Mit dem Organization Policy Service können Sie Zulassungslistenpfade für bestimmte Arbeitslasten hinzufügen und dann Cluster aktualisieren, um diese Zulassungslisten zu installieren. Weitere Informationen finden Sie im Abschnitt Privilegierte Arbeitslasten im Besitz des Kunden. |
Funktionsweise der Zugriffssteuerung für privilegierte Workloads
Damit bestimmte privilegierte Arbeitslasten auf Ihren Autopilot-Knoten ausgeführt werden können, installieren Sie Zulassungslisten, die den einzelnen Arbeitslasten entsprechen. Diese Zulassungslisten sind benutzerdefinierte Kubernetes-Ressourcen vom Typ „WorkloadAllowlist“. GKE validiert die Details der Arbeitslast anhand aller WorkloadAllowlists im Cluster und lässt die Aufnahme nur zu, wenn die Details übereinstimmen. Standardmäßig können Sie in jedem Autopilot- oder Standardcluster in einer Google Cloud-Organisation WorkloadAllowlists für Autopilot-Partnerarbeitslasten und für Open-Source-Arbeitslasten installieren.
Auf übergeordneter Ebene umfasst das Ausführen privilegierter Arbeitslasten auf Autopilot-Knoten die folgenden Schritte:
- Der Organisationsadministrator prüft, ob die verwaltete
container.managed.autopilotPrivilegedAdmission-Einschränkung für Organisationsrichtlinien die Installation von Zulassungslisten aus einer bestimmten Quelle zulässt. Weitere Informationen finden Sie im Abschnitt Von Organisationsrichtlinien verwaltete Einschränkung für Zulassungslisten. - Für privilegierte Arbeitslasten, die dem Kunden gehören, erstellt der Plattformadministrator Zulassungslisten, die den privilegierten Arbeitslasten entsprechen. Weitere Informationen finden Sie im Abschnitt Privilegierte Arbeitslasten im Besitz des Kunden.
- Der Clusteradministrator konfiguriert einen Autopilot- oder Standardcluster, um die Installation von Zulassungslisten aus einer bestimmten Quelle zu ermöglichen. Weitere Informationen finden Sie im Abschnitt Clusterkonfiguration.
- Der Clusteradministrator erstellt einen AllowlistSynchronizer, der auf den Pfad zur Zulassungsliste verweist. Der AllowlistSynchronizer installiert die Zulassungsliste und hält sie auf dem neuesten Stand. Weitere Informationen finden Sie im Abschnitt Installation auf der Zulassungsliste.
Nachdem diese Schritte abgeschlossen sind, kann ein App-Operator die privilegierte Arbeitslast im Cluster bereitstellen.
Von Organisationsrichtlinien verwaltete Einschränkung für Zulassungslisten
Standardmäßig erzwingt jede Google Cloud Organisation eine Organisationsrichtlinie, die auf der container.managed.autopilotPrivilegedAdmission
verwalteten Einschränkung basiert.
Mit dieser Einschränkung wird eine Reihe von Datei- oder Verzeichnispfaden definiert, aus denen GKE-Cluster Zulassungslisten installieren können. In der Clusterkonfiguration müssen Allowlist-Pfade aus den Parametern dieser Einschränkung verwendet werden.
Standardmäßig erlaubt die Einschränkung autopilotPrivilegedAdmission die Verwendung aller Zulassungslisten, die von genehmigten GKE-Partnern und Open-Source-Projekten erstellt wurden. Diese Einstellung entspricht der Standardkonfiguration von GKE-Clustern, in denen alle genehmigten Zulassungslisten installiert werden können.
Als Administrator für Organisationsrichtlinien können Sie die Liste der zulässigen Pfade ändern, die auf GKE-Cluster in Ihrer Organisation, Ihrem Ordner oder Ihrem Projekt angewendet werden können. Wenn Sie beispielsweise die Verwendung einer benutzerdefinierten Zulassungsliste zulassen möchten, die Ihrer Organisation gehört, fügen Sie den Pfad der Zulassungsliste der verwalteten Einschränkung hinzu.
Parameter für verwaltete Einschränkungen
Die verwaltete Einschränkung autopilotPrivilegedAdmission hat die folgende Spezifikation:
spec:
rules:
- enforce: true
parameters:
allowAnyGKEPath: ALLOW_GKE_PATHS
allowPaths:
- PATH1
- PATH2
- PATH3
Die folgenden Felder in der Spezifikation steuern die Gruppe der Zulassungslisten, die von Clustern verwendet werden können:
allowAnyGKEPath: Ein boolescher Wert, der steuert, ob Cluster die standardmäßige Gruppe der von GKE genehmigten Zulassungslistenpfade verwenden können. Dieser Parameter unterstützt die folgenden Werte:True: Clusteradministratoren können Cluster konfigurieren, ohne die Zulassungslistenkonfiguration zu ändern. Sie können einen oder mehrere Zulassungslistenpfade verwenden, die mitgke://beginnen, oder einen leeren String, um alle Zulassungslisten für den Cluster zu deaktivieren.Trueist der Standardwert für diesen Parameter.False: Clusteradministratoren müssen Cluster mit einem leeren String für die Quellen der Zulassungsliste oder mit beliebigen Zulassungslistenpfaden aus dem ParameterallowPathskonfigurieren.
allowPaths: Eine Liste der genehmigten Quellen auf der Zulassungsliste, aus denen Clusteradministratoren Werte angeben können, wenn sie einen Cluster konfigurieren. Sie können Pfade zu bestimmten Zulassungslistendateien oder zu ganzen Verzeichnissen angeben.
In der folgenden Tabelle werden die Ergebnisse der verschiedenen Konfigurationen dieser Parameter beschrieben:
allowAnyGKEPath Wert |
allowPaths Wert |
Ergebnis |
|---|---|---|
True |
Leer oder nicht angegeben. | Clusteradministratoren können während der Clustererstellung oder -änderung folgende Aktionen ausführen:
|
False |
Leer oder nicht angegeben. | Clusteradministratoren müssen einen leeren Wert für die Konfiguration der Cluster-Zulassungsliste angeben. Wenn Clusteradministratoren die Konfiguration des Zulassungslistenpfads überspringen, schlägt die Clustererstellung oder -änderung fehl. |
True |
Werte werden angegeben. | Clusteradministratoren können während der Clustererstellung oder -änderung folgende Aktionen ausführen:
|
False |
Werte werden angegeben. | Clusteradministratoren müssen beim Erstellen oder Ändern eines Clusters eine der folgenden Aktionen ausführen:
|
Weitere Informationen zum Steuern der Zulassung privilegierter Arbeitslasten in Organisationsrichtlinien finden Sie unter Privilegierte GKE-Arbeitslasten in Organisationen einschränken.
Kundeneigene privilegierte Arbeitslasten
Als GKE-Kunde haben Sie möglicherweise eigene spezielle Arbeitslasten, die im Cluster mehr Berechtigungen erfordern, als die standardmäßigen Autopilot-Sicherheitseinschränkungen zulassen. In GKE-Version 1.35 und höher können Sie diese Arbeitslasten von den standardmäßigen Autopilot-Einschränkungen ausnehmen, indem Sie Zulassungslisten erstellen.
Eine Zulassungsliste ist eine YAML-Datei, in der eine benutzerdefinierte Kubernetes-Ressource vom Typ „WorkloadAllowlist“ definiert wird. Die Spezifikation einer WorkloadAllowlist entspricht verschiedenen Feldern in der Kubernetes-Pod-Spezifikation. Wenn Sie eine WorkloadAllowlist definieren, gleichen Sie die Werte in der WorkloadAllowlist mit den entsprechenden Feldern in der Spezifikation Ihrer privilegierten Arbeitslast ab. Sie speichern die YAML-Dateien in einem Cloud Storage-Bucket.
Damit diese vom Kunden erstellten Zulassungslisten in einem Cluster installiert werden können, müssen die folgenden Schritte ausgeführt werden:
- Der Administrator Ihrer Organisation fügt die Cloud Storage-Pfade einer Organisationsrichtlinie hinzu. Weitere Informationen finden Sie im Abschnitt Einschränkung „Von Organisation verwaltete Richtlinie“.
- Sie fügen die Cloud Storage-Pfade einer Clusterkonfiguration hinzu. Weitere Informationen finden Sie im Abschnitt Clusterkonfiguration.
Weitere Informationen zum Erstellen eigener WorkloadAllowlists finden Sie unter Zulassungslisten für privilegierte Autopilot-Arbeitslasten erstellen.
Clusterkonfiguration
Wenn Sie eine privilegierte Arbeitslast im Autopilot-Modus ausführen möchten, fügt ein Clusteradministrator der Clusterkonfiguration einen oder mehrere genehmigte Zulassungslistenpfade hinzu. Nachdem Sie die Pfade dem Cluster hinzugefügt haben, können App-Betreiber die entsprechenden Zulassungslisten und privilegierten Arbeitslasten im Cluster installieren.
Standardmäßig können Sie Zulassungslisten von Autopilot-Partnern und genehmigten Open-Source-Projekten installieren. Diese Standardgruppe genehmigter Quellen für Zulassungslisten kann sich aufgrund einer Organisationsrichtlinie ändern, wie im vorherigen Abschnitt beschrieben. Wenn eine Organisationsrichtlinie die genehmigten Pfade auf der Zulassungsliste steuert, müssen Sie sich mit Ihrem Organisationsadministrator abstimmen, um diese Pfade zu ermitteln. Anschließend können Sie einen oder mehrere der genehmigten Pfade in der Clusterkonfiguration angeben.
Weitere Informationen zum Konfigurieren von Clustern finden Sie unter Privilegierte Arbeitslasten in Autopilot ausführen.
Installation auf die Zulassungsliste setzen
Wenn Sie eine Zulassungsliste aus einer genehmigten Quelle in Ihrem Cluster installieren möchten, verwenden Sie eine benutzerdefinierte Kubernetes-Ressource namens „AllowlistSynchronizer“. Sie definieren und erstellen AllowlistSynchronizer-Ressourcen ähnlich wie andere Kubernetes-Ressourcen wie Pods und Deployments. Jeder AllowlistSynchronizer hat eine Liste von Pfaden zu Zulassungslisten, die Sie im Cluster installieren möchten.
Wenn Sie einen AllowlistSynchronizer erstellen, installiert GKE Zulassungslisten aus diesen Pfaden und hält die Zulassungslisten auf dem neuesten Stand. Alle 10 Minuten prüft GKE, ob sich die Zulassungslistendateien geändert haben. Wenn ein Update vorhanden ist, installiert der Synchronizer die aktualisierte Zulassungsliste im Cluster.
Nachdem GKE eine Zulassungsliste basierend auf einem AllowlistSynchronizer installiert hat, können Sie die entsprechende privilegierte Arbeitslast im Cluster erstellen.
Weitere Informationen zum Installieren von Zulassungslisten in einem Cluster finden Sie unter Privilegierte Arbeitslasten in Autopilot ausführen.
Pfade auf die Zulassungsliste setzen
Wenn Sie die Unterstützung von Zulassungslisten in Ihrer Organisationsrichtlinie oder Ihren Clustern konfigurieren, geben Sie Pfade zu einer oder mehreren WorkloadAllowlists an, die Sie für die Installation genehmigt haben. Die Syntax für diese Pfade hängt davon ab, wer die WorkloadAllowlist erstellt hat:
Bestimmte Autopilot-Partner und genehmigte Open-Source-Projekte:
gke://REPOSITORY_PATH/SELECTORErsetzen Sie Folgendes:
REPOSITORY_PATH: der Pfad zum Verzeichnis, das Zulassungslisten für die Arbeitslast enthält, z. B.Grafana/alloy. Weitere Informationen zu den Zulassungslistenpfaden für diese Arbeitslasten finden Sie auf den folgenden Seiten:SELECTOR: Der Name einer bestimmten Datei oder das Zeichen*, mit dem alle Dateien in diesem Verzeichnis ausgewählt werden.
Mit dem folgenden Pfad wird beispielsweise jede Zulassungsliste im Verzeichnis
Grafana/alloyausgewählt:gke://Grafana/alloy/*Privilegierte Arbeitslasten im Besitz des Kunden:
gs://DIRECTORY_PATH/SELECTORErsetzen Sie
DIRECTORY_PATHdurch den Pfad zum Verzeichnis in Cloud Storage, das Ihre Zulassungslistendateien enthält. Sie können mehrere Pfade angeben.
Sie können einen oder mehrere der oben genannten Pfade in Ihrer Organisationsrichtlinie oder Clusterkonfiguration angeben. Sie können beispielsweise GKE-Partnerarbeitslasten und kundeneigene Arbeitslasten derselben Konfiguration hinzufügen. Sie können auch das Zeichen * verwenden, um alle Zulassungslisten auszuwählen. Mit gke://* wird beispielsweise eine beliebige von GKE genehmigte Zulassungsliste aus einer beliebigen Quelle ausgewählt.
In der folgenden Tabelle wird die Konfiguration beschrieben, die in Organisationsrichtlinien oder Clustern erforderlich ist, um bestimmte Ziele zu unterstützen:
| Ziel | Konfiguration von Organisationsrichtlinien | Clusterkonfiguration |
|---|---|---|
| Alle von GKE genehmigten WorkloadAllowlists zulassen | Gehen Sie dazu so vor:
|
Führen Sie einen der folgenden Schritte aus:
|
| Nur bestimmte von GKE genehmigte WorkloadAllowlists zulassen | Gehen Sie dazu so vor:
|
Geben Sie Pfade zu bestimmten von GKE genehmigten WorkloadAllowlists an, wenn Sie einen Cluster erstellen oder aktualisieren. Eine Organisationsrichtlinie kann einschränken, welche von GKE genehmigten Pfade Sie angeben können. |
| Nur von Kunden verwaltete WorkloadAllowlists zulassen | Gehen Sie dazu so vor:
|
Geben Sie Pfade zu von Kunden verwalteten WorkloadAllowlists an, wenn Sie einen Cluster erstellen oder aktualisieren. Die von Ihnen angegebenen Pfade müssen im Parameter allowPaths einer Organisationsrichtlinie enthalten sein. |
| Verwendung von WorkloadAllowlists verhindern | Gehen Sie dazu so vor:
|
Legen Sie beim Erstellen oder Aktualisieren eines Clusters einen leeren String "" als genehmigten Pfad fest. |
Nächste Schritte
- Privilegierte GKE-Arbeitslasten in Organisationen einschränken
- Privilegierte Arbeitslasten in Autopilot ausführen