ตัวแปรสภาพแวดล้อมของ Elastic Beanstalk เป็นสถานที่ที่เหมาะสมสำหรับเก็บค่าความลับหรือไม่


15

ฉันได้ปรับใช้แอปพลิเคชัน Django ของฉันกับ Elastic Beanstalk ด้วยความตั้งใจที่จะใช้อินเตอร์เฟสการกำหนดค่าตัวแปรสภาพแวดล้อมเพื่อเก็บคีย์ API ของฉันแทนที่จะเก็บไว้ในแหล่งที่มาของฉัน (ดังอธิบายไว้ที่นี่/programming//a/17878600 )

หลังจากทำสิ่งนี้ฉันพบว่าสิ่งที่ Beanstalk เรียกว่าตัวแปรสภาพแวดล้อมไม่ใช่ตัวแปรสภาพแวดล้อมของเชลล์ (ตามที่กล่าวไว้ที่นี่/programming//a/24564832/378638 ) และถูกเก็บไว้ในอินสแตนซ์ในไฟล์กำหนดค่า (เช่น อธิบายไว้ที่นี่/programming//a/24566283/378638 )

ดูเหมือนว่าปัญหาด้านความปลอดภัยสำหรับฉัน สิ่งนี้ไม่ได้เป็นการทำลายวัตถุประสงค์ของการเก็บรหัสลับไว้จากแหล่งที่มาหรือไม่? ฉันเข้าใจว่าพวกเขาไม่ได้อยู่ใน repo อีกต่อไป แต่พวกเขายังสามารถเข้าถึงได้ในอินสแตนซ์

ฉันเข้าใจความเสี่ยงผิด ๆ หรือไม่? ฉันดูแลระบบโดยการสืบทอดดังนั้นโปรดแก้ตัวความไม่รู้ของฉันที่นี่ ฉันควรโหลดตัวแปร Beanstalk เป็นตัวแปรสภาพแวดล้อมเชลล์ผ่านไฟล์การกำหนดค่าและดำเนินการต่อเนื่องจากไฟล์สามารถเข้าถึงได้ผ่านรูทเท่านั้นหรือข้อกังวลของฉันนั้นถูกต้องหรือไม่ ขอขอบคุณ.

คำตอบ:


12

จุดประสงค์ของการรักษาความลับออกมาจากรหัสแหล่งที่มาเพื่อให้พวกเขาไม่ได้ไปลงในแหล่งการควบคุม สิ่งนี้มีประโยชน์อย่างยิ่งในโครงการโอเพ่นซอร์ส

เมื่อนำไปใช้งานจะไม่สำคัญว่าความลับนั้นอยู่ในไฟล์หรือ envvar สิ่งสำคัญคือมีเพียงผู้ใช้ระบบปฏิบัติการที่โปรแกรมของคุณทำงานอยู่เท่านั้นที่สามารถอ่านได้ นี่คือค่าเริ่มต้นสำหรับ envvars ซึ่งสะดวกสบาย

รูทสามารถอ่านทุกอย่างได้เสมอ ดังนั้นอเมซอนสามารถรู้คุณค่าความลับของคุณได้หากพวกเขาต้องการเพราะพวกเขาหยั่งราก

พวกเขาสนับสนุนโมดูลความปลอดภัยฮาร์ดแวร์ราคาแพง (HSM) ซึ่งจะทำให้คีย์ของคุณไม่สามารถอ่านได้ แน่นอนว่าพวกเขายังคงสามารถใช้ HSM เพื่อถอดรหัสข้อมูลของคุณไม่เคยได้รับกุญแจจริง

ดังนั้นคุณต้องเชื่อใจ Amazon หรือโฮสต์สิ่งของด้วยตัวคุณเองหรือ colocate

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.