Zum Hauptinhalt springen

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.

Verwendung​

Die Audit Log-Funktion kann via Cockpit, nctl oder die API aktiviert werden.

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.

Um Audit Log über die API zu aktivieren, passe die KubernetesCluster-Ressource an, zum Beispiel mit kubectl. Informationen zur Authentifizierung findest du in der 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"}.