AWS EC2 उपयोगकर्ताडेटा एन्क्रिप्शन
हमारे पास इनपुट लेने का usecase है जिसमें उपयोगकर्ता से पासवर्ड शामिल है और इसे EC2 उदाहरण पर पास करें। Ec2 उदाहरण से हमने URL को हिट किया -http://169.254.169.254/latest/user-data/ और उपयोगकर्ताडेटा प्राप्त करें और उपयुक्त पासवर्ड सेट करें।
समस्या उपयोगकर्ता डेटा AWS CLI उपकरण द्वारा दिखाई देती है:
aws ec2 describe-instance-attribute --instance-id --attribute userData --output text --query "UserData.Value" | base64 --decode
इससे भारी सुरक्षा जोखिम होता है।
संवेदनशील / गुप्त डेटा भेजने का सबसे अच्छा तरीका क्या है?
मैंने एक की-जोड़ी बनाने की कोशिश की, जो ईसी 2 पर स्थानीय उदाहरण और सार्वजनिक कुंजी पर निजी कुंजी बनाता है। PowerShell का उपयोग करके एन्क्रिप्ट / डिक्रिप्ट करने और EC2 में इसे वापस लाने का सही तरीका क्या होगा?
जवाब
सुझाए गए दृष्टिकोण किसी भी रहस्य को बाहरी स्रोत में संग्रहीत करना होगा।
AWS के पास रहस्यों को संग्रहीत करने के लिए एक सेवा है, गोपनीयता प्रबंधक । इस सेवा का उपयोग करके आप एक ऐसा रहस्य बनाएंगे जिसमें आपके उदाहरण को इसके उपयोगकर्ता डेटा तक पहुंचने की आवश्यकता होगी। फिर अपने उदाहरण को AWS CLI के माध्यम से गुप्त मूल्य प्राप्त करने के लिए विशेषाधिकारों के साथ IAM भूमिका दें ।
वैकल्पिक रूप से आप AWS SSM पैरामीटर स्टोर सेवा का उपयोग भी कर सकते हैं , रहस्यों को एक SecureString प्रकार के रूप में संग्रहीत करते हैं । यह रहस्य प्रबंधक के समान काम करेगा जो आपके लिए AWS CLI के माध्यम से रहस्य को पुनः प्राप्त करेगा और फिर इसे आपकी स्क्रिप्ट में उपयोग करेगा।
तीसरे पक्ष के समाधान भी हैं जैसे हाशिकॉर्प वॉल्ट जो समान कार्यक्षमता प्रदान करते हैं यदि आप अपने रहस्यों को AWS समाधान में संग्रहीत नहीं करना चाहते हैं।