SOPS

Zweck

SOPS wird zur Verschlüsselung sensibler Daten innerhalb der Plattform verwendet.

Sowohl FluxCD als auch TOPF nutzen SOPS zur Verwaltung vertraulicher Informationen.

Ziele

  • Schutz sensibler Daten

  • Einheitliche Secret-Verwaltung

  • Reproduzierbare Infrastruktur

  • GitOps-kompatibler Betrieb

Architektur

                +--> FluxCD
                |
SOPS ---------- +
                |
                +--> TOPF

Die Plattform verwendet einen gemeinsamen Mechanismus für Kubernetes- und Cluster-Secrets.

Verwendete Systeme

SOPS wird eingesetzt für:

  • FluxCD

  • TOPF

Schlüsselverwaltung

Die Verschlüsselung erfolgt über Age.

Es wird ein zentraler Age-Schlüssel verwendet.

Der private Schlüssel wird außerhalb der Git-Repositories gespeichert.

Ein Verlust des privaten Schlüssels verhindert die Entschlüsselung vorhandener Secrets.

Verschlüsselte Ressourcen

Aktuell werden ausschließlich Kubernetes Secrets verschlüsselt.

Üblicherweise werden folgende Felder geschützt:

data:
stringData:

Andere Kubernetes-Ressourcen werden derzeit nicht verschlüsselt.

Beispiel

Unverschlüsselt:

apiVersion: v1
kind: Secret
metadata:
  name: example
stringData:
  password: secret

Verschlüsselt:

apiVersion: v1
kind: Secret
metadata:
  name: example
stringData:
  password: ENC[AES256_GCM,...]
sops:
  ...

TOPF Integration

Cluster-Secrets werden ebenfalls mit SOPS verschlüsselt gespeichert.

Typische Dateien:

secrets.yaml
.sops.yaml

TOPF verarbeitet die entschlüsselten Werte zur Erzeugung der Talos-Konfiguration.

Betrieb

Secret verschlüsseln

sops encrypt -i secret.yaml

Secret bearbeiten

sops secret.yaml

Secret entschlüsseln

sops decrypt secret.yaml

Vorteile

  • Einheitliche Secret-Verwaltung

  • Integration mit FluxCD und TOPF

  • Secrets verbleiben verschlüsselt im Repository

  • Keine zusätzlichen Secret-Management-Systeme erforderlich

Einschränkungen

  • Schutz hängt vom privaten Age-Schlüssel ab

  • Schlüsselverlust verhindert die Entschlüsselung vorhandener Secrets

  • Keine automatische Secret-Rotation