Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Dies ist eine unveröffentlichte Dokumentation für Admission Controller 1.34-dev.

Audit-Scanner

Beginnend mit Version v1.7.0 hat SUSE Security Admission Controller eine neue Funktion namens "Audit Scanner". Eine neue Komponente namens "audit-scanner" überprüft kontinuierlich die im Cluster deklarierten Ressourcen, kennzeichnet diejenigen, die nicht den bereitgestellten SUSE Security Admission Controller-Richtlinien entsprechen, und speichert die Ergebnisse in speziellen Report-Custom Resources.

Richtlinien entwickeln sich im Laufe der Zeit: Sie stellen neue Richtlinien bereit und aktualisieren bestehende Richtlinien. Sowohl die Version als auch die Konfiguration ändern sich. Dies kann zu Situationen führen, in denen Ressourcen, die sich bereits im Cluster befinden, nicht mehr konform sind.

Die Audit-Scanner-Funktion bietet Kubernetes-Administratoren ein Werkzeug, um den Compliance-Zustand ihrer Cluster konsistent zu überprüfen.

Der Audit Scanner kann seine Ergebnisse entweder in den Custom Resource Definitions (CRDs) OpenReports von openreports.io (seit v1.33 die Standardeinstellung) oder in den PolicyReports von der Kubernetes Policy Working Group speichern; letztere sind seit v1.30 als veraltet markiert, werden standardmäßig nicht installiert oder erstellt und sollen in einer zukünftigen Version entfernt werden.

Installation

Die Audit-Scanner-Komponente ist seit Admission Controller v1.7.0 verfügbar. Stellen Sie daher sicher, dass Sie das Helm-Chart mit der App-Version v1.7.0 oder höher installieren.

  1. Installieren Sie das kubewarden-crds Helm-Chart. Das Chart installiert standardmäßig die benötigten PolicyReport CRDs.

    helm install kubewarden-crds kubewarden/kubewarden-crds

    Mit Kubewarden 1.33 speichert die Audit-Scanner-Funktion die Berichte standardmäßig in OpenReports CRDs von [openreports.io](https://openreports.io).

    Die PolicyReport CRDs von der K8s Policy Working Group sind standardmäßig nicht installiert, als veraltet markiert und werden in einer zukünftigen Version entfernt.

    Benutzer, die die veralteten PolicyReports weiterhin verwenden möchten, d.h. das Verhalten vor 1.33, müssen: - Den Wert des kubewarden-crds Helm-Charts von .Values.install.installPolicyReportCRDs auf true ändern. - Den Wert des kubewarden-controller Helm-Charts von .Values.auditScanner.reportCRDsKind von openreports auf policyreport ändern.

    Um die Ergebnisse der Richtlinienberichte zu speichern, müssen die PolicyReport Custom Resource Definitions (CRDs) verfügbar sein. Wenn die erforderlichen PolicyReport CRDs bereits im Cluster vorhanden sind, können Sie sie nicht mit dem kubewarden-crds-Chart installieren. In diesem Fall können Sie die Installation der OpenReport CRDs deaktivieren, indem Sie installOpenReportCRDs auf false im Chart setzen (oder installPolicyReportCRDs auf false, wenn Sie die veralteten PolicyReports verwenden). Das bedeutet, dass der Kubewarden-Stack diese CRDs nicht verwaltet und die Verantwortung bei den Administratoren liegt.

    Weitere Informationen zu den CRDs finden Sie im Repository der Richtlinien-Arbeitsgruppe.

  2. Installieren Sie das kubewarden-controller Helm-Chart.

    helm install kubewarden-controller kubewarden/kubewarden-controller

    Der Audit-Scanner ist standardmäßig aktiviert. Um ihn zu deaktivieren, setzen Sie auditScanner.enable=false.

    Wenn Sie möchten, dass der Audit-Scanner seine Berichte in den PolicyReports CRDs (als veraltet markiert) anstelle der standardmäßigen OpenReports CRDs speichert, setzen Sie auditScanner.reportCRDsKind="policyreport".

Für weitere Informationen zur Installation von Admission Controller siehe die Kurzanleitung.

Standardmäßig wird die Implementierung des Audit-Scanners als Cronjob alle 60 Minuten ausgelöst. Sie können diese und andere Einstellungen des Audit-Scanners anpassen, indem Sie das kubewarden-controller-Chart values.yaml ändern.

Siehe hier für weitere Informationen über den Audit-Scanner.

Policy Reporter UI (optional)

Das kubewarden-controller Chart enthält ein Subchart des Policy Reporter. Es ist standardmäßig deaktiviert und wird aktiviert, indem Sie auditScanner.policyReporter=true setzen. Die Werte des Policy Reporter Subcharts befinden sich unter dem policyReporter Schlüssel der kubewarden-controller Werte.

Dies installiert nur einen Teil des Policy Reporter Upstream-Charts, die UI, die eine Visualisierung der PolicyReports und ClusterPolicyReports in einem Cluster bereitstellt. Siehe Audit Scanner für weitere Informationen über die Policy Reporter UI.

Standardmäßig wird die Policy Reporter UI nur als ClusterIP-Dienst mit dem Namen kubewarden-controller-ui im Installationsnamespace bereitgestellt.

Das kubewarden-controller Chart wurde installiert.

Ingress

Benutzer können ihre eigene Ingress-Konfiguration bereitstellen oder einen Ingress über die Subchart-Konfiguration hier aktivieren.

Siehe dieses Beispiel einer Ingress-Konfiguration über das Subchart:

auditScanner:
  policyReporter: true
policy-reporter: # subchart values settings
  ui:
    enabled: true
    ingress:
      enabled: true
      hosts:
        - host: "*.local" # change this to your appropriate domain
          paths:
            - path: /
              pathType: ImplementationSpecific

Portweiterleitung

Für einen schnellen Blick oder zur Fehlersuche kann man eine Portweiterleitung zum Dienst einrichten mit:

kubectl port-forward service/kubewarden-controller-ui 8082:8080 -n kubewarden

Was die Policy Reporter UI unter http://localhost:8082 verfügbar macht.

Manuellen Lauf auslösen

Die Implementierung des Audit-Scanners erfolgt als Cronjob, der standardmäßig alle 60 Minuten ausgeführt wird. Es ist möglich, einen manuellen Lauf auszulösen, indem man den folgenden Befehl ausführt:

kubectl create job \
    --namespace kubewarden \
    --from cronjob/audit-scanner \
    audit-scanner-manual-$(date +%Y-%m-%d-%H-%M-%S)

Sie können den Status des Jobs mit folgendem Befehl überprüfen:

kubectl get -n kubewarden jobs