व्यक्तिगत मशीन पर सुरक्षित रूप से AWS क्रेडेंशियल संग्रहीत करना


10

मैं व्यक्तिगत मशीनों पर AWS क्रेडेंशियल्स को सुरक्षित रूप से कैसे स्टोर कर सकता हूं?

विस्तार से:

हमारी टीम में प्रत्येक व्यक्ति को प्रशासनिक कार्यों को करने के लिए AWS सुरक्षा क्रेडेंशियल्स की आवश्यकता होती है (क्रेडेंशियल्स को भूमिका से अलग किया जाता है)। इन क्रेडेंशियल्स को आमतौर पर डिस्क पर कुछ कॉन्फिग फाइलों में प्लेनटेक्स्ट में संग्रहित किया जाता है। मुझे लगता है कि यह बहुत असुरक्षित है, विशेष रूप से यह देखते हुए कि क्रेडेंशियल्स को टीम के सदस्यों पर वितरित किया जाता है, बैकअप आदि में समाप्त होता है।

मैं इन क्रेडेंशियल्स को एन्क्रिप्टेड रूप में संग्रहीत करना पसंद करूंगा (उदाहरण के लिए, ssh कुंजियों के समान)। क्या ऐसा करने का कोई स्वचालित तरीका है? या क्या मुझे कुछ बैश स्क्रिप्ट को हैक करने की आवश्यकता है जो उदाहरण के लिए उपयोग करता है डेटा को एन्क्रिप्ट करने के लिए ओपनसेल?

EC2 उदाहरण पर क्रेडेंशियल्स को सुरक्षित करने के तरीके के बारे में वेब पर बहुत जानकारी है। यहां तक ​​कि यह अमेज़ॅन IAM भूमिका कार्यक्षमता भी है, लेकिन यह केवल EC2 पर भी लागू होता है।


1
यह एक महान प्रश्न है और मुझे उत्तरों में बहुत दिलचस्पी है।
सियजियोज

जवाबों:


4

https://github.com/realestate-com-au/credulous जांच के लायक हो सकता है। परियोजना विवरण से:

क्रेडुलस एक कमांड लाइन टूल है जो AWS (IAM) क्रेडेंशियल्स को सुरक्षित रूप से प्रबंधित करता है । इसका उद्देश्य उपयोगकर्ता की सार्वजनिक SSH कुंजी का उपयोग करके क्रेडेंशियल्स को एन्क्रिप्ट करना है ताकि केवल उसी उपयोगकर्ता के पास जो निजी SSH कुंजी है, उन्हें देख और उपयोग कर सके। इसके अलावा टूल उपयोगकर्ता के वर्तमान वर्कफ़्लो को तोड़ने के बिना उपयोगकर्ता को अपनी वर्तमान क्रेडेंशियल्स को आसानी से घुमाने में सक्षम करेगा ।

Http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/ पर परिचयात्मक ब्लॉग लेख है ।


बहुत बढ़िया, यह वही है जो मैं देख रहा था (और जो मैंने अपने दम पर खोजने का प्रबंधन नहीं किया ...)
arnuschky

यह भी देखें github.com/99designs/aws-vault
Yves M.

4

महान सवाल-और जवाब देने वाले व्यक्ति के आधार पर, आपके पास जाने के लिए कुछ मार्ग होंगे। मैं आपको एक उदाहरण दूंगा कि हम क्या उपयोग करते हैं:

  1. उपयोगकर्ता (डेवलपर, बुनियादी ढांचे, सुरक्षा, ऑडिट, आदि) के आधार पर IAM भूमिकाएं बनाएं- उपयोगकर्ता की पहुंच के आधार पर विशिष्ट कार्यों की अनुमति देने या अस्वीकार करने के लिए नीति को अनुकूलित करें।

उदाहरण: व्यवस्थापक के लिए सभी ec2 कार्यों की अनुमति दें। या केवल किसी डेवलपर आदि के लिए टैग या सबनेट पर आधारित एक्सेस की अनुमति दें

  1. विशिष्ट IAM भूमिकाओं का उपयोग करके ec2 लिनक्स उदाहरण (ओं) को लॉन्च करें। या तो प्रत्येक विशिष्ट भूमिका या उपयोगकर्ता के लिए एक उदाहरण लॉन्च करें (उदाहरण के आकार / आवश्यकता, बजट, आदि के अनुसार टाइप करें)

  2. प्रत्येक उदाहरण के लिए सुरक्षा समूह को कॉन्फ़िगर करें या तो केवल विशिष्ट सबनेट या व्यक्तिगत आईपी की अनुमति दें, ताकि आप एसएसएच को ट्रैफिक इनग्रेस को लॉक कर सकें।

  3. SSH के लिए एक कस्टम उपयोगकर्ता / पासवर्ड सेट करें या डोमेन में शामिल हों।

  4. प्रत्येक उपयोगकर्ता लॉगऑन या एसएसएच को अपनी भूमिका या उपयोगकर्ता की पहुंच के लिए लिनक्स उदाहरण के लिए सौंपा गया है।

  5. एपीआई कुंजी और पहुंच अब आईएएम की भूमिका से विरासत में मिली है, जिससे उपयोगकर्ता कुंजी अप्रासंगिक होने की आवश्यकता होती है। बस सुरक्षा समूह को बंद करना सुनिश्चित करें, केवल लिनक्स बॉक्स पर विशिष्ट उपयोगकर्ताओं तक पहुंच प्रदान करें। उपयोगकर्ता को एडब्ल्यूएस एपीआई का उपयोग करके स्क्रिप्ट लिखने में सक्षम होना चाहिए / सामान्य रूप से एपीआई उपकरण की कार्यक्षमता का उपयोग करना चाहिए।

हम अब तक लगभग एक साल से इस पद्धति का उपयोग कर रहे हैं-अतिरिक्त सुरक्षा ट्वीक के साथ, जैसे पट्टे पर पहुंच का समय, एडब्ल्यूएस एचएसएम में खरीदा गया है और यह बहुत अच्छा काम करता है।

आशा है कि यह आपकी या किसी और की मदद करता है।


अच्छा विचार है, धन्यवाद! ऐसा नहीं सोचा था। शामिल लागतों के कारण फिलहाल हमारे लिए कोई विकल्प नहीं है, लेकिन मैं इसे ध्यान में रखूंगा।
अर्नुस्चकी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.