कई डॉक कंटेनर के लिए IAM सुरक्षा क्रेडेंशियल्स का प्रबंधन


11

सादे EC2 वातावरण के भीतर, अन्य AWS संसाधनों तक पहुंच का प्रबंधन IAM भूमिकाओं और क्रेडेंशियल्स (स्वचालित रूप से उदाहरण मेटाडेटा से प्राप्त) के साथ काफी सीधा है। CloudFormation के साथ और भी आसान है, जहाँ आप किसी विशेष एप्लिकेशन भूमिका को उदाहरण के लिए असाइन करने पर मक्खी पर भूमिकाएँ बना सकते हैं।

अगर मैं डॉकर में माइग्रेट करना चाहता हूं और एक तरह की एम-टू-एन तैनाती है, जहां मेरे पास एम मशीनें हैं, और एन एप्लिकेशन इस पर चल रहे हैं, तो मुझे प्रति-एप्लिकेशन एडब्ल्यूएस संसाधनों तक पहुंच को कैसे प्रतिबंधित करना चाहिए? उदाहरण मेटाडेटा होस्ट पर किसी के द्वारा भी पहुँचा जा सकता है, इसलिए मेरे पास प्रत्येक एप्लिकेशन को उसी परिनियोजन वातावरण में हर दूसरे एप्लिकेशन के डेटा को देखने / संशोधित करने में सक्षम होगा।

ऐसे वातावरण में चल रहे कंटेनरों को सुरक्षा क्रेडेंशियल्स की आपूर्ति के लिए सर्वोत्तम अभ्यास क्या हैं?

जवाबों:


5

यह परियोजना है: https://github.com/dump247/docker-ec2-metadata

यह उदाहरण के लिए मेटा-डेटा एंडपॉइंट के लिए प्रॉक्सी के रूप में कार्य करता है, जो कंटेनर के लिए विशिष्ट भूमिका देता है। मैंने पहले इसका उपयोग नहीं किया है, लेकिन यह आपके द्वारा वर्णित उपयोग-मामले को हल करने के लिए लगता है।


1

EC2 के साथ AWS में रोल्स और सिक्योरिटी ग्रुप्स (भले ही आपने उनका उल्लेख न किया हो) का उपयोग करके कम से कम विशेषाधिकार प्राप्त करना, अपने होस्टिंग अनुप्रयोगों के लिए एक सुरक्षित वातावरण प्रदान करने के लिए दोनों सर्वोत्तम अभ्यास हैं, विशेषकर CloudFormation का उपयोग करते समय। हालाँकि, जब आप एक बहु-किरायेदार डॉकर पर्यावरण को परत के ऊपर रखते हैं, जब चीजें अलग होने लगती हैं।

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

यदि बहु-किरायेदार रोल्स की तुलना में अधिक महत्वपूर्ण है, तो इसका उत्तर यह है कि रोल्स का उपयोग न करें और किसी अन्य विधि का उपयोग करके अपने अनुप्रयोगों में AWS क्रेडेंशियल्स वितरित करें।

दुर्भाग्य से इनमें से कोई भी समाधान बहुत वांछनीय नहीं है और मुझे उम्मीद है कि भविष्य में इस विशिष्ट दर्द बिंदु को मुख्य रूप से कंटेनरों की बढ़ती लोकप्रियता के कारण AWS द्वारा संबोधित किया जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.