Naar hoofdinhoud gaan

Secrets

Kazzle heeft een ingebouwde versleutelde kluis voor het opslaan van API-sleutels, databasegegevens, tokens en andere gevoelige waarden die uw app nodig heeft. Secrets worden in rust versleuteld met AES-256-GCM met KMS-verpakte gegevensversleutelingssleutels — platte tekstwaarden raken nooit de database.

Concepten

Collections groeperen gerelateerde secrets (bijv. stripe-keys, database-credentials). Elke collection heeft een slug (kleine letters, met koppeltekens) die u in configuratiebestanden en CLI-opdrachten gebruikt. Environments zijn optionele bereiken binnen een collection (bijv. production, staging). Secrets kunnen aan een specifieke omgeving worden gekoppeld of op collectieniveau als standaardwaarden blijven staan. Resolutievolgorde: bij het oplossen van secrets voor een bepaalde collection + environment overschrijven environment-specifieke secrets secrets op collectieniveau met dezelfde naam. Dit stelt u in staat om de meeste secrets in omgevingen te delen terwijl u specifieke waarden per omgeving overschrijft.

Secrets beheren

In de app

Open Settings > Vault om collections, environments en secrets via de UI te maken.

Met de AI

De AI kan collections maken, environments maken, secrets opslaan, ze tussen bereiken verplaatsen en ze voor u verwijderen. De AI ziet geheime namen en metagegevens, maar niet de versleutelde waarden.

Met de CLI

Secrets uit uw app refereren

Wijs de env van een component naar een secret collection en environment in kazzle.config.ts. Elk secret in dat bereik wordt geïnjecteerd als een process env var waarvan de naam overeenkomt met de geheime naam:
env.collection en env.environment zijn slugs, geen weergavenamen. Gebruik env.include om alleen een subset van de secrets van de collection in te voegen:

Hoe secrets env vars worden

Wanneer secrets voor een component worden opgelost:
  1. De collection wordt per slug in uw space gevonden
  2. Secrets die aan de opgegeven omgeving zijn gekoppeld, worden geladen
  3. Secrets op collectieniveau (geen omgeving) worden als standaardwaarden opgenomen
  4. Environment-specifieke secrets overschrijven secrets op collectieniveau met dezelfde naam
  5. Geheime verwijzingen in waarden worden opgelost
  6. Geheime namen worden omgezet naar env var-indeling: gekapitaliseerd, niet-alfanumerieke tekens worden onderstrepen
Een secret met de naam Stripe Secret Key wordt STRIPE_SECRET_KEY. Elk secret heeft een body mode die bepaalt hoe het wordt geïnjecteerd:
  • string secrets (API-sleutels, tokens, URI’s) worden als platte scalaire strings geïnjecteerd
  • json secrets (gestructureerde config) worden als JSON-strings geïnjecteerd
  • fields secrets (inloggegevens, getypte veldverzamelingen) worden als JSON-strings geïnjecteerd

Wanneer secrets worden geïnjecteerd

Sjabloonverwijzingen

Geheime waarden kunnen verwijzen naar andere geheime velden met dezelfde syntaxis die Kazzle elders gebruikt:
Ondersteunde indelingen:
  • ${secret.<uuid>.<field>} — specifiek veld of JSON-pad in geheime waarden of toolparameters waar kluisverwijzingen zijn ingeschakeld.
  • ${secret.<uuid>} — hele geheime body. Gebruik alleen wanneer een tool expliciet om het hele onbewerkte geheim vraagt; gebruik dit niet in app env/config.
Verwijzingen worden opgelost nadat secrets zijn geladen. Circulaire of verbroken verwijzingen mislukken in plaats van stilzwijgend terug te vallen.