सीडीपी डेटा सुरक्षा प्रबंधन के लिए अपाचे रेंजर का उपयोग कर रहा है। यदि आप एक केंद्रीकृत सुरक्षा प्रशासन के लिए रेंजर का उपयोग करना चाहते हैं, तो HBase ACL को नीतियों में माइग्रेट करने की आवश्यकता है। यह रेंजर वेबयूआई के माध्यम से किया जा सकता है, जिसे क्लौडेरा मैनेजर से एक्सेस किया जा सकता है। लेकिन पहले, आइए अभिगम नियंत्रण के लिए HBase पद्धति का एक त्वरित अवलोकन करें।
HBase प्राधिकरण
यदि प्राधिकरण सेट किया गया है (उदाहरण के लिए केर्बरोस के साथ और hbase.security.authorization सेट करना संपत्ति सत्य ), उपयोगकर्ताओं के पास उन संसाधनों पर परिभाषित नियम हो सकते हैं जिन्हें एक्सेस करने की उन्हें अनुमति है। इन नियमों को एक तालिका में अलग-अलग तालिकाओं, स्तंभों और कक्षों के लिए परिभाषित किया जा सकता है।
HBase एक्सेस लेवल
HBase एक्सेस स्तर एक-दूसरे से स्वतंत्र रूप से दिए जाते हैं और किसी दिए गए दायरे में विभिन्न प्रकार के संचालन की अनुमति देते हैं।
संभावित अनुमतियां ("आरडब्ल्यूएक्ससीए" सेट से शून्य या अधिक अक्षर):
- पढ़ें (R) - दिए गए दायरे में डेटा पढ़ सकते हैं
- लिखें (W) - दिए गए दायरे में डेटा लिख सकते हैं
- निष्पादित (X) - दिए गए दायरे में सहसंसाधक समापन बिंदु निष्पादित कर सकते हैं
- बनाएं (C) - दिए गए दायरे में टेबल या ड्रॉप टेबल बना सकते हैं
- व्यवस्थापक (A) - क्लस्टर संचालन कर सकता है जैसे कि क्लस्टर को संतुलित करना या दिए गए दायरे में क्षेत्र निर्दिष्ट करना
संभावित क्षेत्र:
- Superuser - Superuser किसी भी संसाधन के लिए HBase में उपलब्ध कोई भी ऑपरेशन कर सकते हैं। आपके क्लस्टर पर HBase चलाने वाला उपयोगकर्ता एक सुपरयुसर है। कॉन्फ़िगरेशन प्रॉपर्टी को असाइन किया गया कोई भी प्रिंसिपल hbase.superuser hbase-site.xml . में HMaster पर कॉन्फ़िगरेशन फ़ाइल भी सुपरयूज़र हैं।
- वैश्विक - वैश्विक दायरे में दी गई अनुमतियां व्यवस्थापक को क्लस्टर के सभी तालिकाओं पर काम करने की अनुमति देती हैं।
- नेमस्पेस - नेमस्पेस स्कोप पर दी गई अनुमतियां किसी दिए गए नेमस्पेस के भीतर सभी टेबल पर लागू होती हैं।
- तालिका - तालिका के दायरे में दी गई अनुमतियां किसी तालिका में डेटा या मेटाडेटा पर लागू होती हैं।
- ColumnFamily - ColumnFamily दायरे में दी गई अनुमतियां उस ColumnFamily के कक्षों पर लागू होती हैं।
- सेल - सेल स्कोप पर दी गई अनुमतियां उस सटीक सेल कोऑर्डिनेट पर लागू होती हैं।
HBase ACL का निर्यात करना
1. HBase सेवा क्रेडेंशियल के साथ Kerberos के माध्यम से लॉगिन करें।
2. hbase शेल लॉन्च करें और ACL को सूचीबद्ध करें।
एसीएल को सूचीबद्ध करने के लिए निम्नलिखित कमांड का उपयोग करें:
- user_permission '.*'
- वैकल्पिक रूप से सुपरयूज़र विशेषाधिकार के साथ:'hbase:acl' स्कैन करें
स्कैन 'hbase:acl': . का उदाहरण आउटपुट
पंक्ति कॉलम+सेल
emp column=l:hbase, timestamp=1612190971868, value=RWXCA emp2 column=l:hbase, timestamp=1612191218963, value=RWXCA emp2 column=l:user1, timestamp=1612191426624, value=RWC emp column=l:test,personal data, timestamp=1612273141925, value=RW emp column=l:test,personal data,1, timestamp=1612273322678, value=RW emp column=l:@group-usr,personal data,1, timestamp=1612273324527, value=RW
user_permission '.*': . का उदाहरण आउटपुट
User Namespace,Table,Family,Qualifier:Permission hbase default,emp,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN] user1 default,emp2,,: [Permission: actions=READ,WRITE,CREATE] hbase default,emp2,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN] test default,emp,personal data,: [Permission: actions=READ,WRITE] test default,emp,personal data,1: [Permission: actions=READ,WRITE] @group-usr default,emp,personal data,1: [Permission: actions=READ,WRITE]
नोट: समूहों और उपयोगकर्ताओं को एक ही तरह से पहुंच प्रदान की जाती है, लेकिन समूह '@' वर्ण के साथ उपसर्ग करते हैं। टेबल्स और नेमस्पेस एक ही तरह से निर्दिष्ट होते हैं, लेकिन नेमस्पेस एक '@' कैरेक्टर के साथ प्रीफ़िक्स में होते हैं।
सेल स्तर की अनुमति के लिए उदाहरण:
test default,emp,personal data,1: [Permission: actions=READ,WRITE]
'परीक्षा' उपयोगकर्ता के पास 'डिफ़ॉल्ट' . पर RW अनुमतियाँ हैं नाम स्थान, टेबल पर 'emp' , कॉलम ‘व्यक्तिगत डेटा’ और पंक्ति ‘1’..
रेंजर नीतियां बनाना
- क्लौडेरा प्रबंधक में, रेंजर सेवा का चयन करें।
- वेबयूआईढूंढें लिंक जो आपको रेंजर यूआई पर पुनर्निर्देशित करता है।
- रेंजर UI में लॉग इन करें।
पहुँच प्रबंधक पृष्ठ प्रदर्शित:
1. मौजूदा HBase सेवा का चयन करें।
नीतियों की सूची पृष्ठ प्रकट होता है।
2. नई नीति जोड़ें Click क्लिक करें .
नीति बनाएँ पृष्ठ प्रकट होता है।
3. नीति बनाएं पृष्ठ को निम्नानुसार पूरा करें:
3.1 नीति विवरण
नीति का नाम | एक उपयुक्त नीति नाम दर्ज करें। इस नाम को पूरे सिस्टम में दोहराया नहीं जा सकता है। यह फ़ील्ड अनिवार्य है। |
नीति लेबल | इस नीति के लिए एक लेबल निर्दिष्ट करें। आप इन लेबलों के आधार पर रिपोर्ट खोज सकते हैं और नीतियों को फ़िल्टर कर सकते हैं। |
सामान्य/ओवरराइड | आपको ओवरराइड नीति निर्दिष्ट करने में सक्षम बनाता है। जब ओवरराइड का चयन किया जाता है, तो नीति में पहुँच अनुमतियाँ मौजूदा नीतियों में पहुँच अनुमतियों को ओवरराइड करती हैं। मौजूदा नीतियों को ओवरराइड करने वाली अस्थायी पहुंच नीतियां बनाने के लिए इस सुविधा का उपयोग वैधता अवधि जोड़ें के साथ किया जा सकता है। |
HBase तालिका | उपयुक्त डेटाबेस का चयन करें। किसी विशेष नीति के लिए एकाधिक डेटाबेस का चयन किया जा सकता है। यह फ़ील्ड अनिवार्य है। |
HBase स्तम्भ-परिवार | चयनित तालिका के लिए, उन कॉलम परिवारों को निर्दिष्ट करें जिन पर नीति लागू होती है। |
HBase स्तम्भ | चयनित तालिका और स्तंभ परिवारों के लिए, वे स्तंभ निर्दिष्ट करें जिन पर नीति लागू होती है। |
विवरण | (वैकल्पिक) नीति के उद्देश्य का वर्णन करें। |
ऑडिट लॉगिंग | निर्दिष्ट करें कि क्या इस नीति का ऑडिट किया गया है। (ऑडिटिंग अक्षम करने के लिए अचयनित करें)। |
वैधता अवधि जोड़ें | नीति के लिए प्रारंभ और समाप्ति समय निर्दिष्ट करें। |
3.2 शर्तों की अनुमति दें/अस्वीकार करें
अपाचे रेंजर निम्नलिखित पहुंच शर्तों का समर्थन करता है:
- अनुमति दें
- अनुमति से बाहर करें
- अस्वीकार करें
- अस्वीकार करें
ये एक्सेस शर्तें आपको अच्छी पहुंच नियंत्रण नीतियां सेट करने में सक्षम बनाती हैं।
उदाहरण के लिए, आप वित्त . तक पहुंच की अनुमति दे सकते हैं वित्त . में सभी उपयोगकर्ताओं के लिए तालिका समूह, लेकिन इंटर्न . में सभी उपयोगकर्ताओं तक पहुंच से इनकार करते हैं समूह। मान लें कि इंटर्न . के सदस्यों में से एक समूह, स्कॉट , को एक असाइनमेंट पर काम करने की आवश्यकता है जिसके लिए वित्त . तक पहुंच की आवश्यकता है टेबल। उस स्थिति में, आप इनकार से बहिष्कृत करें शर्त जोड़ सकते हैं जो उपयोगकर्ता को scott . की अनुमति देगा वित्त . तक पहुंचने के लिए डेटाबेस।
भूमिका चुनें | उन भूमिकाओं को निर्दिष्ट करें जिन पर यह नीति लागू होती है। किसी भूमिका को व्यवस्थापक के रूप में निर्दिष्ट करने के लिए, व्यवस्थापकीय प्रतिनिधि चेक बॉक्स का चयन करें। व्यवस्थापक नीति को संपादित या हटा सकते हैं, और मूल नीति के आधार पर बाल नीतियां भी बना सकते हैं। |
समूह चुनें | उन समूहों को निर्दिष्ट करें जिन पर यह नीति लागू होती है। किसी समूह को व्यवस्थापक के रूप में नामित करने के लिए, व्यवस्थापकीय प्रतिनिधि चेक बॉक्स का चयन करें। व्यवस्थापक नीति को संपादित या हटा सकते हैं, और मूल नीति के आधार पर बाल नीतियां भी बना सकते हैं। |
उपयोगकर्ता चुनें | उन उपयोगकर्ताओं को निर्दिष्ट करें जिन पर यह नीति लागू होती है। उपयोगकर्ता को व्यवस्थापक के रूप में नामित करने के लिए, व्यवस्थापकीय प्रतिनिधि चेक बॉक्स का चयन करें। व्यवस्थापक नीति को संपादित या हटा सकते हैं, और मूल नीति के आधार पर बाल नीतियां भी बना सकते हैं। |
अनुमतियां | अनुमतियां जोड़ें या संपादित करें:पढ़ें, लिखें, बनाएं, व्यवस्थापन करें, सभी का चयन/चयन रद्द करें। |
प्रतिनिधि व्यवस्थापक | आप नीति में निर्दिष्ट उपयोगकर्ताओं या समूहों को व्यवस्थापकीय विशेषाधिकार असाइन करने के लिए प्रतिनिधि व्यवस्थापक का उपयोग कर सकते हैं। व्यवस्थापक नीति को संपादित या हटा सकते हैं, और मूल नीति के आधार पर बाल नीतियां भी बना सकते हैं। |
3.3 अतिरिक्त शर्तें जोड़ने के लिए आप प्लस (+) चिह्न का उपयोग कर सकते हैं। पॉलिसी में सूचीबद्ध क्रम में शर्तों का मूल्यांकन किया जाता है। सूची के शीर्ष पर स्थित शर्त पहले लागू होती है, फिर दूसरी, फिर तीसरी, और इसी तरह। इनकार की स्थिति हमेशा मजबूत होती है। निम्न फ़्लोचार्ट रेंजर नीति मूल्यांकन प्रवाह के बारे में जानकारी प्रदान करता है।
3.4 अंत में जोड़ें क्लिक करें।
निष्कर्ष
इस ब्लॉगपोस्ट में हमने देखा कि आप Cloudera Manager का उपयोग करके अपने HBase ACL को रेंजर नीतियों में कैसे माइग्रेट कर सकते हैं। दुर्भाग्य से प्रवासन के लिए कोई स्वचालन नहीं है, क्योंकि दो प्राधिकरण विधियां काफी भिन्न हैं। जबकि थोक लोडिंग नीतियों के लिए रेंजर में एक आयात सुविधा है, एचबीएएस से एसीएल को उस प्रारूप में निर्यात करने का कोई तरीका नहीं है जिसे रेंजर समझता है (विशेष रूप से प्रारूपित JSON/CSV)।