2011-11-05 15 views
7

में भूमिका-आधारित सुरक्षा कार्यान्वयन मैं एलडीएपी और जावा में भूमिका-आधारित सुरक्षा कार्यान्वयन पर काम कर रहा हूं। विशेष रूप से, मैं निम्नलिखित वस्तुओं है कि मैं LDAP में प्रतिनिधित्व करने की जरूरत है:एलडीएपी

  • उपयोगकर्ता प्रयोक्ताओं की
  • कॉर्पोरेट समूहों - मानव संसाधन, वित्त आदि
  • अनुमतियां - DOCUMENT_READ, DOCUMENT_MODIFY आदि
  • भूमिका - एडमिन, GUEST इत्यादि

भूमिकाएं मूल रूप से अनुमतियों के समूह हैं, और उन्हें उपयोगकर्ता या उपयोगकर्ताओं के समूह को असाइन किया जा सकता है। userPassword विशेषता के साथ व्यक्ति और uidObject कक्षाएं -

  • उपयोगकर्ता:

    मैं folows के रूप में LDAP में उन्हें प्रतिनिधित्व करने के बारे में सोच रहा था।

  • उपयोगकर्ताओं के समूह - संगठनात्मक यूनिट कक्षा, जिसके तहत उपयोगकर्ता स्थित हैं।
  • भूमिकाएं - समूहऑफनाम ऑब्जेक्ट क्लास।
  • अनुमतियां - इस बारे में निश्चित नहीं है, शायद समूहऑफनाम कक्षा भी।

विचार यह है कि उपयोगकर्ता या समूह के पास इस उपयोगकर्ता या समूह की भूमिकाओं की सूची में त्वरित पहुंच हो। मुझे पता है कि मैं उपयोगकर्ताओं और समूहों को एक भूमिका के "सदस्य" विशेषताओं में डाल सकता हूं, लेकिन फिर मुझे यह पता लगाने के लिए सभी भूमिकाएं स्कैन करनी होंगी कि यह उपयोगकर्ता किसके पास सूचीबद्ध है। क्या किसी व्यक्ति ऑब्जेक्ट में "सदस्य" विशेषता की तरह कुछ करने का कोई तरीका है?

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

उत्तर

8

उपयोगकर्ता: InetOrgPerson

संग्रह: ऑरगेनाइजेशनलयूनिट, लेकिन अपने LDAP निर्देशिका में अपनी संगठनात्मक संरचना को दोहराने की कोशिश कर रहा से सावधान: यह आम तौर पर एक गलती है, संगठनों को बदलने और उन संगठन चारों ओर ले जाने के रूप में। आपको विशेषता का उपयोग करने पर विचार करना चाहिए।

भूमिकाएं: संगठनात्मक रोल। मैंने समूहऑफनिक नाम के रूप में भूमिकाओं के समूह का उपयोग किया, लेकिन यह एक गलती थी, मुझे संगठनात्मक रोल का उपयोग करना चाहिए था ताकि भूमिकाएं आसानी से रिकर्सिव हों।

अनुमति: यह वास्तव में एक भूमिका है, या भूमिका की विशेषता है। यदि आप सीएमए का उपयोग करते हैं तो उन्हें वेब.एक्सएमएल में परिभाषित किया जाता है, एलडीएपी नहीं।

जैसा कि मैंने कहा था, अपने एलडीएपी पेड़ को अपने संगठन को दर्पण करने की कोशिश न करें। इसे दर्पण अपने स्वयं के संगठन बनाएं। जहां भी आवश्यक हो मैं कई मूल्यवान विशेषताओं का उपयोग करता हूं। मैं मुख्य रूप से एलडीएपी के भीतर परतों के लिए संगठनात्मक उपयोग करता हूं, या जहां मैंने उपरोक्त नियमों को तोड़ दिया है ;-)

ओपनएलडीएपी में एक रेफरेंशियल अखंडता ओवरले है जो आपके लिए बहुत सी सीधे रख सकता है।

में LDAP संरचना पर कुछ बहुत अच्छा संकेत OpenLDAP मास्टरिंग मैट कसाई द्वारा, और समझ में यह सब के एक उच्च स्तर दृश्य और क्रियान्वयन LDAP निर्देशिका सेवा Howes एट अल द्वारा रहे हैं।

+0

धन्यवाद, मैं इसे आज़माउंगा। कहां विशेषता एक अच्छा विचार है। मेरे परिदृश्य में, एक व्यक्ति एक से अधिक संगठनात्मक इकाई से संबंधित हो सकता है, इसलिए मुझे यकीन नहीं है कि कौन सा बेहतर है - एकाधिक कहां गुण हैं या शायद समूह समूहऑफनाम भी बनाते हैं। – user1031054

+0

@ user1031054 संपादन देखें। – EJP

+0

अच्छा एलडीएपी आलेख: http://www.zytrax.com/books/ldap/ – cleverpig

0

किले की जांच करें। यह एएनएसआई आरबीएसी INCITS 35 9 अनुपालन और एलडीएपी पर बनाया गया है। स्रोत कोड ओपन सोर्स है और आप प्री-बिल्ट बाइनरी को नीचे खींच सकते हैं जिसमें ओपनएलडीएपी शामिल है: http://iamfortress.org/

2

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

उदाहरण: विभाग == बिक्री में भूमिका == प्रबंधक के साथ एक उपयोगकर्ता कार्रवाई == खरीद आदेश == खरीद आदेश के दस्तावेज़ पर संपादन कर सकता है यदि पीओ की राशि < = उपयोगकर्ता की स्वीकृति सीमा है।

आप NIST website पर ABAC के बारे में अधिक पढ़ सकते हैं।

संबंधित मुद्दे