Sırlar ve ortam değişkenleri
Bir Stripe anahtarının veya herhangi bir ayarın koda yazılmadan bir işleve nasıl aktarılacağı ve platformun gerçekte neyi koruduğu.
1. Bir değişken belirleyin
Her değişken bir fonksiyona aittir. Değişkenleri ayarlamak için bir service_role anahtarı gerekir.
PUT /env , gönderdiğiniz listedeki tüm değişken kümesini ile değiştirir. aura secrets set ve unset mevcut değerleri okur, isimlendirdiğiniz tuşları değiştirir ve sonucu geri yazar.
Yeni kodun aura functions deploy ile dağıtılması değişkenlere dokunulmaz.
2. Fonksiyonda okuyun
Değişkenler her çağrıda okunur: bir değişiklik sonraki çağrıya uygulanır.
3. Platformun eklediği değişkenler
| Değişken | Değer |
|---|---|
AURABASE_PROJECT_ID | Proje kimliği. Her zaman ayarlayın. |
AURABASE_FUNCTION_NAME | Fonksiyonun adı. Her zaman ayarlayın. |
AURABASE_URL | Platform operatörünün tanımladığı platform URL'si. |
AURABASE_ANON_KEY | Operatör tanımladığında bir platform anahtarı. |
Bu adları geçersiz kılamazsınız. Ana bilgisayarın ortamı işleviniz tarafından görülemiyor: gerçek bir çalıştırmada Deno.env.get('PATH') undefined değerini döndürdü.
Bir işlevden kendi projenizi çağırmak için, o işlevin sırrı olarak bir service_role anahtarını saklayın ve bunu bir HTTP isteğinin apikey başlığına gönderin. Asla bir kullanıcının anahtarını iletmeyin ve asla tarayıcıya service_role anahtarını koymayın.
4. Şifrelenen nedir
| Yol | Dinlenme sırasında şifrelendi |
|---|---|
PUT /v1/functions/{name}/env | Evet, eğer hizmetin yapılandırılmış bir şifreleme anahtarı varsa (FN_ENV_ENCRYPTION_KEY, AES-256-GCM). Bu olmadan, değerler gönderildiği gibi saklanır ve hizmet başlangıçta bir uyarıyı günlüğe kaydeder. |
aura secrets set / unset | Hayır: CLI, gönderilen değerleri saklayan PATCH aracılığıyla yazar. |
Dağıtım isteğinde env_vars | Hayır, aynı sebep. |
Yerel testimizde, hiçbir anahtar yapılandırılmadığından, PUT /env tarafından yazılan bir değer, işlevin tanımı tarafından değişmeden döndürüldü.
Gizli dizilerin şifrelenip şifrelenmeyeceği dağıtıma bağlıdır ve bunları yalnızca PUT /env yolu şifreleyebilir. CLI yolu bunları verildiği gibi saklar. CLI PUT /env kullanana kadar üretim sırları için yukarıdaki HTTP çağrısını kullanın.
Sırları geri okumak da sınırlıdır. GET /v1/functions/{name}/env şifresi çözülmüş değerleri döndürür ve GET /v1/functions/{name} gibi bir service_role anahtarı gerektirir. Ortak anahtar 403 alır.
5. Uyulması gereken kurallar
- Bir sırrı asla
index.tsiçine sabit kodlamayın. Bir fonksiyonun kaynak kodu projenizde saklanır ve herhangi birservice_roleçağırıcısına döndürülür. - Asla bir sırrı kaydetmeyin.
console.logçıktısı çalışma zamanının günlüklerinde sona erer. - Çalışan en dar anahtarla (ana anahtar değil, sağlayıcınızdan alınan kısıtlı bir anahtar) işlev başına bir değişken kullanın.
- Yeni değeri ayarlayarak ve hiçbir şeyi yeniden dağıtmadan bir anahtarı döndürün: sonraki çağrı onu kullanır.