Confidential Kubernetes – Hardware-basierte Isolation
Verschlüsselung schützt deine Daten at-rest und in-transit – aber was ist mit Daten, die gerade verarbeitet werden? Genau hier setzt Confidential Computing an. STACKIT Confidential Kubernetes nutzt hardware-basierte Trusted Execution Environments (TEEs), um deine Workloads selbst vor privilegierten Zugriffen auf Infrastrukturebene zu schützen.
Was ist Confidential Kubernetes?
Confidential Kubernetes erweitert reguläre Kubernetes-Cluster um hardware-gestützte Sicherheitsmechanismen:
- Trusted Execution Environments (TEEs) – CPU-basierte Enklaven (z. B. Intel SGX, AMD SEV), die Code und Daten während der Verarbeitung isolieren.
- Data-in-Use-Schutz – Selbst der Cloud-Provider kann den Speicherinhalt deiner Workloads nicht einsehen.
- Confidential Containers – Container laufen innerhalb von TEEs, ohne dass du deinen Anwendungscode anpassen musst.
- Attestierung – Kryptografischer Nachweis, dass dein Workload in einer vertrauenswürdigen Umgebung läuft.
- Digitale Souveränität – Besonders relevant für deutsche Unternehmen mit strengen Datenschutzanforderungen.
Tutorial: Confidential Kubernetes Cluster einrichten
1. Confidential Cluster erstellen
Erstelle einen SKE-Cluster mit Confidential-Node-Pool:
stackit ske cluster create \
--project-id your-project-id \
--name "confidential-prod" \
--node-pool name=confidential,machine-type=c1.confidential.2,count=3
2. Kubeconfig abrufen
Lade die Kubeconfig für deinen Cluster herunter:
stackit ske kubeconfig create \
--project-id your-project-id \
--cluster-name "confidential-prod" \
> kubeconfig.yaml
export KUBECONFIG=./kubeconfig.yaml
3. Confidential Workload deployen
Erstelle ein Deployment, das in einer TEE-Umgebung läuft:
apiVersion: apps/v1
kind: Deployment
metadata:
name: secure-api
spec:
replicas: 2
selector:
matchLabels:
app: secure-api
template:
metadata:
labels:
app: secure-api
spec:
runtimeClassName: kata-cc
nodeSelector:
node.stackit.cloud/confidential: "true"
containers:
- name: api
image: registry.stackit.cloud/your-project-id/secure-api:latest
resources:
limits:
memory: "512Mi"
cpu: "500m"
4. Attestierung prüfen
Verifiziere, dass dein Workload in einer TEE läuft:
kubectl exec -it deploy/secure-api -- cat /sys/firmware/tdx/attestation_report
5. Secrets sicher bereitstellen
Nutze Sealed Secrets oder einen externen KMS, um Secrets erst innerhalb der TEE zu entschlüsseln:
apiVersion: v1
kind: Secret
metadata:
name: db-credentials
annotations:
confidential.stackit.cloud/encrypt: "true"
type: Opaque
data:
username: <base64-encoded>
password: <base64-encoded>
Nächste Schritte
- Implementiere Remote Attestation in deiner CI/CD-Pipeline, um die Integrität deiner TEE-Umgebung automatisiert zu prüfen.
- Kombiniere Confidential Kubernetes mit STACKIT Secrets Manager für sicheres Key-Management.
- Evaluiere, welche deiner Workloads von Data-in-Use-Schutz profitieren (z. B. PII-Verarbeitung, Finanz-Transaktionen).
- Lies die STACKIT-Dokumentation zu unterstützten TEE-Typen und Machine-Flavors.