Secrets-Verschlüsselungskonfiguration
K3s unterstützt die Aktivierung der Geheimnisverschlüsselung im Ruhezustand. Beim ersten Start des Servers wird das Übergeben des Flags --secrets-encryption automatisch Folgendes tun:
-
Einen AES-CBC-Schlüssel generieren
-
Erzeugen Sie eine Konfigurationsdatei für die Verschlüsselung mit dem generierten Schlüssel.
-
Die Konfiguration als encryption-provider-config an die KubeAPI übergeben
|
Die Geheimnisverschlüsselung kann auf einem bestehenden Server nicht aktiviert werden, ohne ihn neu zu starten. |
Wahl des Verschlüsselungsanbieters
|
Versionssperre
Verfügbar ab den April 2025-Versionen: v1.30.12+k3s1, v1.31.8+k3s1, v1.32.4+k3s1, v1.33.0+k3s1. |
Mit dem --secrets-encryption-provider Flag können Sie aus den folgenden von K3s unterstützten Verschlüsselungsanbietern wählen:
-
aescbc: AES-CBC mit PKCS#7-Padding. Dies ist der standardmäßige Anbieter. -
secretbox: XSalsa20 und Poly1305
Anbieter migrieren
Sie können vom aescbc Anbieter zum secretbox Anbieter migrieren, indem Sie die folgenden Schritte befolgen:
-
Stellen Sie sicher, dass der
secretboxAnbieter von Ihrer K3s-Version unterstützt wird. -
Aktualisieren oder fügen Sie das
secrets-encryption-provider-Flag in Ihrer K3s-Konfigurationsdatei aufsecretboxhinzu. -
Drehen Sie die Verschlüsselungsschlüssel gemäß dem Abschnitt Verschlüsselungsschlüsselrotation unten.
Generierte Konfigurationsdatei für Verschlüsselung
Wenn Sie den Server mit --secrets-encryption starten, erstellt K3s eine Verschlüsselungskonfigurationsdatei unter /var/lib/rancher/k3s/server/cred/encryption-config.json.
Nachfolgend finden Sie ein Beispiel für die generierte Verschlüsselungskonfigurationsdatei mit dem Standardanbieter aescbc:
{
"kind": "EncryptionConfiguration",
"apiVersion": "apiserver.config.k8s.io/v1",
"resources": [
{
"resources": [
"secrets"
],
"providers": [
{
"aescbc": {
"keys": [
{
"name": "aescbckey",
"secret": "xxxxxxxxxxxxxxxxxxx"
}
]
}
},
{
"identity": {}
}
]
}
]
}
Verschlüsselungstool für Geheimnisse
K3s enthält ein Dienstprogramm secrets-encrypt, das die automatische Steuerung über Folgendes ermöglicht:
-
Deaktivieren/Aktivieren der Geheimnisverschlüsselung
-
Hinzufügen neuer Verschlüsselungsschlüssel
-
Drehen und Löschen von Verschlüsselungsschlüsseln
-
Geheimnisse erneut verschlüsseln
Weitere Informationen finden Sie in der `k3s secrets-encrypt`Befehlsdokumentation.