2012-01-10 38 views
6

मुझे अपने भ्रम को दूर करने के लिए कुछ SAML कार्यान्वयन प्रश्न प्राप्त हुए ...SAML को लागू करने के लिए क्या मुझे अपने होस्ट पर शिबबोलेथ एसपी स्थापित करने की आवश्यकता है?

मुझे जावा वेब ऐप में एसएसओ को लागू करने की आवश्यकता है।

  1. ऐसा करने में, मैं Shibboleth सपा मेरी मेजबान like so पर स्थापित की जरूरत है, या मैं OpenSAML के माध्यम से सपा कार्यक्षमता प्रदान कर सकते हैं?

  2. मुझे लगता है कि शिबबोले ओपनएसएमएल के समान ही कर रहा है लेकिन सिर्फ वेबसर्वर स्तर पर है, जबकि ओपनएसएमएल सॉफ्टवेयर साइड पर ऐसा करेगा। क्या यह धारणा सही है?

संपादित करें: तो किसी समूह का चिह्न (स्कॉट कैंटर के अनुसार) OpenSAML साथ निर्माण है ... मेरी धारणा अभी भी पकड़ है?

  1. क्या OpenSAML उपयोग करने के लिए की आवश्यकता होगी? बस आईडीपी यूआरएल और आईडीपी के साथ पंजीकरण?

  2. क्या मुझे एक एसपी निर्देशिका प्रदान करने की आवश्यकता है, उदा। ActiveDirectory/LDAP?

संपादित करें: जवाब के लिए धन्यवाद, लेकिन किसी को सीधे सवालों का जवाब कर सकते हैं ऊपर और उन पर विस्तृत ...

उत्तर

3

OpenSAML का उपयोग करने के लिए क्या आवश्यकता होगी? बस आईडीपी यूआरएल और आईडीपी के साथ पंजीकरण?

आपको जावा और एक वेब कंटेनर की आवश्यकता है, और आप युद्ध में opensaml लाइब्रेरी शामिल हैं।

आपको स्थानीय रूप से आईडीपी मेटाडेटा को कैश करने की आवश्यकता है या जब आप AuthnRequest भेजना चाहते हैं या SAMLResponse को संसाधित करना चाहते हैं तो इसे हर बार देखें। इसके अलावा आपको आईडीपी पक्ष पर अपने एसपी मेटाडेटा को पंजीकृत करना होगा।

यदि आप शिबबोलेथ का उपयोग अपने आईडीपी के रूप में कर रहे हैं, तो एसपी मेटाडाटा को conf/relying-party.xml फ़ाइल में सेट किया जाना चाहिए।

क्या मुझे एक एसपी निर्देशिका प्रदान करने की आवश्यकता है, उदा। ActiveDirectory/LDAP?

आईडीपी में लॉगिन करने के लिए, आपको आईडीपी पक्ष पर ldap या डेटाबेस सर्वर सेट अप करने और conf/attribute-resolver.xml और conf/login.config में कॉन्फ़िगर करने की आवश्यकता है।

1

आप प्रासंगिक मेलिंग सूची में इस तरह के प्रश्न पोस्ट चाहिए शिबबोलेथ परियोजना द्वारा संचालित।

ओपनएसएमएल एसएएमएल समाधानों को लागू करने के लिए एक बहुत कम स्तर टूलकिट है, शिबोबोले एसएएमएल का समर्थन करने वाले वेब अनुप्रयोगों के लिए एसएसओ पैकेज है जो ओपनएसएमएल के साथ बनाया जाता है। बिल्डिंग सुरक्षा समाधान जटिल है और विशेषज्ञता की आवश्यकता है। यदि आपके पास यह विशेषज्ञता नहीं है, तो आप इसका बुरा काम करेंगे, और ओपनएसएमएल दस्तावेज नहीं है जैसे कि एक सामान्य डेवलपर स्क्रैच से समाधान बना सकता है।

एक पूर्ण कार्यान्वयन का उपयोग करने पर विचार करें, चाहे वह शिबबोलेथ हो या कुछ और हो। यदि आप अपाचे और मूल कोड के साथ नहीं रह सकते हैं और जावा की आवश्यकता है, तो आपको मौजूद मौजूदा जावा एसपी विकल्पों में से एक को आजमाएं। भले ही वे अपर्याप्त थे, आपको उन पर निर्माण करना चाहिए और उन्हें डुप्लिकेट नहीं करना चाहिए।

+1

क्या आप 'मौजूदा जावा एसपी विकल्प' के उदाहरण दे सकते हैं? – mahatmanich

13

अपडेट आपके संपादन कैसे पता करने के लिए:

यहाँ कुछ SAML 2 विकल्प का उपयोग कर सकते हैं।

  • पिंगफेडरेट https://www.pingidentity.com/ एसएएमएल और एसएसओ को समझने में आपकी मदद करने के लिए अच्छी चीजें। वाणिज्यिक और बहुत सारी कंपनियों द्वारा उपयोग किया जाता है।
  • जॉस ऑल-जावा http://www.josso.org/confluence/display/JOSSO1/JOSSO+-+Java+Open+Single+Sign-On+Project+Home, एलजीपीएल 2.1 या बाद में
  • मूल कार्यान्वयन पर LASSO जावा एपीआई। http://lasso.entrouvert.org/ दोहरी लाइसेंस प्राप्त (केवल गैर-वाणिज्यिक उपयोग के लिए नि: शुल्क)।
  • ओपनएम ऑल-जावा http://java.net/projects/opensso/, सीडीडीएल 1।0
  • शिबबोलेथ एसपी सी ++, http://shibboleth.internet2.edu/, अपाचे लाइसेंस, संस्करण 2.0।
  • ओपनएसएमएल लाइब्रेरी जावा या सी ++, https://wiki.shibboleth.net/confluence/display/OpenSAML/Home/ अपाचे लाइसेंस, संस्करण 2.0।
  • मृत OpenSSO (OpenAM बन गया) सभी जावा http://java.net/projects/opensso/, CDDL 1.0
  • Shibboleth IdP सभी जावा यह एक सपा, बस एक IdP, जो आपके सपा के परीक्षण के लिए उपयोगी है नहीं है।

Shibboleth सपा एक उत्पाद है कि आप के लिए SAML 2.0 लागू करता है, लेकिन OpenSAML सिर्फ एक पुस्तकालय जिसके साथ आप एक SAML 2.0 समाधान को लागू कर सकता है। लाइब्रेरी स्वयं निम्न स्तर है, और एसएसओ समाधान होने के करीब भी नहीं है। OpenSAML स्वयं द्वारा एक SAML 2.0 समाधान नहीं है।

OpenSAML या किसी भी SAML 2.0 समाधान का उपयोग करने के लिए, आपको नीचे उल्लिखित मेटाडेटा का आदान-प्रदान करने की आवश्यकता होगी। ओपनएसएमएल के साथ आपको अपने मेटाडेटा के लिए एक एक्सएमएल फ़ाइल भी हाथ से उत्पन्न करना होगा। जैसा कि नीचे उल्लेख किया गया है यह बहुत काम करेगा। SAML 2.0 उत्पाद आपके लिए उस XML मेटाडेटा फ़ाइल जेनरेट करेंगे और एसएएमएल 2.0 एन्क्रिप्शन के एन्क्रिप्शन और हस्ताक्षर के लिए उपयोग की जाने वाली आवश्यक आरएसए कुंजी भी उत्पन्न करेंगे। ओपनएसएमएल के साथ, आपके पास एआरएल फाइलों और एपीआई के हिस्सों को लोड करने और आपके एस्सारशन को पार्स करने के लिए एपीआई समर्थन होगा, लेकिन आप जावा कोड लिखेंगे जो वास्तव में एसएसओ इंटरैक्शन बनाता है।

एसपी आवश्यक रूप से सक्रिय डायरेक्टरी/एलडीएपी की आवश्यकता नहीं है, लेकिन आपको अपने वेब एप्लिकेशन में कुछ प्रकार की निर्देशिका की आवश्यकता होगी जो उपयोगकर्ताओं का ट्रैक रखती है। यदि आपके वेब एप्लिकेशन में पहले से ही कुछ पहचानने वाली जानकारी वाले उपयोगकर्ताओं की धारणा है, जिनका उपयोग आप उपयोगकर्ताओं के आईडीपी की धारणा से सहसंबंधित करने के लिए कर सकते हैं, तो आप अपने SAML 2.0 अनुमानों में विशेषता मानों के आधार पर अपने वेब एप्लिकेशन में उन लोगों को मानचित्र बना सकते हैं। (अपने वेब एप्लिकेशन को परवाह नहीं है जो उपयोगकर्ताओं रहे हैं, तो आप बस उपयोगकर्ता जा रहा है "वैध" के आधार पर आवेदन करने के लिए उपयोग की अनुमति कर सकते हैं।)

-

एक जावा वेब के साथ Shibboleth2 एसएसओ का घालमेल आवेदन बहुत मुश्किल नहीं है। एसएसओ को लागू करने के लिए ओपनएसएमएल का उपयोग करना काम करेगा, लेकिन शिबबोलेथ के साथ अपाचे सर्वर को एकीकृत करने से यह बहुत अधिक प्रयास होगा।

शिबबोलेथ का उपयोग करने की आवश्यकता है कि आपके पास शिबबोलेथ मॉड्यूल सक्षम और सक्षम है कि आपके पास शिबबोलेथ एसपी डिमन स्थापित है। आमतौर पर, वे एक ही बॉक्स पर एक साथ होंगे। यदि आप जावा वेब एप्लिकेशन होस्ट करने के लिए टोमकैट का उपयोग कर रहे हैं, तो मैं अनुशंसा करता हूं कि आप apache2 HTTP सर्वर और टोमकैट के बीच संवाद करने के लिए mod_proxy_ajp का उपयोग करें। इस तरह आप servlet अनुरोध गुणों के रूप में Shibolleth- प्रदत्त चर को चुन सकते हैं। (आपको चरबी उपसर्ग को "AJP_" में shibboleth2.xml में सेट करना होगा।)

शिबोबोलेथ एसपी पैकेज पहले से ही सभी मानक एसएएमएल एसएसओ परिदृश्यों को संभालता है जिन्हें आप सामना कर सकते हैं, लेकिन उनमें से किसी एक को भी लागू करने की कोशिश कर रहे हैं अपने जावा एप्लिकेशन में ओपनएसएमएल सीधे इसे काम करने और इसे सुरक्षित बनाने से खतरे से भरा हुआ है। यदि आप OpenSAML का उपयोग करते हैं तो आप अपने वेब ऐप का आकार भी बढ़ाएंगे। यह ध्यान देने योग्य है कि शिबबोलेथ एसपी जावा में नहीं लिखा गया है, इसलिए आपके पास ओपनएसएएमएल का उपयोग करने के उदाहरण नहीं होंगे, लेकिन आप शिबबोलेड आईडीपी कोड को देखकर कुछ अंतर्दृष्टि प्राप्त कर सकते हैं, जो एक जावा वेब ऐप है।

किसी भी मामले में, आपको अपने एसपी मेटाडाटा (आसानी से शिबबोलेथ एसपी पैकेज के साथ बनाया गया) को अपने पहचान प्रदाता के साथ एक्सचेंज करना होगा और आपके एसपी पर पहचान प्रदाता का मेटाडेटा भी प्राप्त करना होगा (शिबबोलेथ एसपी पैकेज के साथ भी आसान बस मेटाडाटा प्रदाता स्थापित करें)।

शिबबोलेथ दस्तावेज़ ऑनलाइन आपको इसका उपयोग करने के लिए उपयोग करने के बाद बहुत मदद करेगा।

मुझे लगता है कि यदि आप ओपनएसएमएल पुस्तकालयों के साथ एक SAML 2 एसएसओ समाधान लागू करने के बजाय शिबोबोले एसपी पैकेज का उपयोग कर सकते हैं तो आपको सफलता की अधिक संभावनाएं मिलेंगी। मैं अन्य सभी जावा-एसएएमएल 2 एसएसओ समाधानों से बात नहीं कर सकता, लेकिन वे सभी एक सरल शिबबोलेथ 2 एसपी की तुलना में बड़े और अत्यधिक एंटरप्राइज़ी लगते हैं।

-3

हां, आपको अपने सर्वर या अपनी मशीन में एसपी इंस्टॉल करना चाहिए। और यह आपके वेबसर्वर पर निर्भर करेगा, जैसे आईआईएस या अपाचे।