Skip to main content

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çinde 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şenin env öğesini kazzle.config.ts içinde bir sır koleksiyonuna ve ortamına yönlendirin. Bu kapsamdaki her sır, adı sır adıyla eşleşen bir işlem ortam değişkeni olarak enjekte edilir:
env.collection ve env.environment slug’tur, 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:
  1. Koleksiyon, alanınız içinde slug tarafından bulunur
  2. Belirtilen ortama kapsamlandırılmış sırlar yüklenir
  3. Koleksiyon düzeyindeki sırlar (ortam yok) varsayılan olarak dahil edilir
  4. Ortama özgü sırlar aynı ada sahip koleksiyon düzeyindeki sırları geçersiz kılar
  5. Değerler içindeki sır başvuruları çözümlenir
  6. 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:
  • string sırları (API anahtarları, tokenlar, URI’ler) düz skaler dizeler olarak enjekte edilir
  • json sırları (yapılandırılmış yapılandırma) JSON dizeler olarak enjekte edilir
  • fields sırları (giriş kimlik bilgileri, yazılı alan çantaları) JSON dizeler olarak enjekte edilir

Sırlar ne zaman enjekte edilir

Ş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:
Desteklenen biçimler:
  • ${secret.<uuid>.<field>} — sır değerleri veya kasa başvurularının etkinleştirildiği araç parametreleri içinde belirli alan veya JSON yolu.
  • ${secret.<uuid>} — tüm sır gövdesi. Yalnızca bir araç açıkça tüm ham sırrı istediğinde kullanın; bunu uygulama env/yapılandırmasında kullanmayın.
Başvurular sırlar yüklendikten sonra çözümlenir. Döngüsel veya bozuk başvurular sessizce geri dönmek yerine başarısız olur.