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 Ihrem 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ötigen Sie 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 lesen Sie bitte die API-Dokumentation hier.

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, können Sie 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:

Gehen Sie im Grafana-Menü zu Explore, wählen Sie Ihre Loki-Instanz in der Datenquelle aus und setzen Sie die Abfrage: {log_type="audit"}.