Zum Inhalt

Dynamische Application-Secrets

Zur Laufzeit erzeugte API-Keys, SMTP-Passwörter oder Webhook-Secrets können im managed OpenBao-Secret-Plane gespeichert werden. Die Application behält ihre Konfiguration und speichert nur eine opake Referenz auf den Secret-Wert.

Referenzen haben die Form baseharbor://secrets/dyn-<128-bit-random-id>. Sie kodieren weder Tenant noch Application, Umgebung oder OpenBao-Pfad und bleiben bei Rotation gültig. Löschen lässt spätere Resolve-Versuche sicher scheitern.

HTTP-Lifecycle

Methode/Pfad Aufgabe
POST /api/v1/apps/{app}/secret-refs Erzeugen
POST /api/v1/apps/{app}/secret-refs/resolve Auflösen
PUT /api/v1/apps/{app}/secret-refs/resolve Wert rotieren
DELETE /api/v1/apps/{app}/secret-refs/resolve Löschen

Create erhält {"value":"secret-value"} und liefert nur ref/configured. Resolve erhält {"ref":"baseharbor://secrets/dyn-..."}; nur diese Operation liefert Klartext und verwendet Cache-Control: no-store.

Rotation erhält Referenz und neuen Wert, liefert dieselbe Referenz ohne Wert-Echo. Delete entfernt OpenBao-Metadaten/History; danach entfernt die Application ihre gespeicherte Referenz.

Getrennte Secret-Arten

Operator-/Deployment-Namen wie SMTP_PASSWORD bleiben im benannten Interface und secrets.required. dyn- ist für dynamische Referenzen reserviert und in normalen Named-Secret-Listen verborgen.

Werte gehören nie in Git/Manifest. Storage bleibt Application-/Environment-gebunden; HTTP benötigt Identity-, Tenant-Besitz- und RBAC-Prüfungen. Ein menschliches OIDC-Token ist keine langfristige Workload-Identität. App-scoped Runtime-Broker und dessen Transport sind eine separate Sicherheitsgrenze.

Die Integration ist optional für Application-Code; eigenständige Anwendungen können eigenen verschlüsselten Credential-Speicher verwenden. Exakter API-Vertrag (EN).

Weitere technische Beispiele

provider = openai-compatible
endpoint = http://agentgateway:4000/v1
model = qwen
credential_ref = baseharbor://secrets/dyn-...
baseharbor://secrets/dyn-<128-bit-random-id>
POST   /api/v1/apps/{app}/secret-refs
POST   /api/v1/apps/{app}/secret-refs/resolve
PUT    /api/v1/apps/{app}/secret-refs/resolve
DELETE /api/v1/apps/{app}/secret-refs/resolve
{"value":"secret-value"}
{"ref":"baseharbor://secrets/dyn-...","configured":true}
{"ref":"baseharbor://secrets/dyn-..."}
{"ref":"baseharbor://secrets/dyn-...","value":"new-secret-value"}

Technische Kennungen: AGENT_GATEWAY_API_KEY, baseharbor.yaml.