Audit Logging
Die Audit Log-Funktion aktiviert Kubernetes Auditing für NKE. Kubernetes Auditing stellt eine sicherheitsrelevante, chronologische Aufzeichnung von Aktionen im Cluster bereit. Der Cluster prüft die Aktivitäten, die von Benutzern, Anwendungen, die die Kubernetes API nutzen, und von der Kontroll-Ebene selbst generiert werden.
Auditing zeigt, wer was in deinem NKE-Cluster getan hat, z. B. Benutzer X sendet eine "get"-Anfrage auf das Secret Y.
Hinweis: Das Log-Level ist auf Metadata gesetzt. Der Inhalt der Anfragen und Antworten wird
nicht protokolliert.
Siehe die offizielle Kubernetes-Dokumentation für weitere Informationen.
Verfügbarkeit
Audit Log ist als optionaler Service für NKE verfügbar und kann derzeit nur über API/kubectl bereitgestellt werden.
Verwendung
Um Audit Log zu aktivieren, benötigst du eine laufende
Loki-Instanz. Die Audit Logs werden an
diese Instanz gesendet und können dann entweder mit logcli oder einer
Grafana-Instanz angezeigt werden.
Zurzeit kann die Audit Log-Funktion nur über die API mittels curl oder kubectl aktiviert werden. Für die Authentifizierung lies bitte die
API-Dokumentation.
Kubectl:
kubectl patch kubernetescluster <kubernetescluster-name> -n <project-name> --type='merge' -p '
spec:
forProvider:
nke:
auditLog:
targets:
- group: observability.nine.ch/v1alpha1
kind: Loki
name: <loki-name>
'
Um das Log anzuzeigen, kannst du entweder LogCLI oder Grafana verwenden:
LogCLI:
logcli --username "username" --password "password" --addr "<loki-address>" --tls-skip-verify query '{log_type="audit"}' --from="<from-date>"
Das Datum sollte im Format 2024-08-16T12:00:00Z sein.
Grafana:
Gehe im Grafana-Menü zu Explore, wähle deine Loki-Instanz in der
Datenquelle aus und setze die Abfrage: {log_type="audit"}.