Elastik Beanstalk ortam değişkenleri gizli değerleri saklamak için uygun bir yer midir?


15

API anahtarlarımı kaynağımda saklamak yerine, ortam değişkeni yapılandırma arabirimini kullanmak amacıyla Django uygulamamı Elastik Beanstalk'a dağıttım ( /programming//a/17878600 ).

Bunu yaptıktan sonra, Beanstalk'ın ortam değişkenleri olarak adlandırdığı şeyin aslında kabuk ortamı değişkenleri olmadığını (burada /programming//a/24564832/378638 ) çağırmadıklarını ve örnekte bir yapılandırma dosyasında ( burada açıklanan /programming//a/24566283/378638 ).

Bu benim için bir güvenlik sorunu gibi görünüyor. Bu, gizli anahtarları kaynağın dışında tutma amacını yenmez mi? Artık repoda olmadıklarını anlıyorum, ancak örnek üzerinde hala erişilebilirler.

Riski yanlış mı anlıyorum? Ben kalıtım yoluyla sysadminim, bu yüzden lütfen buradaki cehaletimi affedin. Beanstalk değişkenlerini yapılandırma dosyası aracılığıyla kabuk ortamı değişkenleri olarak yüklemeli ve dosyaya yalnızca root üzerinden erişilebildiğinden veya sorunum geçerli olduğundan devam etmeli miyim? Teşekkür ederim.

Yanıtlar:


12

Sırları kaynak kodunun dışında tutmanın amacı, kaynak denetimine girmemeleridir . Bu özellikle açık kaynaklı projelerde yararlıdır.

Konuşlandırıldığında, sır bir dosyada mı yoksa envvarda mı olduğu önemli değil. Önemli olan sadece programınızın çalıştığı işletim sistemi kullanıcısının okuyabileceğidir. Bu, uygun olan envvarlar için varsayılan değerdir.

Kök her zaman her şeyi okuyabilir. Böylece Amazon isterse gizli değerlerinizi bilebilir, çünkü köklerdir.

Ancak pahalı donanım güvenlik modüllerini (HSM) destekliyorlar , bu da anahtarlarınızı okunamaz hale getiriyor. Tabii ki, HSM'yi hala eşyalarınızın şifresini çözmek için kullanabilirler , sadece gerçek anahtarı alamazlar.

Yani ya Amazon'a güvenmeniz ya da bir şeyleri kendiniz barındırmanız ya da yer bulmanız gerekiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.