Privilegierte GKE-Arbeitslasten in Organisationen einschränken

Mit Richtlinien können Sie steuern, welche privilegierten Arbeitslasten in Google Kubernetes Engine-Clustern (GKE) in Ihrer Cloud de Confiance by S3NS Organisation ausgeführt werden können. In diesem Dokument erfahren Sie, wie Sie mit Richtlinien genehmigte Arbeitslastquellen definieren und Best Practices erzwingen, um Ihren Sicherheitsstatus zu verbessern.

Dieses Dokument richtet sich an Identitäts- und Kontoadministratoren, die nur genehmigte privilegierte Arbeitslasten überall in der Organisation ausführen möchten. Sie sollten mit den Konzepten auf den folgenden Seiten vertraut sein:

Funktionsweise der Zulassungskontrolle für privilegierte Arbeitslasten für Organisationen

Standardmäßig erzwingt GKE Autopilot eine Reihe von Sicherheitsmaßnahmen für Arbeitslasten. Arbeitslasten, die gegen diese Einschränkungen verstoßen, können nur ausgeführt werden, wenn Sie Zulassungslisten für diese Arbeitslasten installieren. Wenn Sie eine Zulassungsliste aus einer bestimmten Quelle installieren möchten, muss der Cluster so konfiguriert sein, dass Zulassungslisten aus dieser Quelle zugelassen werden.

Standardmäßig können Cloud de Confiance Plattformadministratoren in Organisationen Cluster so konfigurieren,dass Zulassungslisten von GKE-Partnern und verifizierten Open-Source-Projektenzugelassen werden. Wenn Ihre Organisation Sicherheitsanforderungen hat, um privilegierte Arbeitslasten auf eine explizite bekannte Menge von Quellen zu beschränken, können Sie das Standardverhalten mit einer Organisationsrichtlinie ändern.

Wenn Sie eine Liste genehmigter Zulassungslistenquellen für Ihre Organisation, Ihren Ordner oder Ihr Projekt erzwingen, können Plattformadministratoren nur diese Quellen angeben, wenn sie Autopilot- oder Standardcluster erstellen oder aktualisieren. Wenn ein Cluster mit einer nicht genehmigten Quelle erstellt oder aktualisiert wird, schlägt der Vorgang fehl.

Die Organisationsrichtlinien, die Sie konfigurieren sollten, hängen von Ihrem Anwendungsfall ab:

Hinweis

  1. Enable the Resource Manager API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  2. Wenn Ihre Teams Zulassungslisten für privilegierte Arbeitslasten haben, die ihnen gehören, bitten Sie sie , Ihnen die Pfade zu diesen Zulassungslisten in Cloud Storage zu geben.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Organisationsrichtlinien-Administrator (roles/orgpolicy.policyAdmin) für die Organisation, den Ordner oder das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Organisationsrichtlinien benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Organisationsrichtlinie für Zulassungslisten konfigurieren

Sie können die genehmigten Quellen von Zulassungslisten für eine Organisation, einen Ordner oder ein Projekt steuern, indem Sie eine Organisationsrichtlinie basierend auf der verwalteten Einschränkung constraints/container.managed.autopilotPrivilegedAdmission erstellen oder aktualisieren. Wenn Sie diese Organisationsrichtlinie erzwingen, können Clusteradministratoren Zulassungslisten nur aus den Quellen installieren, die Sie in der Richtlinie definieren.

Zusätzlich zu diesen Schritten empfehlen wir, eine Organisationsrichtlinie zu erzwingen, die nur Autopilot-Cluster in Ihrer Umgebung zulässt. Wenn keine Standardcluster in der Umgebung vorhanden sind, können nur Ihre genehmigten privilegierten Arbeitslasten ausgeführt werden. Weitere Informationen finden Sie im Abschnitt Organisationsrichtlinie konfigurieren, um nur Autopilot-Cluster zuzulassen.

Wählen Sie eine der folgenden Optionen aus, um eine Organisationsrichtlinie für genehmigte Zulassungslisten für privilegierte Arbeitslasten zu konfigurieren:

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Organisationsrichtlinien auf:

    Zu den Organisationsrichtlinien

  2. Suchen Sie in der Tabelle der Einschränkungen nach der verwalteten Einschränkung container.managed.autopilotPrivilegedAdmission.

  3. Klicken Sie auf Aktionen > Richtlinie bearbeiten. Die Seite Richtlinie bearbeiten wird geöffnet.

  4. Wählen Sie im Abschnitt Richtlinienquelle die Option Richtlinie der übergeordneten Ressource überschreiben aus.

  5. Klicken Sie im Abschnitt Regeln auf Regel hinzufügen.

  6. Wählen Sie im Abschnitt Erzwingung die Option Ein aus. Der Abschnitt Parameter wird angezeigt.

  7. So steuern Sie, ob von GKE genehmigte Zulassungslisten installiert werden können:

    1. Klicken Sie im Parameter allowAnyGKEPath auf Bearbeiten. Der Bereich Parameterwerte bearbeiten wird geöffnet.
    2. Wählen Sie im Abschnitt Werttyp die Option Benutzerdefiniert aus.
    3. Wählen Sie im Abschnitt Benutzerdefinierte Werte eine der folgenden Optionen aus:

      • True: Administratoren können Cluster so konfigurieren, dass Zulassungslisten von jedem Pfad ausgeführt werden, der mit gke:// beginnt. Das ist der Standardwert.
      • False: Administratoren können Cluster so konfigurieren, dass Zulassungslisten nur von den Pfaden ausgeführt werden, die Sie im allowPaths Parameter der Organisationsrichtlinie angeben. Wenn Sie im Parameter allowPaths keine Pfade angeben, können Cluster keine Zulassungslisten aus einer beliebigen Quelle ausführen.
    4. Klicken Sie auf Speichern. Der Bereich Parameterwerte bearbeiten wird geschlossen.

  8. So definieren Sie die spezifischen Zulassungslisten, die installiert werden können:

    1. Klicken Sie im Parameter allowPaths auf Bearbeiten. Der Bereich Parameterwerte bearbeiten wird geöffnet.
    2. Wählen Sie im Abschnitt Werttyp die Option Benutzerdefiniert aus.
    3. Geben Sie im Abschnitt Benutzerdefinierte Werte einen oder mehrere Pfade zu Zulassungslistenquellen an. Weitere Informationen zu den möglichen Angaben finden Sie unter Pfade für Zulassungslisten.
    4. Klicken Sie auf Speichern. Der Bereich Parameterwerte bearbeiten wird geschlossen.
    5. Klicken Sie im Abschnitt Regel bearbeiten auf Fertig.
  9. Optional: Wenn Sie die Auswirkungen der Erzwingung der Organisationsrichtlinie testen möchten, klicken Sie auf Änderungen testen. Weitere Informationen finden Sie unter Änderungen an Organisationsrichtlinien mit dem Policy Simulator testen.

  10. Klicken Sie auf Richtlinie im Probelaufmodus festlegen, um die Richtlinie im Probelaufmoduszu erzwingen.

  11. Nachdem Sie überprüft haben, ob die Organisationsrichtlinie im Probelaufmodus wie erwartet funktioniert, legen Sie die Live-Richtlinie fest, indem Sie auf Richtlinie festlegen klicken.

Es kann bis zu 15 Minuten dauern, bis Änderungen an Ihrer Organisationsrichtlinie vollständig erzwungen werden.

gcloud

  1. Erstellen Sie eine YAML-Datei, die die Organisationsrichtlinie definiert:

    name: RESOURCE_TYPE/RESOURCE_ID/policies/container.managed.autopilotPrivilegedAdmission
    spec:
      rules:
      - enforce: true
        parameters:
          allowAnyGKEPath: ALLOW_GKE_PATHS
          allowPaths:
          - ALLOWLIST1_PATH
          - ALLOWLIST2_PATH
    

    Ersetzen Sie Folgendes:

    • RESOURCE_TYPE: der Typ der Cloud de Confiance Ressource. Dies muss einer der folgenden Werte sein:

      • organizations
      • folders
      • projects
    • RESOURCE_ID: die Organisations-ID, Ordner-ID oder Projekt-ID.

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

      • True: Ermöglicht die Clusterkonfiguration mit jeder GKE-Partnerarbeitslast oder verifizierten Open-Source-Arbeitslast. Das ist der Standardwert.
      • False: Ermöglicht die Clusterkonfiguration nur mit den Pfaden im Feld allowPaths.

    • ALLOWLIST1_PATH,ALLOWLIST2_PATH: der Pfad zu Zulassungslisten. Weitere Informationen zu den möglichen Angaben finden Sie unter Pfade für Zulassungslisten.

    Optional können Sie einen condition-Block zum Feld rules hinzufügen, um die Organisationsrichtlinie von einem Tag abhängig zu machen. Wenn Sie einer Organisationsrichtlinie eine bedingte Regel hinzufügen, müssen Sie mindestens eine bedingungsfreie Regel hinzufügen oder die Richtlinie kann nicht gespeichert werden. Weitere Informationen finden Sie unter Organisationsrichtlinie mit Tags festlegen.

  2. Wenn Sie die Organisationsrichtlinie in Probelaufmodus festlegen möchten, geben Sie den Wert dryRunSpec für das --update-mask Flag im Befehl gcloud org-policies set-policy an:

    gcloud org-policies set-policy POLICY_FILEPATH \
        --update-mask=dryRunSpec
    

    Ersetzen Sie POLICY_FILEPATH durch den Pfad zur YAML-Datei, die Sie im vorherigen Schritt erstellt haben.

  3. Optional: Wenn Sie die Auswirkungen der Erzwingung dieser Organisationsrichtlinie testen möchten, verwenden Sie den gcloud policy-intelligence simulate org-policy Befehl:

    gcloud policy-intelligence simulate org-policy \
        --organization=ORGANIZATION_ID \
        --policy-path=POLICY_FILEPATH
    

    Ersetzen Sie ORGANIZATION_ID durch Ihre Organisations-ID.

  4. Nachdem Sie überprüft haben, ob die Organisationsrichtlinie im Probelaufmodus wie erwartet funktioniert, legen Sie die Live-Richtlinie fest, indem Sie den Wert spec für das Flag --update-mask im Befehl gcloud org-policies set-policy angeben:

    gcloud org-policies set-policy POLICY_FILEPATH \
        --update-mask=spec
    

    Es kann bis zu 15 Minuten dauern, bis Änderungen an Ihrer Organisationsrichtlinie vollständig erzwungen werden.

Organisationsrichtlinie konfigurieren, um nur Autopilot-Cluster zuzulassen

In diesem Abschnitt erfahren Sie, wie Sie eine Organisationsrichtlinie konfigurieren, die nur Autopilot-Cluster zulässt. Wir empfehlen, diese Richtlinie in Zusätzlich zu der Erstellung einer Organisationsrichtlinie für Zulassungslistenzu konfigurieren, da in Standardclustern die meisten privilegierten Arbeitslasten ausgeführt werden können. Wenn Sie nur Autopilot-Cluster zulassen, werden in Ihrer Umgebung nur die privilegierten Arbeitslasten ausgeführt, die Sie zulassen. Die Schritte in diesem Abschnitt sind optional.

Wählen Sie eine der folgenden Optionen aus, um diese Richtlinie zu konfigurieren:

Console

  1. Erstellen Sie eine benutzerdefinierte Einschränkung, die nur die Erstellung von Autopilot-Clustern zulässt:

    1. Rufen Sie in der Cloud de Confiance Console die Seite Organisationsrichtlinien auf:

      Zu den Organisationsrichtlinien

    2. Klicken Sie auf Benutzerdefinierte Einschränkung. Die Seite Benutzerdefinierte Einschränkung erstellen wird geöffnet.

    3. Geben Sie einen Anzeigenamen und eine eindeutige ID für die Einschränkung an.

    4. Führen Sie im Abschnitt Erzwingung die folgenden Schritte aus:

      1. Wählen Sie in der Liste Ressourcentyp die Option container.googleapis.com/Cluster aus.
      2. Wählen Sie in der Liste Erzwingungsmethode die Option Erzwingung beim Erstellen aus.
      3. Klicken Sie im Abschnitt Bedingung auf Bedingung bearbeiten. Der Bereich Bedingung hinzufügen wird geöffnet.
      4. Geben Sie den folgenden Ausdruck an:

        resource.autopilot.enabled == true
        
      5. Klicken Sie auf Speichern. Der Bereich Bedingung hinzufügen wird geschlossen.

      6. Wählen Sie im Abschnitt Aktion die Option Zulassen aus.

    5. Klicken Sie auf Einschränkung erstellen.

  2. Erstellen Sie eine benutzerdefinierte Organisationsrichtlinie, die die Einschränkung erzwingt:

    1. Suchen Sie in der Tabelle der Einschränkungen nach der benutzerdefinierten Einschränkung, die Sie im vorherigen Schritt erstellt haben.
    2. Klicken Sie auf Aktionen > Richtlinie bearbeiten. Die Seite Richtlinie bearbeiten wird geöffnet.
    3. Wählen Sie im Abschnitt Richtlinienquelle die Option Richtlinie der übergeordneten Ressource überschreiben aus.
    4. Klicken Sie auf Regel hinzufügen.
    5. Wählen Sie im Abschnitt Erzwingung die Option Ein aus.
    6. Wenn Sie die Auswirkungen der Erzwingung der Organisationsrichtlinie testen möchten, klicken Sie auf Änderungen testen. Weitere Informationen finden Sie unter Änderungen an Organisationsrichtlinien mit dem Policy Simulator testen.
    7. Klicken Sie auf Richtlinie im Probelaufmodus festlegen, um die Richtlinie im Probelaufmoduszu erzwingen.
    8. Nachdem Sie überprüft haben, ob die Organisationsrichtlinie im Probelaufmodus wie erwartet funktioniert, legen Sie die Live-Richtlinie fest, indem Sie auf Richtlinie festlegen klicken.

    Es kann bis zu 15 Minuten dauern, bis Änderungen an Ihrer Organisationsrichtlinie vollständig erzwungen werden.

gcloud

  1. Erstellen Sie eine benutzerdefinierte Einschränkung, die nur die Erstellung von Autopilot-Clustern zulässt:

    1. Erstellen Sie eine YAML-Datei, die die benutzerdefinierte Einschränkung definiert:

      name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
      resourceTypes: container.googleapis.com/Cluster
      methodTypes:
      - CREATE
      condition: resource.autopilot.enabled == true
      actionType: ALLOW
      displayName: "Allow only Autopilot clusters"
      

      Ersetzen Sie Folgendes:

      • ORGANIZATION_ID: Ihre Organisations-ID.
      • CONSTRAINT_NAME: ein Name für Ihre neue Einschränkung.
    2. Legen Sie die benutzerdefinierte Einschränkung fest:

      gcloud org-policies set-custom-constraint CONSTRAINT_FILEPATH
      

      Ersetzen Sie CONSTRAINT_FILEPATH durch den Pfad zur YAML-Datei, die Sie im vorherigen Schritt erstellt haben.

    Die benutzerdefinierte Einschränkung kann in einer Organisationsrichtlinie verwendet werden.

  2. Erstellen Sie eine benutzerdefinierte Organisationsrichtlinie, die die Einschränkung erzwingt:

    1. Erstellen Sie eine YAML-Datei, die die Organisationsrichtlinie definiert:

      name: RESOURCE_TYPE/RESOURCE_ID/policies/custom.CONSTRAINT_NAME
      spec:
        rules:
        - enforce: true
      

      Ersetzen Sie Folgendes:

      • RESOURCE_TYPE: der Typ der Cloud de Confiance Ressource. Dies muss einer der folgenden Werte sein:

        • organizations
        • folders
        • projects
      • RESOURCE_ID: die ID der Organisation, des Ordners oder des Projekts.

      Optional können Sie einen condition-Block zum Feld rules hinzufügen, um die Organisationsrichtlinie von einem Tag abhängig zu machen. Wenn Sie einer Organisationsrichtlinie eine bedingte Regel hinzufügen, müssen Sie mindestens eine bedingungsfreie Regel hinzufügen oder die Richtlinie kann nicht gespeichert werden. Weitere Informationen finden Sie unter Organisationsrichtlinie mit Tags festlegen.

    2. Wenn Sie die Organisationsrichtlinie in Probelaufmodus festlegen möchten, geben Sie den Wert dryRunSpec für das --update-mask Flag im Befehl gcloud org-policies set-policy an:

      gcloud org-policies set-policy POLICY_FILEPATH \
          --update-mask=dryRunSpec
      

      Ersetzen Sie POLICY_FILEPATH durch den Pfad zur YAML-Datei, die Sie im vorherigen Schritt erstellt haben.

    3. Wenn Sie die Auswirkungen der Erzwingung dieser Organisationsrichtlinie testen möchten, verwenden Sie den gcloud policy-intelligence simulate org-policy Befehl:

      gcloud policy-intelligence simulate org-policy \
          --organization=ORGANIZATION_ID \
          --policy-path=POLICY_FILEPATH
      

      Ersetzen Sie ORGANIZATION_ID durch Ihre Organisations-ID.

    4. Nachdem Sie überprüft haben, ob die Organisationsrichtlinie im Probelaufmodus wie erwartet funktioniert, legen Sie die Live-Richtlinie fest, indem Sie den Wert spec für das Flag --update-mask im Befehl gcloud org-policies set-policy angeben:

      gcloud org-policies set-policy POLICY_FILEPATH \
          --update-mask=spec
      

      Es kann bis zu 15 Minuten dauern, bis Änderungen an Ihrer Organisationsrichtlinie vollständig erzwungen werden.

Nächste Schritte