|
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. |
Aktivierung des API-Audit-Logs in Downstream-Clustern
Die Auditierung von Kubernetes liefert eine sicherheitsrelevante, chronologisch geordnete Reihe von Aufzeichnungen über einen Cluster. Der Kube-Apiserver führt die Auditierung durch. Anfragen erzeugen ein Ereignis in jeder Phase ihrer Ausführung, das dann gemäß einer bestimmten Richtlinie vorverarbeitet und in ein Backend geschrieben wird. Die Richtlinie bestimmt, was aufgezeichnet wird, und das Backend speichert die Aufzeichnungen.
Sie möchten möglicherweise das Audit-Log als Teil der Einhaltung der Kontrollen des Center for Internet Security (CIS) Kubernetes Benchmark konfigurieren.
Für Konfigurationsdetails siehe die offizielle Kubernetes-Dokumentation.
-
RKE2
-
K3s
Methode 1 (Empfohlen): Set `audit-policy-file` in `machineGlobalConfig` or `machineSelectorConfig`
Sie können audit-policy-file in der Konfigurationsdatei entweder mit machineGlobalConfig oder machineSelectorConfig festlegen.
Bei Verwendung von machineGlobalConfig liefert Rancher die Datei an den Pfad /var/lib/rancher/rke2/etc/config-files/audit-policy-file auf allen Knoten (sowohl Steuerungsknoten als auch Arbeitsknoten) und setzt die entsprechenden Optionen im RKE2-Server. Dies kann unerwünschte Rekonziliationen von Arbeitsknoten verursachen, wenn die Audit-Richtlinie geändert wird.
Um Rekonziliationen von Arbeitsknoten zu vermeiden, verwenden Sie machineSelectorConfig mit einem Label-Selector, um nur Steuerungsknoten anzusprechen. Dies stellt sicher, dass die Audit-Richtliniendatei nur an Steuerungsknoten geliefert wird.
Beispiel mit machineGlobalConfig:
apiVersion: provisioning.cattle.io/v1
kind: Cluster
spec:
rkeConfig:
machineGlobalConfig:
audit-policy-file: |
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: RequestResponse
resources:
- group: ""
resources:
- pods
Beispiel mit machineSelectorConfig (empfohlen, um Rekonziliationen von Arbeitsknoten zu vermeiden):
apiVersion: provisioning.cattle.io/v1
kind: Cluster
spec:
rkeConfig:
machineSelectorConfig:
- config:
audit-policy-file: |
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: RequestResponse
resources:
- group: ""
resources:
- pods
machineLabelSelector:
matchLabels:
rke.cattle.io/control-plane-role: 'true'
Methode 2: Verwenden Sie die Direktiven `machineSelectorFiles` und `machineGlobalConfig`
|
Dieses Feature ist in Rancher v2.7.2 und später verfügbar. |
Sie können machineSelectorFiles verwenden, um die Audit-Richtliniendatei an die Steuerungsknoten zu liefern, und machineGlobalConfig, um die Optionen auf kube-apiserver festzulegen.
Als Voraussetzung müssen Sie ein secret oder configmap erstellen, das die Quelle der Audit-Richtlinie ist.
Das Secret oder ConfigMap muss die folgenden Anforderungen erfüllen:
-
Es muss im
fleet-defaultNamespace sein, in dem das Cluster-Objekt existiert. -
Es muss die Annotation
rke.cattle.io/object-authorized-for-clusters: <cluster-name1>,<cluster-name2>haben, die es den Ziel-Clustern erlaubt, es zu verwenden.
|
Das Rancher Dashboard bietet ein benutzerfreundliches Formular zum Erstellen des Secrets oder ConfigMaps. |
Beispiel:
apiVersion: v1
data:
audit-policy: >-
IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
kind: Secret
metadata:
annotations:
rke.cattle.io/object-authorized-for-clusters: cluster1
name: <name1>
namespace: fleet-default
Aktivieren und konfigurieren Sie das Audit-Log, indem Sie das Cluster in YAML bearbeiten und die Direktiven machineSelectorFiles und machineGlobalConfig verwenden.
Beispiel:
apiVersion: provisioning.cattle.io/v1
kind: Cluster
spec:
rkeConfig:
machineGlobalConfig:
kube-apiserver-arg:
- audit-policy-file=<customized-path>/dev-audit-policy.yaml
- audit-log-path=<customized-path>/dev-audit.logs
machineSelectorFiles:
- fileSources:
- configMap:
name: ''
secret:
items:
- key: audit-policy
path: <customized-path>/dev-audit-policy.yaml
name: dev-audit-policy
machineLabelSelector:
matchLabels:
rke.cattle.io/control-plane-role: 'true'
Weitere Informationen zur Clusterkonfiguration finden Sie auf den Seiten RKE2-Clusterkonfigurationsreferenz.
|
Dieses Feature ist in Rancher v2.7.2 und später verfügbar. |
Sie können machineSelectorFiles verwenden, um die Audit-Richtliniendatei an die Steuerungsknoten zu liefern, und machineGlobalConfig, um die Optionen auf kube-apiserver festzulegen.
Als Voraussetzung müssen Sie ein secret oder configmap erstellen, das die Quelle der Audit-Richtlinie ist.
Das Secret oder ConfigMap muss die folgenden Anforderungen erfüllen:
-
Es muss im
fleet-defaultNamespace sein, in dem das Cluster-Objekt existiert. -
Es muss die Annotation
rke.cattle.io/object-authorized-for-clusters: <cluster-name1>,<cluster-name2>haben, die es den Ziel-Clustern erlaubt, es zu verwenden.
Beispiel:
apiVersion: v1
data:
audit-policy: >-
IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
kind: Secret
metadata:
annotations:
rke.cattle.io/object-authorized-for-clusters: cluster1
name: <name1>
namespace: fleet-default
Aktivieren und konfigurieren Sie das Audit-Log, indem Sie das Cluster in YAML bearbeiten und die Direktiven machineSelectorFiles und machineGlobalConfig verwenden.
Beispiel:
apiVersion: provisioning.cattle.io/v1
kind: Cluster
spec:
rkeConfig:
machineGlobalConfig:
kube-apiserver-arg:
- audit-policy-file=<customized-path>/dev-audit-policy.yaml
- audit-log-path=<customized-path>/dev-audit.logs
machineSelectorFiles:
- fileSources:
- configMap:
name: ''
secret:
items:
- key: audit-policy
path: <customized-path>/dev-audit-policy.yaml
name: dev-audit-policy
machineLabelSelector:
matchLabels:
rke.cattle.io/control-plane-role: 'true'
Weitere Informationen zur Clusterkonfiguration finden Sie auf den Seiten K3s-Clusterkonfigurationsreferenz.