Sırlar
Kazzle, API anahtarlarını, veritabanı kimlik bilgilerini, tokenları ve uygulamanızın ihtiyaç duyduğu diğer hassas değerleri depolamak için yerleşik bir şifreli kasaya sahiptir. Sırlar, KMS tarafından sarılmış veri şifreleme anahtarları kullanılarak AES-256-GCM ile beklemede şifrelenir — düz metin değerler hiçbir zaman veritabanına ulaşmaz.Kavramlar
Koleksiyonlar ilgili sırları bir araya getirir (örn.stripe-keys, database-credentials). Her koleksiyonun, yapılandırma dosyalarında ve CLI komutlarında başvurduğunuz bir slug (küçük harf, tire ile ayrılmış) vardır.
Ortamlar bir koleksiyon içindeki isteğe bağlı kapsamlardır (örn. production, staging). Sırlar belirli bir ortama kapsamlandırılabilir veya koleksiyon düzeyinde varsayılan olarak bırakılabilir.
Çözümleme sırası: belirli bir koleksiyon + ortam için sırları çözerken, ortama özgü sırlar aynı ada sahip koleksiyon düzeyindeki sırları geçersiz kılar. Bu, çoğu sırrı ortamlar arasında paylaşmanıza ve ortam başına belirli değerleri geçersiz kılmanıza olanak tanır.
Sırları yönetme
Uygulamada
Koleksiyonlar, ortamlar ve sırları UI aracılığıyla oluşturmak için Ayarlar > Kasa’yı açın.AI ile
AI, koleksiyonlar oluşturabilir, ortamlar oluşturabilir, sırları depolayabilir, bunları kapsamlar arasında taşıyabilir ve sizin için silebilir. AI, sır adlarını ve meta verileri görür ancak şifreli değerleri görmez.CLI ile
Uygulamanızdan sırlara başvurma
Bir bileşeninenv öğesini kazzle.config.ts içinde bir sır koleksiyonuna ve ortamına yönlendirin. Bu kapsamdaki her sır, sır adıyla eşleşen bir işlem ortam değişkeni olarak enjekte edilir:
env.collection ve env.environment slug’lardır, görünen adlar değildir. Koleksiyonun sırlarının yalnızca bir alt kümesini enjekte etmek için env.include kullanın:
Sırlar ortam değişkenleri nasıl olur
Sırlar bir bileşen için çözümlendiğinde:- Koleksiyon, alanınız içinde slug tarafından bulunur
- Belirtilen ortama kapsamlandırılan sırlar yüklenir
- Koleksiyon düzeyindeki sırlar (ortam yok) varsayılan olarak dahil edilir
- Ortama özgü sırlar aynı ada sahip koleksiyon düzeyindeki sırları geçersiz kılar
- Değerler içindeki sır başvuruları çözümlenir
- Sır adları ortam değişkeni biçimine dönüştürülür: büyük harfli, alfasayısal olmayan karakterler alt çizgi olur
Stripe Secret Key adlı bir sır STRIPE_SECRET_KEY olur.
Her sırnın, nasıl enjekte edileceğini belirleyen bir gövde modu vardır:
stringsırları (API anahtarları, tokenlar, URI’ler) düz skaler dizeler olarak enjekte edilirjsonsırları (yapılandırılmış yapılandırma) JSON dizeler olarak enjekte edilirfieldssırları (giriş kimlik bilgileri, yazılı alan çantaları) JSON dizeler olarak enjekte edilir
Sırlar ne zaman enjekte edilir
| Bağlam | Enjekte edildi mi? | Ayrıntılar |
|---|---|---|
| Dağıt (işlem bileşeni) | Evet | Üretimde çalışma zamanı ortam değişkenleri olarak eklenir |
| Dağıt (UI bileşeni) | Kısmi | Yalnızca VITE_* ön ekli sırlar derleme zamanında iletilir |
CLI (kazzle run) | Evet | Komutun ortamına enjekte edilir |
CLI (secrets.export) | Evet | KEY=value satırları olarak dışa aktarılır |
| Dev önizlemesi | Henüz değil | Önizleme başlatıcısı henüz bileşen env öğesini çözmez — şimdilik kazzle run kullanın |
Şablon başvuruları
Sır değerleri, Kazzle’nin başka yerlerde kullandığı aynı söz dizimini kullanarak diğer sır alanlarına başvurabilir:${secret.<uuid>.<field>}— belirli alan veya JSON yolu. Uygulama ortamı/yapılandırması için bu biçimi kullanın.${secret.<uuid>}— tüm sır gövdesi. Yalnızca bir araç açıkça tüm ham sırrı istediğinde kullanın; uygulama ortamı/yapılandırmasında bunu kullanmayın.