|
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 - Richtlinienberichte
Wenn Sie den SUSE Security Admission Controller Audit Scanner verwenden, speichern Sie die Ergebnisse der Richtlinienprüfungen mithilfe der OpenReports Benutzerdefinierten Ressourcen.
|
Mit SUSE Security Admission Controller 1.33 speichert die Audit Scanner-Funktion die Berichte standardmäßig in OpenReports CRDs von [openreports.io](https://openreports.io). Die PolicyReport CRDs der K8s Policy-Arbeitsgruppe sind standardmäßig nicht installiert, als auslaufend markiert und werden in einer zukünftigen Version entfernt. Benutzer, die die auslaufenden PolicyReports weiterhin verwenden möchten, d.h. das Verhalten vor 1.33, müssen: - Den |
Diese OpenReport CRDs bieten eine strukturierte Möglichkeit, die Prüfergebnisse zu speichern und zu verwalten.
Sie speichern die Ergebnisse der Richtlinienprüfungen des Audit Scanners mithilfe von Report und ClusterReport.
Der Audit Scanner erstellt ein Report oder ein ClusterReport für jede geprüfte Ressource, abhängig vom Umfang der Ressource. Report Objekte sind im Namespace der Ressource verfügbar, während ClusterReport Objekte im Cluster-Scope verfügbar sind.
Die vom Scanner generierten Prüfergebnisse umfassen:
-
die bewertete Richtlinie
-
die geprüfte Ressource
-
das Ergebnis der Bewertung (bestanden, fehlgeschlagen oder übersprungen)
-
einen Zeitstempel, der angibt, wann die Bewertung stattgefunden hat.
Sie können auch Schweregrad- und Kategorienanmerkungen für Ihre Richtlinien definieren.
Operatoren können die Berichte mit kubectl abfragen. Sie können auch die optionale Benutzeroberfläche nutzen, die vom policy-reporter Open-Source-Projekt bereitgestellt wird, um die Überwachung und den Einblick in die OpenReports CRDs zu gewährleisten.
Berichte abfragen
Mit der kubectl CLI ist es möglich, die Ergebnisse des Scans abzufragen:
Listen Sie die Berichte im Standard-Namespace auf:
$ kubectl get report -o wide
NAME KIND NAME PASS FAIL WARN ERROR SKIP AGE
44da974b-6057-4745-a92c-9dd8a1b01cc4 Pod nginx-secrets 6 1 0 0 0 33m
Listen Sie die clusterweiten Berichte auf:
$ kubectl get clusterreport -o wide
NAME KIND NAME PASS FAIL WARN ERROR SKIP AGE
6c66175f-e15f-47e8-8c33-2c63d5ecde3e Namespace namespace1 3 1 0 0 0 1h
d0ffbf4f-7348-4350-af7b-fdbfc079cc49 Namespace namespace2 0 4 0 0 0 1h
e48d9bbc-a9c4-4c36-8519-bc7390d9ec64 Namespace namespace3 4 0 0 0 0 15h
Holen Sie die Details eines bestimmten Berichts:
kubectl get report 44da974b-6057-4745-a92c-9dd8a1b01cc4 -o yaml
Holen Sie die Details eines bestimmten ClusterReport:
kubectl get clusterreport e48d9bbc-a9c4-4c36-8519-bc7390d9ec64 -o yaml
Beispielbericht
Das folgende Beispiel zeigt ein Report für die Deployment Ressource deployment1 im default Namespace. Der Bericht zeigt an, dass die Pod die safe-labels AdmissionPolicy nicht bestanden hat.
apiVersion: wgpolicyk8s.io/v1beta1
kind: PolicyReport
metadata:
creationTimestamp: “2024-02-29T06:55:37Z”
generation: 6
labels:
app.kubernetes.io/managed-by: kubewarden
kubewarden.io/policyreport-version: v2
name: 009805e4-6e16-4b70-80c9-cb33b6734c82
namespace: default
ownerReferences:
- apiVersion: apps/v1
kind: Deployment
name: deployment1
uid: 009805e4-6e16-4b70-80c9-cb33b6734c82
resourceVersion: “2685996”
uid: c5a88847-d678-4733-8120-1b83fd6330cb
results:
- category: Resource validation
message: “The following mandatory labels are missing: cost-center”
policy: namespaced-default-safe-labels
properties:
policy-resource-version: “2684810”
policy-uid: 826dd4ef-9db5-408e-9482-455f278bf9bf
policy-name: “safe-labels”
policy-namespace: “default”
validating: “true”
resourceSelector: {}
result: fail
scored: true
severity: low
source: kubewarden
timestamp:
nanos: 0
seconds: 1709294251
scope:
apiVersion: apps/v1
kind: Deployment
name: deployment1
namespace: default
resourceVersion: “3”
uid: 009805e4-6e16-4b70-80c9-cb33b6734c82
summary:
error: 0
fail: 1
pass: 0
skip: 0
warn: 0
Clusterbericht-Beispiel
Das folgende Beispiel zeigt ein ClusterReport für die Ressource Namespace default. Der Bericht zeigt an, dass die Ressource die safe-annotations ClusterAdmissionPolicy-Validierung nicht bestanden hat.
apiVersion: wgpolicyk8s.io/v1beta1
kind: ClusterPolicyReport
metadata:
creationTimestamp: “2024-02-28T14:44:37Z”
generation: 3
labels:
app.kubernetes.io/managed-by: kubewarden
kubewarden.io/policyreport-version: v2
name: 261c9492-deec-4a09-8aa9-cd464bb4b8d1
ownerReferences:
- apiVersion: v1
kind: Namespace
name: default
uid: 261c9492-deec-4a09-8aa9-cd464bb4b8d1
resourceVersion: “2403034”
uid: 20a3d00e-e955-4f21-a887-317d40f3f052
results:
- category: Resource validation
message: “The following mandatory annotations are not allowed: owner”
policy: clusterwide-safe-annotations
properties:
policy-resource-version: “2396437”
policy-uid: 46780d6e-e51a-4d65-8572-a6af01380aa7
policy-name: “safe-annotations”
validating: “true”
resourceSelector: {}
result: fail
scored: true
severity: low
source: kubewarden
timestamp:
nanos: 0
seconds: 1709294251
scope:
apiVersion: v1
kind: Namespace
name: default
resourceVersion: “37”
uid: 261c9492-deec-4a09-8aa9-cd464bb4b8d1
summary:
error: 0
fail: 1
pass: 0
skip: 0
warn: 0
Policy Reporter Benutzeroberfläche
Der Policy Reporter wird als Subchart von kubewarden-controller bereitgestellt. Weitere Informationen finden Sie auf der Seite Audit Scanner Installation.
Die Policy Reporter Benutzeroberfläche bietet ein Dashboard, das alle Verstöße anzeigt. Siehe Screenshot unten:
Admission Controller liefert die Benutzeroberfläche des Policy Reporters mit einem vorkonfigurierten Filter aus, der nur Admission Controller Richtlinien anzeigt, zusammen mit erweiterten Informationen:
Weitere Funktionen des Policy Reporters umfassen das Weiterleiten von Ergebnissen an verschiedene Clients (wie Grafana Loki, Elasticsearch, Chat-Anwendungen), Metrikendpunkte und mehr. Siehe die policy-reporter Community-Dokumentation für weitere Informationen.