Environment Variable
Environment Variable Kavramı
Ortam değişkenleri, hassas bilgileri (şifreler, API anahtarları, sertifikalar) veya yapılandırma değerlerini güvenli bir şekilde saklamak için kullanılır. Apinizer'da ortam değişkenleri proje seviyesinde tanımlanır ve iki tipte olabilir:
- Global (Tüm Ortamlar): Tüm ortamlarda aynı değeri kullanır
- Environment-Specific (Ortam Özelinde): Her ortam için farklı değerler tanımlanabilir
Hassas bilgiler şifrelenmiş olarak saklanabilir
Ortam veya proje seviyesinde tanımlanabilir
Şifrelenmiş değişkenler güvenli bir şekilde saklanır
Birden fazla API Proxy veya Task Flow'da kullanılabilir
Environment Variable Çözümleme Akışı
Aşağıdaki diyagram, environment variable'ların runtime'da nasıl çözümlendiğini ve environment'a göre değerlerin nasıl alındığını gösterir:
Değer Görünürlüğü: Secret ve Secret Olmayan
Ortam değişkeni değerlerinin tamamı veritabanında şifreli (AES-GCM) saklanır. Secret işareti
şifrelemeyi değil, değerin geri okunup okunamayacağını belirler.
Yapılandırma değerleri için kullanılır
URL'ler, port numaraları, flag'ler gibi değerler. Şifreli saklanır; ekranda maskeli gösterilir, göz ikonuyla açılabilir ve kopyalanabilir. Okuma API'lerinde ve dışa aktarma paketinde düz metin olarak yer alır.
Geri okunmaması gereken bilgiler için kullanılır
Şifreler, API anahtarları, token'lar. Kaydedildikten sonra hiçbir zaman görüntülenemez: ekranda
gösterilmez, API yanıtlarında null döner ve dışa aktarma paketine düz metin olarak girmez.
Önemli: Secret bir değer geri okunamaz. Değeri değiştirmek isterseniz yenisini yazmanız gerekir.
Secret Olarak İşaretlenmesi Gerekenler
- Şifreler: Veritabanı şifreleri, API anahtarları
- Sertifikalar: SSL/TLS sertifikaları
- Token'lar: OAuth token'ları, JWT secret'ları
- Diğer Hassas Bilgiler: Hiç kimsenin geri okumaması gereken tüm değerler
Secret İşaretlenmesi Gerekmeyenler
- URL'ler: Backend API URL'leri
- Port Numaraları: Port değerleri
- Flag'ler: Boolean değerler
- Diğer Yapılandırmalar: Genel yapılandırma değerleri
Environment Variable Seviyeleri
Belirli bir ortamda (Environment) geçerlidir
O ortamdaki tüm API Proxy'ler ve Task Flow'lar tarafından kullanılabilir. Proje seviyesi değişkenlerden daha yüksek önceliğe sahiptir.
Belirli bir projede (Project) geçerlidir
O projedeki tüm API Proxy'ler ve Task Flow'lar tarafından kullanılabilir. Ortam seviyesi değişkenlerden daha düşük önceliğe sahiptir.
Environment-Level Kullanım Senaryoları
- Ortam bazlı backend URL'leri
- Ortam bazlı API anahtarları
- Ortam bazlı yapılandırma değerleri
- Ortam bazlı veritabanı bağlantı bilgileri
Project-Level Kullanım Senaryoları
- Proje bazlı yapılandırma değerleri
- Proje bazlı API anahtarları
- Proje bazlı genel ayarlar
- Proje bazlı ortak değerler