अमेज़न EMR स्टूडियो एक एकीकृत विकास वातावरण (आईडीई) है जो डेटा वैज्ञानिकों और डेटा इंजीनियरों के लिए आर, पायथन, स्काला और पायस्पार्क में लिखे गए डेटा इंजीनियरिंग और डेटा विज्ञान अनुप्रयोगों को विकसित करना, कल्पना करना और डीबग करना आसान बनाता है। ईएमआर स्टूडियो ईएमआर स्टूडियो वर्कस्पेस के माध्यम से पूरी तरह से प्रबंधित ज्यूपिटर नोटबुक और स्पार्क यूआई और यार्न टाइमलाइन सर्वर जैसे टूल प्रदान करता है। आप एक EMR स्टूडियो वर्कस्पेस को EMR क्लस्टर से जोड़ सकते हैं, और EMR क्लस्टर की गणना शक्ति का उपयोग कर सकते हैं और क्लस्टर पर डेटा साइंस जॉब चला सकते हैं। डेटा को अक्सर प्रबंधित डेटा झीलों में संग्रहीत किया जाता है AWS झील निर्माण, आपको एक सरल अनुदान या निरस्तीकरण तंत्र के माध्यम से सूक्ष्म पहुंच नियंत्रण लागू करने में सक्षम बनाता है।
हमें परिचय देते हुए खुशी हो रही है रनटाइम भूमिकाएँ ईएमआर स्टूडियो कार्यस्थानों के लिए। अब आप एक रनटाइम भूमिका को परिभाषित कर सकते हैं और ईएमआर स्टूडियो वर्कस्पेस संलग्न करते समय इसे ईएमआर क्लस्टर को असाइन कर सकते हैं। EMR क्लस्टर पर नौकरियां AWS संसाधनों तक पहुंचने के लिए इस रनटाइम भूमिका का उपयोग करेंगी। रनटाइम भूमिका को कॉन्फ़िगर करने के बाद, आप लेक फॉर्मेशन का भी उपयोग कर सकते हैं और ईएमआर स्टूडियो वर्कस्पेस द्वारा सबमिट की गई नौकरियों के लिए बढ़िया डेटा एक्सेस नियंत्रण लागू कर सकते हैं।
पहले, EMR स्टूडियो वर्कस्पेस को EMR क्लस्टर से जोड़ते समय, सभी वर्कस्पेस को इसका उपयोग करना पड़ता था AWS पहचान और अभिगम प्रबंधन (IAM) भूमिका-अर्थात्, क्लस्टर की अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (अमेज़ॅन EC2) इंस्टेंस प्रोफ़ाइल। इसलिए, एक ही ईएमआर क्लस्टर से जुड़े सभी कार्यस्थानों के पास समान डेटा एक्सेस था। डेटा स्रोतों तक पहुंच को नियंत्रित करने के लिए, प्रत्येक ईएमआर स्टूडियो वर्कस्पेस को एक अलग ईएमआर क्लस्टर का उपयोग करना पड़ता था, और कई ईएमआर इंस्टेंस प्रोफाइल की आवश्यकता होती थी।
अमेज़ॅन ईएमआर 6.11 की रिलीज के साथ शुरुआत करते हुए, अब आप ईएमआर स्टूडियो वर्कस्पेस को ईएमआर क्लस्टर में संलग्न करते समय एक रनटाइम भूमिका चुन सकते हैं। यह रनटाइम भूमिका कार्यक्षेत्र स्तर पर पहुंच को कम करती है। ईएमआर स्टूडियो वर्कस्पेस से चलने वाली आपकी अपाचे लिवी और अपाचे स्पार्क नौकरियों को केवल रनटाइम भूमिका से जुड़ी नीतियों द्वारा अनुमत डेटा और संसाधनों तक पहुंचने की अनुमति होगी। इसके अलावा, जब लेक फॉर्मेशन के साथ प्रबंधित डेटा लेक से डेटा एक्सेस किया जाता है, तो आप लेक फॉर्मेशन अनुमतियों का उपयोग करके बारीक डेटा एक्सेस नियंत्रण लागू कर सकते हैं। इससे आपको परिचालन ओवरहेड को कम करने में मदद मिलती है।
इस पोस्ट में, हम प्रदर्शित करते हैं कि ईएमआर स्टूडियो वर्कस्पेस के लिए रनटाइम भूमिकाओं को कैसे कॉन्फ़िगर करें और रनटाइम भूमिकाओं के साथ ईएमआर क्लस्टर में वर्कस्पेस कैसे संलग्न करें। क्योंकि बड़े उद्यम आमतौर पर कई AWS खातों का उपयोग करते हैं, और उनमें से कई खातों को एक ही AWS खाते द्वारा प्रबंधित डेटा लेक तक पहुंच की आवश्यकता हो सकती है, हमारा उदाहरण दो AWS खातों का उपयोग करता है। हम बताते हैं कि ईएमआर स्टूडियो रनटाइम भूमिकाओं तक पहुंच को कैसे नियंत्रित किया जाए, लेक फॉर्मेशन के माध्यम से डेटा लेक में खातों में डेटा एक्सेस को कैसे प्रबंधित किया जाए, और ईएमआर रनटाइम भूमिकाओं के लिए टेबल-स्तरीय और कॉलम-स्तरीय अनुमतियों को कैसे लागू किया जाए।
समाधान अवलोकन
सुक्ष्म अभिगम नियंत्रण प्रदर्शित करने के लिए, हम एक नमूना बनाते हैं एडब्ल्यूएस गोंद डेटाबेस ने कंपनी का नाम दिया और लेक फॉर्मेशन में डेटाबेस अनुमति का प्रबंधन किया। डेटाबेस में दो अलग-अलग तालिकाएँ हैं:
- कर्मचारियों - यह तालिका कर्मचारी आईडी, नाम, विभाग और वेतन सहित कंपनी के कर्मचारियों के बारे में जानकारी संग्रहीत करती है
- उत्पादों - यह तालिका कंपनी द्वारा बेचे गए उत्पादों के बारे में जानकारी संग्रहीत करती है, जिसमें उत्पाद आईडी, नाम, श्रेणी और कीमत शामिल है
डेटा एक्सेस नियंत्रण प्रदर्शित करने के लिए, हम निम्नलिखित डेटा उपयोगकर्ताओं पर विचार करते हैं:
- ऐलिस, बिक्री टीम में एक डेटा वैज्ञानिक – उसके पास सभी कॉलमों तक केवल-पढ़ने के लिए पहुंच होनी चाहिए
products
तालिका और चयनित कॉलम, जिसमें यूआईडी, नाम और विभाग शामिल हैemployees
तालिका - बॉब, मानव संसाधन टीम में एक डेटा वैज्ञानिक – उसके पास सभी कॉलमों तक केवल-पढ़ने के लिए पहुंच होनी चाहिए
employees
तालिका तक पहुंच नहीं होनी चाहिएproducts
तालिका
क्रॉस-अकाउंट डेटा शेयरिंग प्रदर्शित करने के लिए, हम दो खातों पर विचार करते हैं:
- डेटा निर्माता खाता - हम इस खाते को इस रूप में संदर्भित करते हैं
123456789012
इस पोस्ट में. यह खाता कच्चे डेटा का प्रबंधन करता है अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) और डेटा लेक पर डेटा लिखता है।company
डेटाबेस और टेबल इस खाते में होने चाहिए. - डेटा उपभोक्ता खाता - हम इस खाते को इस रूप में संदर्भित करते हैं
111122223333
इस पोस्ट में. यह खाता डेटा विश्लेषण के लिए उपयोगकर्ताओं द्वारा सीधे एक्सेस किया जाता है और इसमें डेटा तक लिखने की पहुंच नहीं होती है। यह खाता ऐलिस और बॉब द्वारा एक्सेस किया जाना चाहिए।
वास्तुकला निम्नानुसार कार्यान्वित की जाती है:
- डेटा निर्माता खाता एक डेटा लेक का प्रबंधन करता है। कच्चा डेटा S3 बकेट में संग्रहीत किया जाता है और AWS ग्लू डेटा कैटलॉग में सूचीबद्ध किया जाता है।
- डेटा निर्माता खाते में लेक फॉर्मेशन डेटा कैटलॉग के माध्यम से डेटा एक्सेस को नियंत्रित करता है, और डेटा उपभोक्ता खाते के साथ क्रॉस-अकाउंट डेटा साझाकरण प्रदान करता है।
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन टेबल स्तर पर डेटा लेक तक क्रॉस-अकाउंट एक्सेस और बढ़िया लेक फॉर्मेशन अनुमतियों को नियंत्रित करता है। अधिक जानकारी के लिए देखें सुक्ष्म अभिगम नियंत्रण के तरीके.
- डेटा उपभोक्ता खाते में EMR स्टूडियो वर्कस्पेस EMR क्लस्टर पर कार्य चलाते समय रनटाइम भूमिकाओं का उपयोग करते हैं।
- ईएमआर क्लस्टर डेटा उपभोक्ता खाते में ग्लू डेटा कैटलॉग से जुड़ता है और क्रॉस-अकाउंट डेटा शेयरिंग के माध्यम से डेटा लेक से डेटा पर सवाल उठाता है।
निम्नलिखित चित्र इस वास्तुकला को दर्शाता है।
निम्नलिखित अनुभागों में, हम लेक फॉर्मेशन के माध्यम से खातों में डेटा साझा करने, रनटाइम भूमिकाओं के साथ एक ईएमआर स्टूडियो वर्कस्पेस चलाने और बढ़िया पहुंच नियंत्रण प्रदर्शित करने के चरणों से गुजरते हैं।
.. पूर्वापेक्षाएँ
आपके पास निम्नलिखित पूर्वापेक्षाएँ होनी चाहिए:
डेटा निर्माता खाते में बुनियादी ढाँचा बनाएँ
बुनियादी ढाँचे के संसाधन बनाने के लिए निम्नलिखित चरणों को पूरा करें:
- डेटा निर्माता AWS खाते में लॉग इन करें (
123456789012
). - चुनें स्टैक लॉन्च करें आवश्यक संसाधन बनाने के लिए क्लाउडफॉर्मेशन टेम्पलेट तैनात करना।
- के लिए डेटालेकबकेटसफिक्स, डेटा लेक द्वारा प्रयुक्त S3 बकेट के लिए प्रत्यय दर्ज करें। बनाए जाने वाले संपूर्ण S3 बकेट का नाम होगा
{AwsAccoundId}-{AwsRegion}-{DataLakeBucketSuffix}
. - क्लाउडफॉर्मेशन स्टैक बनने के बाद, पर नेविगेट करें आउटपुट स्टैक का टैब और मान कैप्चर करें
DataLakeS3Bucket
अगले चरण में उपयोग करने के लिए.
डेटा फ़ाइलें बनाएं और उन्हें डेटा निर्माता खाते में Amazon S3 पर अपलोड करें
डेटा निर्माता AWS खाते में DataLakeS3BucketName पर अपलोड करने की अनुमति के साथ IAM पहचान का उपयोग करने के लिए अपने AWS CLI को कॉन्फ़िगर करें (123456789012
), या आप इसका उपयोग करके क्लाउडशेल में साइन इन कर सकते हैं एडब्ल्यूएस प्रबंधन कंसोल. निम्नलिखित चरणों को पूरा करें:
- अपनी स्थानीय मशीन पर, सीडी कमांड के साथ अपनी पसंद की निर्देशिका में जाएँ, उदाहरण के लिए,
cd ~
. - चलाएं लिपि साथ में
chmod 744 create_sample_data.sh && ./create_sample_data.sh <DataLakeS3BucketName>
.
स्क्रिप्ट एक उपनिर्देशिका बनाएगी tmp
अपनी वर्तमान कार्यशील निर्देशिका में, CSV फ़ाइलों में परीक्षण डेटा बनाएं, और फ़ाइलों को अपलोड करें DataLakeS3BucketName
S3 बाल्टी।
डेटा निर्माता खाते में लेक फॉर्मेशन सेट करें
इस अनुभाग में, हम डेटा निर्माता खाते में लेक फॉर्मेशन स्थापित करने के चरणों के बारे में जानेंगे।
लेक फॉर्मेशन क्रॉस-अकाउंट डेटा शेयरिंग संस्करण सेटिंग्स सेट करें
लेक फॉर्मेशन कई डेटा शेयरिंग संस्करणों का समर्थन करता है। इस पोस्ट के लिए, हम संस्करण 3 का उपयोग करते हैं। डेटा साझाकरण संस्करणों के बीच अंतर के बारे में अधिक जानने के लिए, देखें क्रॉस-खाता डेटा साझाकरण संस्करण सेटिंग अपडेट करना. डेटा शेयरिंग संस्करण बदलने के लिए, देखें नये संस्करण को सक्षम करने के लिए.
अमेज़ॅन S3 स्थान को डेटा लेक स्थान के रूप में पंजीकृत करें
आप जब Amazon S3 स्थान पंजीकृत करें लेक फॉर्मेशन के साथ, आप उस स्थान पर पढ़ने/लिखने की अनुमति के साथ एक IAM भूमिका निर्दिष्ट करते हैं। पंजीकरण के बाद, जब ईएमआर क्लस्टर इस अमेज़ॅन एस3 स्थान तक पहुंच का अनुरोध करते हैं, तो लेक फॉर्मेशन डेटा तक पहुंचने के लिए प्रदान की गई भूमिका के अस्थायी क्रेडेंशियल्स की आपूर्ति करेगा। हमने पहले ही भूमिका बना ली है LakeFormationCompanyDatabaseDataAccessRole
इस प्रयोजन के लिए पिछले चरण में। अमेज़ॅन S3 स्थान को डेटा लेक स्थान के रूप में पंजीकृत करने के लिए, निम्नलिखित चरणों को पूरा करें:
- डेटा निर्माता खाते में लेक फ़ॉर्मेशन डेटा लेक व्यवस्थापक के साथ लेक फ़ॉर्मेशन कंसोल खोलें (
123456789012
). - नेविगेशन फलक में, चुनें डेटा लेक लोकेशन के अंतर्गत प्रशासन.
- चुनें स्थान रजिस्टर करें.
- के लिए अमेज़न S3 पथ, दर्ज
s3://<DataLakeS3BucketName>/company-database
. - के लिए IAM भूमिका, दर्ज
LakeFormationCompanyDatabaseDataAccessRole
. - के लिए अनुमति मोड, चुनते हैं झील का निर्माण.
- चुनें स्थान रजिस्टर करें.
IAMAllowedPrincipals को दी गई अनुमतियाँ रद्द करें
RSI IAMAllowedPrincipals
समूह में कोई भी IAM उपयोगकर्ता और भूमिकाएँ शामिल हैं जिन्हें आपकी IAM नीतियों द्वारा आपके डेटा कैटलॉग संसाधनों तक पहुँच की अनुमति है। को झील निर्माण मॉडल लागू करें, हमारे लिए आवश्यक है IAMAllowedPrincipals से अनुमति रद्द करें निम्नलिखित चरणों का उपयोग करें:
- डेटा निर्माता खाते में लेक फ़ॉर्मेशन डेटा लेक व्यवस्थापक के साथ लेक फ़ॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें अनुमतियाँ के अंतर्गत डेटा लेक अनुमतियाँ.
- अनुमतियों को इसके अनुसार फ़िल्टर करें
Database = company
औरPrinciple=IAMAllowedPrinciples
. - प्रिंसिपल को दी गई सभी अनुमतियों का चयन करें
IAMAllowedPrincipals
और चुनें वापस लेना.
एप्लिकेशन एकीकरण सेटिंग्स सेट करें
ईएमआर क्लस्टर के लिए अनुमतियाँ लागू करने के लिए, आपको लेक फॉर्मेशन के साथ एक सत्र टैग मान पंजीकृत करना होगा। लेक फॉर्मेशन इस सत्र टैग का उपयोग कॉल करने वालों को अधिकृत करने और डेटा लेक तक पहुंच प्रदान करने के लिए करता है। हम पंजीकरण करते हैं Amazon EMR
सत्र टैग मान के रूप में। इस मान का संदर्भ इसमें दिया जाएगा सुरक्षा कॉन्फ़िगरेशन EMR क्लस्टर बनाते समय।
निम्नलिखित चरणों का उपयोग करके सत्र टैग सेट करें:
- डेटा निर्माता खाते में लेक फ़ॉर्मेशन डेटा लेक व्यवस्थापक के साथ लेक फ़ॉर्मेशन कंसोल खोलें।
- चुनें अनुप्रयोग एकीकरण सेटिंग्स के अंतर्गत प्रशासन नेविगेशन फलक में
- चुनते हैं लेक फॉर्मेशन के साथ पंजीकृत अमेज़न S3 स्थानों में बाहरी इंजनों को डेटा फ़िल्टर करने की अनुमति दें.
- के लिए सत्र टैग मान, दर्ज
Amazon EMR
. - के लिए AWS खाता आईडी, डेटा उपभोक्ता AWS खाता आईडी दर्ज करें (
111122223333
). - चुनें सहेजें.
डेटा उपभोक्ता खाते में डेटाबेस और तालिकाएँ साझा करें
अब हम डेटा उपभोक्ता AWS खाते को अनुमतियाँ प्रदान करते हैं, जिसमें अनुदान योग्य अनुमतियाँ भी शामिल हैं। यह डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक को खाते के भीतर डेटा तक पहुंच को नियंत्रित करने की अनुमति देता है।
डेटा उपभोक्ता खाते को डेटाबेस अनुमतियाँ प्रदान करें
निम्नलिखित चरणों को पूरा करें:
- डेटा निर्माता खाते में लेक फ़ॉर्मेशन डेटा लेक व्यवस्थापक के साथ लेक फ़ॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें डेटाबेस.
- डेटाबेस का चयन करें
company
, और पर क्रियाएँ मेनू, के अंतर्गत अनुमतियाँ, चुनें अनुदान. - में सिद्धांतों अनुभाग चुनें बाहरी खाते और डेटा उपभोक्ता AWS खाता दर्ज करें (
111122223333
). - में LF-टैग या कैटलॉग संसाधन अनुभाग चुनते हैं,
company
एसटी डेटाबेस. - में डेटाबेस अनुमतियाँ अनुभाग चुनें वर्णन करें दोंनो के लिए डेटाबेस अनुमतियाँ और अनुदान योग्य अनुमतियाँ.
यह डेटा उपभोक्ता खाते में डेटा लेक प्रशासक को डेटाबेस का वर्णन करने और डेटा उपभोक्ता खाते में अन्य प्रिंसिपलों को वर्णन अनुमतियाँ प्रदान करने की अनुमति देता है।
- चुनें अनुदान.
डेटा उपभोक्ता खाते को तालिका अनुमतियाँ प्रदान करें
निम्नलिखित चरणों को पूरा करें:
- डेटा निर्माता खाते में लेक फ़ॉर्मेशन डेटा लेक व्यवस्थापक के साथ लेक फ़ॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें टेबल्स.
- चयन
products
तालिका, जो से संबंधित हैcompany
डेटाबेस, और पर क्रियाएँ मेनू, के अंतर्गत अनुमतियाँ, चुनें अनुदान. - में सिद्धांतों अनुभाग चुनें बाहरी खाते और डेटा उपभोक्ता AWS खाते में दर्ज करें (
111122223333
). - में LF-टैग या कैटलॉग संसाधन अनुभाग चुनें नामित डेटा कैटलॉग संसाधन और निम्नलिखित निर्दिष्ट करें:
- के लिए डेटाबेस, चुनें
company
. - के लिए टेबल्स, चुनें
products
औरemployees
.
- के लिए डेटाबेस, चुनें
- में टेबल की अनुमति अनुभाग चुनते हैं, चुनते हैं और वर्णन करें दोंनो के लिए टेबल की अनुमति और अनुदान योग्य अनुमतियाँ.
यह डेटा उपभोक्ता खाते में डेटा लेक प्रशासक को तालिकाओं का चयन करने और उनका वर्णन करने की अनुमति देता है, और डेटा उपभोक्ता खाते में अन्य प्रिंसिपलों को तालिका का चयन और वर्णन करने की अनुमति देता है।
- में डेटा अनुमतियाँ अनुभाग चुनें सभी डेटा एक्सेस.
- चुनें अनुदान.
अब हमने डेटा निर्माता खाता स्थापित करना पूरा कर लिया है।
डेटा उपभोक्ता खाते में बुनियादी ढाँचा स्थापित करें
बुनियादी ढाँचे के संसाधन बनाने के लिए निम्नलिखित चरणों को पूरा करें:
- डेटा उपभोक्ता खाते में लॉग इन करें (
111122223333
). - चुनें लॉन्च स्टैक आवश्यक संसाधन बनाने के लिए क्लाउडफॉर्मेशन टेम्पलेट तैनात करना।
- के लिए रिलीज़ लेबल, उपयोग करने के लिए अमेज़ॅन ईएमआर रिलीज़ लेबल दर्ज करें, जो केवल ईएमआर-6.11 या उससे अधिक हो सकता है।
- के लिए इंस्टेंस टाइप, EMR क्लस्टर के लिए इंस्टेंस प्रकार चुनें, जैसे कि r4.4xlarge।
- के लिए EMRS3BucketNameSuffix, EMR क्लस्टर लॉग और EMR नोटबुक फ़ाइलों को संग्रहीत करने के लिए S3 बकेट प्रत्यय दर्ज करें। बनाया जाने वाला पूरा S3 बकेट नाम होगा
{AWSAccoundId}-{AWSRegion}-{EMRS3BucketNameSuffix}
. - के लिए S3PathToInTransitसर्टिफिकेट, .zip फ़ाइल के लिए S3 पथ दर्ज करें जिसमें इन-ट्रांजिट एन्क्रिप्शन के लिए उपयोग की जाने वाली .pem फ़ाइलें शामिल हैं।
.pem फ़ाइलों वाली .zip फ़ाइल बनाने और उन्हें अपने S3 बकेट में अपलोड करने के निर्देशों के लिए, देखें अमेज़ॅन ईएमआर एन्क्रिप्शन के साथ ट्रांज़िट में डेटा एन्क्रिप्ट करने के लिए प्रमाणपत्र प्रदान करना.
- क्लाउडफॉर्मेशन स्टैक बनने के बाद, पर नेविगेट करें आउटपुट ढेर का टैब।
- का मान कैप्चर करें
EMRStudioLink
ईएमआर स्टूडियो में साइन इन करने के लिए उपयोग करें।
डेटा उपभोक्ता खाते में संसाधन हिस्सेदारी स्वीकार करें
साझा संसाधनों तक पहुँचने के लिए, आपको पहले निमंत्रण स्वीकार करना होगा।
- IAM पहचान के साथ डेटा उपभोक्ता खाते का AWS RAM कंसोल खोलें जिसमें AWS RAM पहुंच है।
- नेविगेशन फलक में, चुनें संसाधन शेयर के अंतर्गत मेरे साथ बांटा.
आपको डेटा निर्माता खाते से दो लंबित संसाधन शेयर देखने चाहिए।
- दोनों संसाधन शेयर स्वीकार करें.
आपको यह देखना चाहिए company
डेटाबेस, employees
टेबल, और products
डेटा कैटलॉग में तालिका।
डेटा उपभोक्ता खाते में लेक फॉर्मेशन सेट करें
इस अनुभाग में, हम डेटा उपभोक्ता खाते में लेक फॉर्मेशन स्थापित करने के चरणों के बारे में जानेंगे।
एप्लिकेशन एकीकरण सेटिंग्स सेट करें
डेटा निर्माता खाते में सेटअप के समान, आपको अमेज़ॅन ईएमआर को एक सत्र टैग के रूप में पंजीकृत करना होगा। यह मान इसमें संदर्भित है सुरक्षा कॉन्फ़िगरेशन CloudFormation स्टैक में EMR क्लस्टर बनाते समय।
ऐसा करने के लिए, निम्नलिखित चरणों को पूरा करें:
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक के साथ लेक फॉर्मेशन कंसोल खोलें (
111122223333
). - चुनें अनुप्रयोग एकीकरण सेटिंग्स के अंतर्गत प्रशासन नेविगेशन फलक में
- चुनते हैं लेक फॉर्मेशन के साथ पंजीकृत अमेज़न S3 स्थानों में बाहरी इंजनों को डेटा फ़िल्टर करने की अनुमति दें.
- के लिए सत्र टैग मान, दर्ज
Amazon EMR
. - के लिए AWS खाता आईडी, डेटा उपभोक्ता AWS खाता आईडी दर्ज करें (
111122223333
). - चुनें सहेजें.
अनुदान डिफ़ॉल्ट डेटाबेस पर रनटाइम भूमिकाओं के लिए अनुमतियों का वर्णन करता है
यदि आपके पास लेक फॉर्मेशन में कोई डिफ़ॉल्ट डेटाबेस नहीं है, या आपके डिफ़ॉल्ट डेटाबेस में पहले से ही अनुमति देने की अनुमति है IAMAllowedPrinciples
, आप इस चरण को छोड़ सकते हैं।
अमेज़ॅन ईएमआर डिफ़ॉल्ट डेटाबेस पर डिफ़ॉल्ट रूप से जांच करेगा। यदि आपके लेक फॉर्मेशन में पहले से ही एक डिफ़ॉल्ट डेटाबेस है, तो निम्नलिखित चरणों को पूरा करके डिफ़ॉल्ट डेटाबेस पर रनटाइम भूमिकाओं के लिए वर्णन की अनुमति प्रदान करें:
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक उपयोगकर्ता के साथ लेक फॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें डेटाबेस.
- डिफ़ॉल्ट डेटाबेस का चयन करें, सत्यापित करें कि स्वामी खाता आईडी डेटा उपभोक्ता खाता है (
111122223333
), और पर क्रियाएँ मेनू, चुनें अनुदान. - में सिद्धांत अनुभाग, चुनते हैं IAM उपयोगकर्ता और भूमिकाएँ.
- के लिए IAM उपयोगकर्ता और भूमिकाएँ, चुनें
sales-runtime-role
औरhuman-resource-runtime-role
. - के लिए LF-टैग या कैटलॉग संसाधन, चुनते हैं नामित डेटा कैटलॉग संसाधन और इसके लिए डिफ़ॉल्ट चुनें डेटाबेस.
- में डेटाबेस अनुमतियाँ अनुभाग, के लिए डेटाबेस अनुमतियाँ, चुनें वर्णन करें.
- चुनें अनुदान.
साझा डेटाबेस के लिए एक संसाधन लिंक बनाएं
डेटा निर्माता AWS खाते द्वारा साझा किए गए डेटाबेस और तालिका संसाधनों तक पहुंचने के लिए, आपको एक बनाना होगा संसाधन लिंक डेटा उपभोक्ता AWS खाते में। संसाधन लिंक एक डेटा कैटलॉग ऑब्जेक्ट है जो स्थानीय या साझा डेटाबेस या तालिका का लिंक है। किसी डेटाबेस या तालिका के लिए संसाधन लिंक बनाने के बाद, आप संसाधन लिंक नाम का उपयोग वहां भी कर सकते हैं जहां आप डेटाबेस या तालिका नाम का उपयोग करेंगे। इस चरण में, आप रनटाइम भूमिका सिद्धांतों के संसाधन लिंक पर अनुमति देते हैं। रनटाइम भूमिकाएँ संसाधन लिंक के माध्यम से साझा डेटाबेस और अंतर्निहित तालिकाओं में डेटा तक पहुँच प्राप्त करेंगी।
संसाधन लिंक बनाने के लिए, निम्नलिखित चरणों को पूरा करें:
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक के साथ लेक फॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें डेटाबेस.
- चयन
company
डेटाबेस, सत्यापित करें कि स्वामी खाता आईडी डेटा निर्माता खाता है (123456789012
), और पर क्रियाएँ मेनू, चुनें संसाधन लिंक बनाएं. - के लिए संसाधन लिंक का नाम, संसाधन लिंक का नाम दर्ज करें (उदाहरण के लिए,
company-shared
). - के लिए साझा डेटाबेस का क्षेत्र, का क्षेत्र चुनें
company
डेटाबेस। - के लिए साझा डेटाबेस, कंपनी डेटाबेस चुनें।
- के लिए साझा डेटाबेस का स्वामी आईडी, डेटा निर्माता खाते की खाता आईडी दर्ज करें (
123456789012
). - चुनें बनाएं.
रनटाइम भूमिका सिद्धांत के लिए संसाधन लिंक पर अनुमतियाँ प्रदान करें
निम्नलिखित चरणों का उपयोग करके विक्रय-रनटाइम-भूमिका और मानव-संसाधन-रनटाइम-भूमिका के संसाधन लिंक पर अनुमतियाँ प्रदान करें:
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक के साथ लेक फॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें डेटाबेस.
- संसाधन लिंक का चयन करें (
company-shared
) और पर क्रियाएँ मेनू, चुनें अनुदान. - में सिद्धांतों अनुभाग चुनें IAM उपयोगकर्ता और भूमिकाएँ, और चुनें
sales-runtime-role
औरhuman-resource-runtime-role
. - में LF-टैग या कैटलॉग संसाधन अनुभाग, के लिए डेटाबेस, चुनें
company-shared
. - में संसाधन लिंक अनुमतियाँ अनुभाग चुनें वर्णन करें.
यह रनटाइम भूमिकाओं को संसाधन लिंक का वर्णन करने की अनुमति देता है। हम अनुदान योग्य अनुमतियों के लिए कोई चयन नहीं करते क्योंकि रनटाइम भूमिकाएँ अन्य सिद्धांतों को अनुमतियाँ देने में सक्षम नहीं होनी चाहिए।
- चुनें अनुदान.
रनटाइम भूमिका सिद्धांत के लिए तालिकाओं पर अनुमति प्रदान करें
आपको तालिकाओं पर अनुमतियाँ देने की आवश्यकता है sales-runtime-role
और human-resource-runtime-role
डेटा एक्सेस की अनुमति देने के लिए:
Human-resource-runtime-role
में सभी कॉलमों पर अनुमतियों का वर्णन और चयन करना चाहिएemployees
तालिका, और इस पर कोई अनुमति नहीं हैproducts
तालिका.Sales-runtime-role
कॉलम पर चयन अनुमतियाँ होनी चाहिएuid
,name
, तथाdepartment
मेंemployees
तालिका, और सभी स्तंभों पर अनुमतियों का वर्णन और चयन करेंproducts
तालिका.
मानव-संसाधन-रनटाइम-भूमिका के लिए कर्मचारी तालिका पर अनुमति प्रदान करें
निम्नलिखित चरणों को पूरा करें:
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक के साथ लेक फॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें डेटाबेस.
- संसाधन लिंक का चयन करें (
company-shared
) और पर क्रियाएँ मेनू, चुनें लक्ष्य पर अनुदान. - में सिद्धांत अनुभाग, चुनते हैं IAM उपयोगकर्ता और भूमिकाएँ, उसके बाद चुनो
human-resource-runtime-role
. - में LF-टैग या कैटलॉग संसाधन अनुभाग चुनें नामित डेटा कैटलॉग संसाधन और निम्नलिखित निर्दिष्ट करें:
- के लिए डेटाबेस, चुनें
company
. - के लिए टेबल्सचुनें
employees
.
- के लिए डेटाबेस, चुनें
- में टेबल की अनुमति अनुभाग, के लिए टेबल की अनुमति, चुनते हैं वर्णन करें और चुनते हैं.
- में डेटा अनुमतियाँ अनुभाग चुनें सभी डेटा एक्सेस.
- चुनें अनुदान.
सेल्स-रनटाइम-रोल के लिए कर्मचारी तालिका पर अनुमति प्रदान करें
निम्नलिखित चरणों को पूरा करें:
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक के साथ लेक फॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें डेटाबेस.
- संसाधन लिंक का चयन करें (
company-shared
) और पर क्रियाएँ मेनू, चुनें लक्ष्य पर अनुदान. - में सिद्धांत अनुभाग, चुनते हैं IAM उपयोगकर्ता और भूमिकाएँ, उसके बाद चुनो
sales-runtime-role
. - में LF-टैग या कैटलॉग संसाधन अनुभाग चुनें नामित डेटा कैटलॉग संसाधन और निम्नलिखित निर्दिष्ट करें:
- के लिए डेटाबेस, चुनें
company
. - के लिए टेबल्स, चुनें
employees
.
- के लिए डेटाबेस, चुनें
- में टेबल की अनुमति अनुभाग, के लिए टेबल की अनुमति, चुनते हैं चुनते हैं.
- में डेटा अनुमतियाँ अनुभाग चुनें कॉलम-आधारित पहुंच.
- चुनते हैं कॉलम शामिल करें और चुनिए
uid
,name
, तथाdepartment
कॉलम। - चुनें अनुदान.
बिक्री-रनटाइम-भूमिका के लिए उत्पाद तालिका पर अनुमति प्रदान करें
निम्नलिखित चरणों को पूरा करें:
- डेटा उपभोक्ता खाते में लेक फॉर्मेशन डेटा लेक प्रशासक के साथ लेक फॉर्मेशन कंसोल खोलें।
- नेविगेशन फलक में, चुनें डेटाबेस.
- संसाधन लिंक का चयन करें (
company-shared
) और पर क्रियाएँ मेनू, चुनें लक्ष्य पर अनुदान. - में सिद्धांत अनुभाग, चुनते हैं IAM उपयोगकर्ता और भूमिकाएँ, उसके बाद चुनो
sales-runtime-role
. - में LF-टैग या कैटलॉग संसाधन अनुभाग चुनें नामित डेटा कैटलॉग संसाधन और निम्नलिखित निर्दिष्ट करें:
- के लिए डेटाबेस, चुनें
company
. - के लिए टेबल्स, चुनें
products
.
- के लिए डेटाबेस, चुनें
- में टेबल की अनुमति अनुभाग, के लिए टेबल की अनुमति, चुनते हैं चुनते हैं और वर्णन करें.
- में डेटा अनुमतियाँ अनुभाग चुनें सभी डेटा एक्सेस.
- चुनें अनुदान.
ईएमआर स्टूडियो में लॉग इन करें और ईएमआर स्टूडियो वर्कस्पेस का उपयोग करें
अपनी भूमिका बदलें सेवा मेरे alice-role
or bob-role
पहुंच का परीक्षण करने के लिए विभिन्न वेब ब्राउज़रों का उपयोग करके कंसोल पर। खोलें EMRStudioLink
प्रत्येक भूमिका के साथ ईएमआर स्टूडियो में साइन इन करने के लिए क्लाउडफॉर्मेशन स्टैक आउटपुट से यूआरएल, फिर निम्नलिखित चरणों को पूरा करें:
- चुनें कार्यस्थानों नेविगेशन फलक में और चुनें कार्यक्षेत्र बनाएँ.
- कार्यस्थान के लिए एक नाम और विवरण दर्ज करें.
- चुनें कार्यक्षेत्र बनाएँ.
वर्कस्पेस तैयार होने पर ज्यूपिटरलैब वाला एक नया टैब अपने आप खुल जाएगा। यदि आवश्यक हो तो अपने ब्राउज़र में पॉप-अप सक्षम करें।
- को चुना गणना करना ईएमआर स्टूडियो वर्कस्पेस को कंप्यूट इंजन के साथ संलग्न करने के लिए नेविगेशन फलक में आइकन।
- चुनते हैं EC2 पर EMR क्लस्टर एसटी गणना प्रकार.
- AWS CloudFormation के साथ बनाई गई EMR क्लस्टर आईडी चुनें।
- के लिए रनटाइम भूमिका, चुनें
sales-runtime-role
यदि के रूप में साइन इन किया गया हैalice-role
। चुननाhuman-resource-runtime-role
यदि के रूप में साइन इन किया गया हैbob-role
. - चुनें जोड़ना.
EMR स्टूडियो वर्कस्पेस में कोड चलाएँ और डेटा एक्सेस सत्यापित करें
ऐलिस-रोल या बॉब-रोल के साथ साइन इन करने के बाद EMR स्टूडियो वर्कस्पेस में PySpark कर्नेल के साथ निम्नलिखित कोड चलाएँ:
विभिन्न भूमिकाओं का उपयोग करते समय आपको अलग-अलग परिणाम देखने चाहिए।
लेक फॉर्मेशन में हमारे डेटा एक्सेस कॉन्फ़िगरेशन के अनुसार, ऐलिस के पास पूर्ण डेटा एक्सेस होगा products
मेज़। वह इसमें वेतन को छोड़कर सभी कॉलम देख सकती है employees
तालिका.
बॉब के लिए, लेक फॉर्मेशन में हमारे डेटा एक्सेस कॉन्फ़िगरेशन के अनुसार, उसके पास पूर्ण डेटा एक्सेस होगा employees
टेबल, लेकिन उसकी उस तक पहुंच नहीं है products
तालिका.
क्लीन अप
जब आप इस समाधान के साथ प्रयोग करना समाप्त कर लें, तो अपने संसाधनों को साफ़ करें:
- डेटा उपभोक्ता AWS खाते में बनाए गए EMR स्टूडियो वर्कस्पेस को रोकें और हटाएं।
- S3 बकेट में सभी सामग्री हटाएँ
EMRS3Bucket
डेटा उपभोक्ता AWS खाते में। - डेटा उपभोक्ता AWS खाते में क्लाउडफ़ॉर्मेशन स्टैक हटाएं।
- S3 बकेट में सभी सामग्री हटाएँ
DataLakeS3Bucket
डेटा निर्माता AWS खाते में। - डेटा निर्माता AWS खाते में क्लाउडफ़ॉर्मेशन स्टैक हटाएं।
निष्कर्ष
इस पोस्ट में दिखाया गया है कि आप लेक फॉर्मेशन के साथ क्रॉस-अकाउंट फाइन-ग्रेन्ड डेटा एक्सेस कंट्रोल लागू करने के लिए अमेज़ॅन ईएमआर के साथ ईएमआर स्टूडियो वर्कस्पेस से कनेक्ट करने के लिए रनटाइम भूमिकाओं का उपयोग कैसे कर सकते हैं। हमने यह भी प्रदर्शित किया कि कैसे कई ईएमआर स्टूडियो उपयोगकर्ता एक ही ईएमआर क्लस्टर से जुड़ सकते हैं, प्रत्येक डेटा तक पहुंच के अपने व्यक्तिगत स्तर से मेल खाने वाली अनुमतियों के साथ रनटाइम भूमिका का उपयोग करता है।
लेक फॉर्मेशन के साथ ईएमआर स्टूडियो वर्कस्पेस का उपयोग करने के बारे में अधिक जानने के लिए, देखें रनटाइम भूमिका के साथ EMR स्टूडियो वर्कस्पेस चलाएँ. हम आपको इस नई कार्यक्षमता को आज़माने के लिए प्रोत्साहित करते हैं, और यदि आपके पास कोई प्रश्न या प्रतिक्रिया है तो हमसे जुड़ें!
लेखक के बारे में
एशले झोउ AWS में सॉफ्टवेयर डेवलपमेंट इंजीनियर हैं। वह डेटा एनालिटिक्स और वितरित सिस्टम में रुचि रखती है।
श्रीविद्या पार्थसारथी AWS लेक फॉर्मेशन टीम में सीनियर बिग डेटा आर्किटेक्ट हैं। उन्हें AWS पर एनालिटिक्स और डेटा मेश समाधान बनाने और उन्हें समुदाय के साथ साझा करने में आनंद आता है।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोडेटा.नेटवर्क वर्टिकल जेनरेटिव एआई। स्वयं को शक्तिवान बनाएं। यहां पहुंचें।
- प्लेटोआईस्ट्रीम। Web3 इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- प्लेटोईएसजी. कार्बन, क्लीनटेक, ऊर्जा, पर्यावरण, सौर, कचरा प्रबंधन। यहां पहुंचें।
- प्लेटोहेल्थ। बायोटेक और क्लिनिकल परीक्षण इंटेलिजेंस। यहां पहुंचें।
- स्रोत: https://aws.amazon.com/blogs/big-data/use-iam-runtime-roles-with-amazon-emr-studio-workspaces-and-aws-lake-formation-for-cross-account-fine-grained-access-control/
- :हैस
- :है
- :नहीं
- $यूपी
- 100
- 107
- 11
- 20
- 7
- 8
- a
- योग्य
- About
- स्वीकार करें
- पहुँच
- डेटा तक पहुंच
- पहुँचा
- सुलभ
- अनुसार
- लेखा
- अकौन्टस(लेखा)
- के पार
- बाद
- शॉट
- सब
- अनुमति देना
- की अनुमति दी
- की अनुमति देता है
- पहले ही
- भी
- वीरांगना
- अमेज़ॅन EC2
- अमेज़ॅन ईएमआर
- अमेज़ॅन वेब सेवा
- an
- विश्लेषण
- विश्लेषिकी
- और
- कोई
- अपाचे
- अपाचे स्पार्क
- आवेदन
- अनुप्रयोगों
- लागू करें
- स्थापत्य
- हैं
- AS
- At
- संलग्न करना
- को अधिकृत
- स्वतः
- एडब्ल्यूएस
- एडब्ल्यूएस CloudFormation
- एडब्ल्यूएस गोंद
- AWS झील निर्माण
- BE
- क्योंकि
- अंतर्गत आता है
- के बीच
- बड़ा
- बड़ा डेटा
- अनाज
- के छात्रों
- ब्राउज़र
- ब्राउज़रों
- इमारत
- लेकिन
- by
- कर सकते हैं
- कब्जा
- सूची
- वर्ग
- CD
- प्रमाण पत्र
- परिवर्तन
- चेक
- चुनाव
- चुनें
- स्वच्छ
- समूह
- कोड
- स्तंभ
- समुदाय
- कंपनी
- कंपनी का है
- पूरा
- पूरा
- गणना करना
- विन्यास
- जुडिये
- जोड़ता है
- विचार करना
- होते हैं
- कंसोल
- उपभोक्ता
- शामिल हैं
- सामग्री
- नियंत्रण
- बनाना
- बनाया
- बनाना
- साख
- वर्तमान
- तिथि
- डेटा प्राप्त करना
- डेटा विश्लेषण
- डेटा विश्लेषण
- डेटा लेक
- डेटा विज्ञान
- आँकड़े वाला वैज्ञानिक
- डेटा साझा करना
- डाटाबेस
- डेटाबेस
- चूक
- परिभाषित
- दिखाना
- साबित
- विभाग
- तैनात
- वर्णन
- विवरण
- विकसित करना
- विकास
- मतभेद
- विभिन्न
- सीधे
- वितरित
- वितरित प्रणाली
- do
- नहीं करता है
- dont
- नीचे
- से प्रत्येक
- कर्मचारी
- कर्मचारियों
- सक्षम
- समर्थकारी
- प्रोत्साहित करना
- एन्क्रिप्शन
- लागू करना
- इंजन
- इंजीनियर
- अभियांत्रिकी
- इंजीनियर्स
- इंजन
- दर्ज
- उद्यम
- वातावरण
- ईथर (ईटीएच)
- उदाहरण
- सिवाय
- समझाना
- बाहरी
- पट्टिका
- फ़ाइलें
- फ़िल्टर
- प्रथम
- निम्नलिखित
- इस प्रकार है
- के लिए
- निर्माण
- से
- पूर्ण
- पूरी तरह से
- कार्यक्षमता
- दी
- Go
- को नियंत्रित करता है
- अनुदान
- दी गई
- समूह
- था
- खुश
- है
- he
- मदद करता है
- कैसे
- How To
- एचटीएमएल
- http
- HTTPS
- मानव
- मानवीय संसाधन
- मानव संसाधन
- आई ए एम
- ID
- पहचान
- if
- दिखाता है
- कार्यान्वित
- in
- शामिल
- सहित
- व्यक्ति
- करें-
- इंफ्रास्ट्रक्चर
- उदाहरण
- निर्देश
- एकीकृत
- एकीकरण
- रुचि
- परिचय कराना
- निमंत्रण
- IT
- नौकरियां
- जेपीजी
- लेबल
- झील
- झीलों
- बड़ा
- बड़े उद्यम
- लांच
- जानें
- स्तर
- सीमा
- LINK
- लिंक
- स्थानीय
- स्थान
- स्थानों
- मशीन
- बनाना
- बनाता है
- प्रबंधन
- कामयाब
- प्रबंध
- प्रबंधन करता है
- बहुत
- मिलान
- तंत्र
- मेन्यू
- जाल
- हो सकता है
- अधिक
- चाल
- विभिन्न
- चाहिए
- नाम
- नामांकित
- नेविगेट करें
- पथ प्रदर्शन
- आवश्यक
- आवश्यकता
- जरूरत
- नया
- अगला
- नहीं
- नोटबुक
- पुस्तिकाओं
- अभी
- वस्तु
- of
- अक्सर
- on
- केवल
- खुला
- परिचालन
- or
- अन्य
- हमारी
- आउट
- उत्पादन
- मालिक
- फलक
- पथ
- अपूर्ण
- अनुमति
- अनुमतियाँ
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- नीतियाँ
- पद
- बिजली
- आवश्यक शर्तें
- पिछला
- प्रिंसिपल
- प्रिंसिपलों
- सिद्धांत
- सिद्धांतों
- उत्पादक
- एस्ट्रो मॉल
- उत्पाद
- प्रोफाइल
- प्रोफाइल
- प्रदान करना
- बशर्ते
- प्रदान करता है
- उद्देश्य
- अजगर
- प्रश्नों
- प्रशन
- R
- रैम
- कच्चा
- कच्चा डेटा
- तैयार
- को कम करने
- उल्लेख
- क्षेत्र
- रजिस्टर
- पंजीकृत
- पंजीकरण
- और
- का अनुरोध
- संसाधन
- उपयुक्त संसाधन चुनें
- परिणाम
- परिणाम
- भूमिका
- भूमिकाओं
- रन
- दौड़ना
- वेतन
- विक्रय
- वही
- स्काला
- विज्ञान
- वैज्ञानिक
- वैज्ञानिकों
- लिपि
- अनुभाग
- वर्गों
- देखना
- चयनित
- वरिष्ठ
- अलग
- सर्वर
- सेवाएँ
- सत्र
- सेट
- की स्थापना
- सेटिंग्स
- व्यवस्था
- Share
- साझा
- शेयरों
- बांटने
- वह
- चाहिए
- पता चला
- हस्ताक्षर
- पर हस्ताक्षर किए
- पर हस्ताक्षर
- सरल
- एक
- सॉफ्टवेयर
- सॉफ्टवेयर विकास
- बेचा
- समाधान
- समाधान ढूंढे
- सूत्रों का कहना है
- स्पार्क
- धुआँरा
- कदम
- कदम
- भंडारण
- की दुकान
- संग्रहित
- भंडार
- सरल
- स्टूडियो
- प्रस्तुत
- ऐसा
- आपूर्ति
- समर्थन करता है
- सिस्टम
- तालिका
- टैग
- टीम
- टेम्पलेट
- अस्थायी
- परीक्षण
- कि
- RSI
- लेकिन हाल ही
- उन
- फिर
- इसलिये
- इसका
- उन
- यहाँ
- समय
- सेवा मेरे
- उपकरण
- पारगमन
- कोशिश
- दो
- टाइप
- आम तौर पर
- ui
- के अंतर्गत
- आधारभूत
- अपलोड हो रहा है
- यूआरएल
- us
- उपयोग
- प्रयुक्त
- उपयोगकर्ता
- उपयोगकर्ताओं
- का उपयोग करता है
- का उपयोग
- मूल्य
- सत्यापित
- संस्करण
- के माध्यम से
- देखें
- कल्पना
- चलना
- we
- वेब
- वेब ब्राउज़र्स
- वेब सेवाओं
- थे
- कब
- कौन कौन से
- पूरा का पूरा
- मर्जी
- साथ में
- अंदर
- काम कर रहे
- होगा
- लिखना
- लिखा हुआ
- यमलो
- इसलिए आप
- आपका
- जेफिरनेट
- ज़िप