Geheimnisse
Kazzle verfügt über einen integrierten verschlüsselten Tresor zum Speichern von API-Schlüsseln, Datenbankzugangsdaten, Token und anderen sensiblen Werten, die Ihre App benötigt. Geheimnisse werden im Ruhezustand mit AES-256-GCM verschlüsselt, wobei KMS-umhüllte Datenverschlüsselungsschlüssel verwendet werden – Klartextwerte berühren niemals die Datenbank.Konzepte
Sammlungen gruppieren verwandte Geheimnisse zusammen (z. B.stripe-keys, database-credentials). Jede Sammlung hat einen Slug (Kleinbuchstaben, mit Bindestrichen), auf den Sie in Konfigurationsdateien und CLI-Befehlen verweisen.
Umgebungen sind optionale Bereiche innerhalb einer Sammlung (z. B. production, staging). Geheimnisse können auf eine bestimmte Umgebung beschränkt oder auf Sammlungsebene als Standardwerte belassen werden.
Auflösungsreihenfolge: Bei der Auflösung von Geheimnissen für eine bestimmte Sammlung + Umgebung überschreiben umgebungsspezifische Geheimnisse Geheimnisse auf Sammlungsebene mit demselben Namen. Dies ermöglicht es Ihnen, die meisten Geheimnisse über Umgebungen hinweg zu teilen und gleichzeitig bestimmte Werte pro Umgebung zu überschreiben.
Geheimnisse verwalten
In der App
Öffnen Sie Einstellungen > Vault, um Sammlungen, Umgebungen und Geheimnisse über die Benutzeroberfläche zu erstellen.Mit der KI
Die KI kann Sammlungen erstellen, Umgebungen erstellen, Geheimnisse speichern, diese zwischen Bereichen verschieben und sie für Sie löschen. Die KI sieht Geheimnisnamen und Metadaten, aber nicht die verschlüsselten Werte.Mit der CLI
Geheimnisse aus Ihrer App referenzieren
Verweisen Sie mitenv einer Komponente auf eine Geheimnis-Sammlung und Umgebung in kazzle.config.ts. Jedes Geheimnis in diesem Bereich wird als Prozessumgebungsvariable eingefügt, deren Name dem Geheimnisnamen entspricht:
env.collection und env.environment sind Slugs, keine Anzeigenamen. Verwenden Sie env.include, um nur eine Teilmenge der Geheimnisse der Sammlung einzufügen:
Wie Geheimnisse zu Umgebungsvariablen werden
Wenn Geheimnisse für eine Komponente aufgelöst werden:- Die Sammlung wird nach Slug in Ihrem Space gefunden
- Geheimnisse, die auf die angegebene Umgebung beschränkt sind, werden geladen
- Geheimnisse auf Sammlungsebene (keine Umgebung) werden als Standardwerte einbezogen
- Umgebungsspezifische Geheimnisse überschreiben Geheimnisse auf Sammlungsebene mit demselben Namen
- Geheimnis-Referenzen innerhalb von Werten werden aufgelöst
- Geheimnisnamen werden in das Format der Umgebungsvariablen konvertiert: Großbuchstaben, nicht-alphanumerische Zeichen werden zu Unterstrichen
Stripe Secret Key wird zu STRIPE_SECRET_KEY.
Jedes Geheimnis hat einen Body-Modus, der bestimmt, wie es eingefügt wird:
string-Geheimnisse (API-Schlüssel, Token, URIs) werden als einfache Skalarzeichenfolgen eingefügtjson-Geheimnisse (strukturierte Konfiguration) werden als JSON-Zeichenfolgen eingefügtfields-Geheimnisse (Anmeldedaten, typisierte Feldsammlungen) werden als JSON-Zeichenfolgen eingefügt
Wann Geheimnisse eingefügt werden
Template-Referenzen
Geheimniswerte können andere Geheimnis-Felder mit der gleichen Syntax referenzieren, die Kazzle an anderer Stelle verwendet:${secret.<uuid>.<field>}– spezifisches Feld oder JSON-Pfad innerhalb von Geheimniswerten oder Tool-Parametern, wo Vault-Referenzen aktiviert sind.${secret.<uuid>}– gesamter Geheimnis-Body. Verwenden Sie dies nur, wenn ein Tool explizit das gesamte rohe Geheimnis anfordert; verwenden Sie dies nicht in App-Umgebung/Konfiguration.