Zulassung privilegierter Arbeitslasten im Autopilot-Modus

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 zur Steuerung 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

Um die Sicherheit zu verbessern, werden in Clustern und Knoten im Autopilot-Modus standardmäßig bestimmte Sicherheitsbeschrä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 nur im Autopilot-Modus 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. Dies 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:

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 Standard-Cluster 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 Arbeitslastdetails 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:

  1. Der Organisationsadministrator prüft, ob die Einschränkung container.managed.autopilotPrivilegedAdmission (verwaltet) für Organisationsrichtlinien die Installation von Zulassungslisten aus einer bestimmten Quelle zulässt. Weitere Informationen finden Sie im Abschnitt Verwaltete Einschränkung für Organisationsrichtlinien für Zulassungslisten.
  2. 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.
  3. Der Clusteradministrator konfiguriert einen Autopilot- oder Standardcluster so, dass die Installation von Zulassungslisten aus einer bestimmten Quelle zulässig ist. Weitere Informationen finden Sie im Abschnitt Clusterkonfiguration.
  4. 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.

Diese verwaltete Einschränkung hat die folgenden Parameter:

  • allowAnyGKEPath: Ein boolescher Wert, mit dem Clusteradministratoren Cluster für die Installation von der Zulassungsliste aus Pfaden mit dem Präfix gke:// konfigurieren können. Folgende Werte werden unterstützt:

    • true: Clusteradministratoren können Cluster mit den GKE-Standardquellen auf der Zulassungsliste, mit einem beliebigen Zulassungslistenpfad, der mit gke:// beginnt, oder mit einem leeren String konfigurieren (wodurch alle Zulassungslisten verhindert werden). Dies ist der Standardwert für den Parameter allowAnyGKEPath.
    • false: Erfordert, dass Clusteradministratoren Cluster mit einem leeren String für die Quellen der Zulassungsliste oder mit beliebigen Pfaden der Zulassungsliste aus dem Parameter allowPaths konfigurieren.
  • allowPaths: Eine Liste der genehmigten Quellen auf der Zulassungsliste, aus denen Clusteradministratoren Werte angeben können, wenn sie einen Cluster konfigurieren.

Als Administrator der Organisation können Sie die Parameter dieser Richtlinie aktualisieren, um festzulegen, welche privilegierten Workloads in Ihrer Google CloudOrganisation ausgeführt werden dürfen. Mit der folgenden Konfiguration der Organisationsrichtlinie können Clusteradministratoren beispielsweise nur Zulassungslisten für eine bestimmte Partnerarbeitslast Google Cloudinstallieren:

name: organizations/ORGANIZATION_ID/policies/container.managed.autopilotPrivilegedAdmission
spec:
  rules:
  - enforce: true
    parameters:
      allowAnyGKEPath: ALLOW_GKE_PATHS
      allowPaths:
      - PATH1
      - PATH2
      - PATH3

Ersetzen Sie Folgendes:

  • ALLOW_GKE_PATHS: Gibt an, ob GKE-genehmigte Zulassungslisten zulässig sind. Geben Sie einen der folgenden Werte an:

    • True: Ermöglicht die Clusterkonfiguration mit beliebigen GKE-Partnerarbeitslasten oder verifizierten Open-Source-Arbeitslasten. Dies ist der Standardwert.
    • False: Ermöglicht die Clusterkonfiguration nur mit den Pfaden im Feld allowPaths.
    bei.
  • PATH1, PATH2, ...: Eine Liste der Pfade zu genehmigten Quellen auf der Zulassungsliste, die Clusteradministratoren bei der Konfiguration von Clustern verwenden können. Dieser Parameter ist standardmäßig leer. Wenn Sie Pfade für diesen Parameter angeben, müssen Clusteradministratoren beim Erstellen oder Aktualisieren eines Clusters null oder mehr dieser Pfade angeben.

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 Standardeinschränkungen von Autopilot 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:

  1. 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“.
  2. 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 AllowlistSynchronizers ähnlich wie andere Kubernetes-Ressourcen wie Pods und Deployments. Jeder AllowlistSynchronizer hat eine Liste mit 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/SELECTOR
    

    Ersetzen Sie Folgendes:

    Mit dem folgenden Pfad wird beispielsweise jede Zulassungsliste im Verzeichnis Grafana/alloy ausgewählt:

    gke://Grafana/alloy/*
    
  • Privilegierte Arbeitslasten im Besitz des Kunden:

    gs://DIRECTORY_PATH/SELECTOR
    

    Ersetzen Sie DIRECTORY_PATH durch 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:
  1. Legen Sie für den Parameter allowAnyGKEPath den Standardwert True fest.
  2. Lassen Sie den Parameter allowPaths leer.
Führen Sie einen der folgenden Schritte aus:
  • Konfigurieren Sie keine Zulassungslisten für Ihren Cluster. Standardmäßig ist in allen Clustern die Installation von GKE-genehmigten WorkloadAllowlists zulässig.
  • Geben Sie nur gke://* als genehmigten Pfad an, wenn Sie Zulassungslisten für Ihren Cluster konfigurieren.
Nur bestimmte von GKE genehmigte WorkloadAllowlists zulassen Gehen Sie dazu so vor:
  1. Setzen Sie den Parameter allowAnyGKEPath auf False.
  2. Geben Sie im Parameter allowPaths Pfade zu bestimmten von GKE genehmigten WorkloadAllowlists an.
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:
  1. Setzen Sie den Parameter allowAnyGKEPath auf False.
  2. Geben Sie Pfade zu vom Kunden verwalteten WorkloadAllowlists im Parameter allowPaths an.
Geben Sie Pfade zu von Kunden verwalteten WorkloadAllowlists an, wenn Sie einen Cluster erstellen oder aktualisieren. Die von Ihnen angegebenen Pfade müssen sich im Parameter allowPaths einer Organisationsrichtlinie befinden.
Verwendung von WorkloadAllowlists verhindern Gehen Sie dazu so vor:
  1. Setzen Sie den Parameter allowAnyGKEPath auf False.
  2. Lassen Sie den Parameter allowPaths leer.
Legen Sie beim Erstellen oder Aktualisieren eines Clusters einen leeren String "" als genehmigten Pfad fest.

Nächste Schritte