एसएएमएल 2.0: Difference between revisions
(Created page with "{{Short description|Computer markup language}} {{multipleissues|{{Technical|date=December 2019}} {{manual|date=February 2020}}}} {{Infobox technology standard | title...") |
|||
| Line 1: | Line 1: | ||
{{Short description|Computer markup language}} | {{Short description|Computer markup language}} | ||
{{Infobox technology standard | {{Infobox technology standard | ||
| title = Security Assertion Markup Language | | title = Security Assertion Markup Language | ||
| Line 15: | Line 13: | ||
| website = [https://wiki.oasis-open.org/security/FrontPage OASIS SAML Wiki] | | website = [https://wiki.oasis-open.org/security/FrontPage OASIS SAML Wiki] | ||
}} | }} | ||
सुरक्षा अभिकथन मार्कअप | सुरक्षा अभिकथन मार्कअप भाषा 2.0 (एसएएमएल 2.0) सुरक्षा डोमेन के बीच प्रमाणीकरण और प्राधिकरण पहचान के विनिमय के लिए एसएएमएल मानक का एक संस्करण है। एसएएमएल 2.0 एक एक्सएमएल-आधारित प्रोटोकॉल है जो एक एसएएमएल प्राधिकरण, जिसे एक पहचान प्रदाता कहा जाता है, और एक एसएएमएल उपभोक्ता, जिसे एक सेवा प्रदाता कहा जाता है, जिसके बीच एक प्रिंसिपल (सामान्य रूप से एक अंतिम उपयोगकर्ता) के बारे में जानकारी प्रसारित करने के लिए दावे वाले सुरक्षा टोकन का उपयोग करता है। एसएएमएल 2.0 वेब-आधारित, क्रॉस-डोमेन एकल साइन-ऑन (एसएसओ) को सक्षम करता है, जो उपयोगकर्ता को एकाधिक प्रमाणीकरण टोकन वितरित करने के प्रशासनिक ओवरहेड को कम करने में सहायता करता है। | ||
मार्च 2005 में | मार्च 2005 में एसएएमएल 1.1 के अतिरिक्त एसएएमएल 2.0 को ओएसिस (संगठन) मानक के रूप में अनुमोदित किया गया था। एसएएमएल 2.0 के महत्वपूर्ण स्वरूपों को आधिकारिक दस्तावेजों एसएएमएलकोर ,<ref name="SAMLCore"/> एसएएमएलबाइंड,<ref name="SAMLBind"/> एसएएमएलप्रोफ,<ref name="SAMLProf"/> और एसएएमएलमेटा में विस्तार से सम्मिलित किया गया है।<ref name="SAMLMeta"/> | ||
एसएएमएल 2.0 के निर्माण में 24 से अधिक कंपनियों और संगठनों के लगभग 30 व्यक्ति सम्मिलित थे। विशेष रूप से, और विशेष रूप से, [[लिबर्टी एलायंस]] ने अपना पहचान महासंघ रूपरेखा (आईडी-एफएफ) विनिर्देश ओएसिस को देता है, जो एसएएमएल 2.0 विनिर्देश का आधार बन गया। इस प्रकार एसएएमएल 2.0 एसएएमएल 1.1, [http://www.projectliberty.org/resource_center/specifications/liberty_alliance_id_ff_1_2_specifications लिबर्टी आईडी-एफएफ 1.2], और [http://shibboleth.internet2.edu/docs/internet2-mace शिबोलेथ 1.3] के अभिसरण का प्रतिनिधित्व करता है। | |||
== एसएएमएल 2.0 अभिकथन == | == एसएएमएल 2.0 अभिकथन == | ||
अभिकथन (असर्शन) सूचना का एक पैकेज है जो एसएएमएल प्राधिकरण द्वारा दिए गए शून्य या अधिक स्टेटमेंट प्रदान करता है। एसएएमएल अभिकथन सामान्य रूप से किसी विषय के बारे में किए जाते हैं, जिसे <code><Subject></code> तत्व द्वारा दर्शाया जाता है। एसएएमएल 2.0 विनिर्देश तीन अलग-अलग प्रकार के अभिकथन स्टेटमेंट को परिभाषित करता है जिन्हें एसएएमएल प्राधिकरण द्वारा बनाया जा सकता है। सभी एसएएमएल-परिभाषित स्टेटमेंट एक विषय से जुड़े हुए हैं। परिभाषित तीन प्रकार के अभिकथन स्टेटमेंट इस प्रकार हैं: | |||
* प्रमाणीकरण | * प्रमाणीकरण स्टेटमेंट: अभिकथन विषय को एक विशेष समय पर एक विशेष माध्यम से प्रमाणित किया गया था। | ||
* विशेषता | * विशेषता स्टेटमेंट: अभिकथन विषय आपूर्ति की गई विशेषताओं से जुड़ा है। | ||
* प्राधिकरण निर्णय | * प्राधिकरण निर्णय स्टेटमेंट: दावे के विषय को निर्दिष्ट संसाधन तक पहुंचने की अनुमति देने का अनुरोध स्वीकार कर लिया गया है या अस्वीकार कर दिया गया है। | ||
एसएएमएल अभिकथन का एक महत्वपूर्ण प्रकार तथाकथित "वाहक" अभिकथन है जिसका उपयोग वेब ब्राउज़र एसएसओ को सुविधाजनक बनाने के लिए किया जाता है। यहां एक पहचान प्रदाता (<nowiki>https://idp.example.org/SAML2</nowiki>) द्वारा एक सेवा प्रदाता (<nowiki>https://sp.example.com/SAML2</nowiki>) को जारी किए गए अल्पकालिक वाहक दावे का एक उदाहरण दिया गया है। अभिकथन में एक प्रमाणीकरण अभिकथन <code><saml:AuthnStatement></code> और एक विशेषता अभिकथन <code><saml:AttributeStatement></code>दोनों सम्मिलित हैं, जो संभवतः सेवा प्रदाता अभिगम्य नियंत्रण निर्णय लेने के लिए उपयोग करता है। उपसर्ग <code>saml:</code> एसएएमएल V2.0 अभिकथन नामस्थान का प्रतिनिधित्व करता है। | |||
=== | === एसएएमएल का उदाहरण EDIT === | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<saml:Assertion | <saml:Assertion | ||
| Line 85: | Line 83: | ||
</saml:Assertion> | </saml:Assertion> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
ध्यान दें कि उपरोक्त उदाहरण में <code><saml:Assertion></code> तत्व में निम्नलिखित बाल तत्व | ध्यान दें कि उपरोक्त उदाहरण में <code><saml:Assertion></code> तत्व में निम्नलिखित बाल तत्व सम्मिलित हैं: | ||
* ए <code><saml:Issuer></code> तत्व, जिसमें पहचान प्रदाता का विशिष्ट पहचानकर्ता होता है | * ए <code><saml:Issuer></code> तत्व, जिसमें पहचान प्रदाता का विशिष्ट पहचानकर्ता होता है | ||
* ए <code><ds:Signature></code> तत्व, जिसमें एक अखंडता-संरक्षित डिजिटल | * ए <code><ds:Signature></code> तत्व, जिसमें एक अखंडता-संरक्षित डिजिटल चिन्ह (दिखाया नहीं गया) होता है <code><saml:Assertion></code> तत्व | ||
* ए <code><saml:Subject></code> तत्व, जो प्रमाणित प्रिंसिपल की पहचान करता है (लेकिन इस मामले में प्रिंसिपल की पहचान गोपनीयता के कारणों के लिए एक अपारदर्शी क्षणिक पहचानकर्ता के पीछे छिपी हुई है) | * ए <code><saml:Subject></code> तत्व, जो प्रमाणित प्रिंसिपल की पहचान करता है (लेकिन इस मामले में प्रिंसिपल की पहचान गोपनीयता के कारणों के लिए एक अपारदर्शी क्षणिक पहचानकर्ता के पीछे छिपी हुई है) | ||
* ए <code><saml:Conditions></code> तत्व, जो उन शर्तों को देता है जिनके तहत अभिकथन को वैध माना जाना है | * ए <code><saml:Conditions></code> तत्व, जो उन शर्तों को देता है जिनके तहत अभिकथन को वैध माना जाना है | ||
| Line 96: | Line 94: | ||
शब्दों में, अभिकथन निम्नलिखित जानकारी को कूटबद्ध करता है: | शब्दों में, अभिकथन निम्नलिखित जानकारी को कूटबद्ध करता है: | ||
<blockquote>अभिकथन ( b07b804c-7c29-ea16-7300-4f3d6f7928ac ) पहचान प्रदाता द्वारा 2004-12-05T09:22:05Z पर जारी किया गया था (<nowiki>https://idp.example.org/ | <blockquote>अभिकथन ( b07b804c-7c29-ea16-7300-4f3d6f7928ac ) पहचान प्रदाता द्वारा 2004-12-05T09:22:05Z पर जारी किया गया था (<nowiki>https://idp.example.org/एसएएमएल2</nowiki></nowiki) >) विशेष रूप से सेवा प्रदाता (<nowiki><nowiki>https://sp.example.com/एसएएमएल2</nowiki>) के लिए विषय (3f7b3dcf-1674-4ecd-92c8-1544f346baf8) के संबंध में।</blockquote> | ||
प्रमाणीकरण | प्रमाणीकरण स्टेटमेंट, विशेष रूप से, निम्नलिखित पर जोर देता है: | ||
<blockquote>प्रिंसिपल की पहचान इसमें की गई है <code><saml:Subject></code> सुरक्षित चैनल पर भेजे गए पासवर्ड के माध्यम से तत्व को 2004-12-05T09:22:00Z पर प्रमाणित किया गया था।</blockquote> | <blockquote>प्रिंसिपल की पहचान इसमें की गई है <code><saml:Subject></code> सुरक्षित चैनल पर भेजे गए पासवर्ड के माध्यम से तत्व को 2004-12-05T09:22:00Z पर प्रमाणित किया गया था।</blockquote> | ||
इसी प्रकार विशेषता | इसी प्रकार विशेषता स्टेटमेंट का दावा है कि: | ||
<blockquote>प्रिंसिपल की पहचान इसमें की गई है <code><saml:Subject></code> तत्व में इस संस्था के 'कर्मचारी' और 'सदस्य' गुण हैं।</blockquote> | <blockquote>प्रिंसिपल की पहचान इसमें की गई है <code><saml:Subject></code> तत्व में इस संस्था के 'कर्मचारी' और 'सदस्य' गुण हैं।</blockquote> | ||
== एसएएमएल 2.0 प्रोटोकॉल == | == एसएएमएल 2.0 प्रोटोकॉल == | ||
एसएएमएल Core में निम्नलिखित प्रोटोकॉल निर्दिष्ट हैं:<ref name="SAMLCore"/> | |||
* अभिकथन क्वेरी और अनुरोध प्रोटोकॉल | * अभिकथन क्वेरी और अनुरोध प्रोटोकॉल | ||
* # प्रमाणीकरण अनुरोध प्रोटोकॉल | * # प्रमाणीकरण अनुरोध प्रोटोकॉल | ||
* # | * #अर्टिफैक्ट रेजोल्यूशन प्रोटोकॉल | ||
* नाम पहचानकर्ता प्रबंधन प्रोटोकॉल | * नाम पहचानकर्ता प्रबंधन प्रोटोकॉल | ||
* | * एकल लॉगआउट प्रोटोकॉल | ||
* नाम पहचानकर्ता मैपिंग प्रोटोकॉल | * नाम पहचानकर्ता मैपिंग प्रोटोकॉल | ||
| Line 120: | Line 118: | ||
=== प्रमाणीकरण अनुरोध प्रोटोकॉल === | === प्रमाणीकरण अनुरोध प्रोटोकॉल === | ||
एसएएमएल 1.1 में वेब ब्राउजर एसएसओ प्रोफाइल [[ पहचान प्रदाता ]] | आइडेंटिटी प्रोवाइडर (आईडीपी) द्वारा शुरू किए जाते हैं, यानी एक अवांछित <code><samlp:Response></code> तत्व पहचान प्रदाता से सेवा प्रदाता (ब्राउज़र के माध्यम से) में प्रेषित होता है। (उपसर्ग <code>samlp:</code> | एसएएमएल 1.1 में वेब ब्राउजर एसएसओ प्रोफाइल [[ पहचान प्रदाता ]] | आइडेंटिटी प्रोवाइडर (आईडीपी) द्वारा शुरू किए जाते हैं, यानी एक अवांछित <code><samlp:Response></code> तत्व पहचान प्रदाता से सेवा प्रदाता (ब्राउज़र के माध्यम से) में प्रेषित होता है। (उपसर्ग <code>samlp:</code> एसएएमएल प्रोटोकॉल नामस्थान को दर्शाता है।) | ||
एसएएमएल 2.0 में, हालांकि, सेवा प्रदाता से प्रवाह शुरू होता है जो पहचान प्रदाता को एक स्पष्ट प्रमाणीकरण अनुरोध जारी करता है। परिणामी प्रमाणीकरण अनुरोध प्रोटोकॉल एसएएमएल 2.0 की एक महत्वपूर्ण नई विशेषता है। | |||
जब एक प्रिंसिपल (या प्रिंसिपल की ओर से काम करने वाली इकाई) एक ऑथेंटिकेशन स्टेटमेंट वाला एक एश्योरमेंट प्राप्त करना चाहता है, तो ए <code><samlp:AuthnRequest></code> तत्व पहचान प्रदाता को प्रेषित किया जाता है: | जब एक प्रिंसिपल (या प्रिंसिपल की ओर से काम करने वाली इकाई) एक ऑथेंटिकेशन स्टेटमेंट वाला एक एश्योरमेंट प्राप्त करना चाहता है, तो ए <code><samlp:AuthnRequest></code> तत्व पहचान प्रदाता को प्रेषित किया जाता है: | ||
| Line 140: | Line 138: | ||
</samlp:AuthnRequest> | </samlp:AuthnRequest> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
उपरोक्त <code><samlp:AuthnRequest></code> तत्व, जो स्पष्ट रूप से # | उपरोक्त <code><samlp:AuthnRequest></code> तत्व, जो स्पष्ट रूप से #एसएएमएल_2.0_एसरशन का अनुरोध करता है, स्पष्ट रूप से एक सेवा प्रदाता (<nowiki>https://sp.example.com/एसएएमएल2</nowiki>) द्वारा जारी किया गया था और बाद में पहचान प्रदाता (ब्राउज़र के माध्यम से) को प्रस्तुत किया गया था। पहचान प्रदाता प्रिंसिपल (यदि आवश्यक हो) को प्रमाणित करता है और एक प्रमाणीकरण प्रतिक्रिया जारी करता है, जो सेवा प्रदाता (फिर से ब्राउज़र के माध्यम से) को वापस प्रेषित की जाती है। | ||
=== | === अर्टिफैक्ट साक्ष्य संकल्प प्रोटोकॉल === | ||
एक एसएएमएल संदेश एक इकाई से दूसरे में या तो मूल्य या संदर्भ द्वारा प्रेषित होता है। एसएएमएल संदेश के संदर्भ को | एक एसएएमएल संदेश एक इकाई से दूसरे में या तो मूल्य या संदर्भ द्वारा प्रेषित होता है। एसएएमएल संदेश के संदर्भ को अर्टिफैक्ट कहा जाता है। एक अर्टिफैक्ट का रिसीवर एक भेजकर संदर्भ को हल करता है <code><samlp:ArtifactResolve></code> अर्टिफैक्ट के जारीकर्ता से सीधे अनुरोध करें, जो अर्टिफैक्ट द्वारा संदर्भित वास्तविक संदेश के साथ प्रतिक्रिया करता है। | ||
मान लीजिए, उदाहरण के लिए, एक पहचान प्रदाता निम्नलिखित <span id= ArtifactResolveRequest > भेजता है<code><samlp:ArtifactResolve></code> अनुरोध</span> सीधे सेवा प्रदाता से (बैक चैनल के माध्यम से): | मान लीजिए, उदाहरण के लिए, एक पहचान प्रदाता निम्नलिखित <span id= ArtifactResolveRequest > भेजता है<code><samlp:ArtifactResolve></code> अनुरोध</span> सीधे सेवा प्रदाता से (बैक चैनल के माध्यम से): | ||
| Line 161: | Line 159: | ||
</samlp:ArtifactResolve> | </samlp:ArtifactResolve> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
जवाब में, सेवा प्रदाता संलग्न | जवाब में, सेवा प्रदाता संलग्न अर्टिफैक्ट द्वारा संदर्भित एसएएमएल तत्व लौटाता है। यह प्रोटोकॉल #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग का आधार बनाता है। | ||
== एसएएमएल 2.0 बाइंडिंग्स == | == एसएएमएल 2.0 बाइंडिंग्स == | ||
एसएएमएल 2.0 द्वारा समर्थित बाइंडिंग बाइंडिंग विनिर्देश (एसएएमएलBind<ref name="SAMLBind"/>): | |||
* | * एसएएमएल SOAP बाइंडिंग (SOAP 1.1 पर आधारित) | ||
* रिवर्स SOAP (PAOS) बाइंडिंग | * रिवर्स SOAP (PAOS) बाइंडिंग | ||
* # | * #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट बाइंडिंग | ||
* # | * #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पोस्ट बाइंडिंग | ||
* # | * #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग | ||
* | * एसएएमएल URI बाइंडिंग | ||
वेब ब्राउज़र एसएसओ के लिए, एचटीटीपी रीडायरेक्ट बाइंडिंग और एचटीटीपी पोस्ट बाइंडिंग का | वेब ब्राउज़र एसएसओ के लिए, एचटीटीपी रीडायरेक्ट बाइंडिंग और एचटीटीपी पोस्ट बाइंडिंग का सामान्य रूप से इस्तेमाल किया जाता है। उदाहरण के लिए, सेवा प्रदाता अनुरोध भेजने के लिए हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट का उपयोग कर सकता है, जबकि पहचान प्रदाता प्रतिक्रिया प्रसारित करने के लिए हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST का उपयोग करता है। इस उदाहरण से पता चलता है कि एक इकाई की बाध्यकारी की पसंद उसके साथी की बाध्यकारी की पसंद से स्वतंत्र है। | ||
=== | === हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट बाइंडिंग === | ||
एसएएमएल प्रोटोकॉल संदेशों को सीधे हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल GET अनुरोध के URL क्वेरी स्ट्रिंग में ले जाया जा सकता है। व्यवहार में URL की लंबाई सीमित होने के कारण, हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट बाइंडिंग छोटे संदेशों के लिए उपयुक्त है, जैसे कि <code><samlp:AuthnRequest></code> संदेश। लंबे संदेश (उदाहरण के लिए हस्ताक्षरित या एन्क्रिप्टेड एसएएमएल अभिकथन वाले, जैसे एसएएमएल प्रतिक्रियाएँ) सामान्य रूप से #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग जैसे अन्य बाइंडिंग के माध्यम से प्रेषित होते हैं। | |||
एचटीटीपी रीडायरेक्ट के ज़रिए ट्रांसमिट किए गए एसएएमएल अनुरोध या जवाबों में a <code> | एचटीटीपी रीडायरेक्ट के ज़रिए ट्रांसमिट किए गए एसएएमएल अनुरोध या जवाबों में a <code>एसएएमएलRequest</code> या <code>एसएएमएलResponse</code> क्वेरी स्ट्रिंग पैरामीटर, क्रमशः। भेजे जाने से पहले, संदेश उस क्रम में [[DEFLATE]] (हेडर और चेकसम के बिना), [[बेस 64]]-एन्कोडेड और URL-एन्कोडेड है। प्राप्त होने पर, मूल संदेश को पुनर्प्राप्त करने के लिए प्रक्रिया उलट दी जाती है। | ||
उदाहरण के लिए, एन्कोडिंग <code><samlp:AuthnRequest></code> उपज के ऊपर संदेश: | उदाहरण के लिए, एन्कोडिंग <code><samlp:AuthnRequest></code> उपज के ऊपर संदेश: | ||
<nowiki>https://idp.example.org/ | <nowiki>https://idp.example.org/एसएएमएल2/एसएसओ/Redirect?एसएएमएलRequest=fZFfa8IwFMXfBb9DyXvaJtZ1BqsURRC2</nowiki> | ||
Mabbw95ivc5Am3TJrXPffmmLY3%2FA15Pzuyf33On8XJXBCaxTRmeEhTEJQBdmr%2FRbRp63K3pL5rPhYOpkVdY | |||
ib%2FCon%2BC9AYfDQRB4WDvRvWWksVoY6ZQTWlbgBBZik9%2FfCR7GorYGTWFK8pu6DknnwKL%2FWEetlxmR8s | |||
BHbHJDWZqOKGdsRJM0kfQAjCUJ43KX8s78ctnIz%2Blp5xpYa4dSo1fjOKGM03i8jSeCMzGevHa2%2FBK5MNo1F | |||
dgN2JMqPLmHc0b6WTmiVbsGoTf5qv66Zq2t60x0wXZ2RkydiCJXh3CWVV1CWJgqanfl0%2Bin8xutxYOvZL18NK | |||
UqPlvZR5el%2BVhYkAgZQdsA6fWVsZXE63W2itrTQ2cVaKV2CjSSqL1v9P%2FAXv4C | |||
अतिरिक्त सुरक्षा के लिए उपरोक्त संदेश (पठनीयता के लिए स्वरूपित) पर | अतिरिक्त सुरक्षा के लिए उपरोक्त संदेश (पठनीयता के लिए स्वरूपित) पर चिन्ह किए जा सकते हैं। व्यवहार में, एक में निहित सभी डेटा <code><samlp:AuthnRequest></code>, जैसे कि <code>Issuer</code> जिसमें एसपी आईडी है, और <code>NameIDPolicy</code>, IdP और SP के बीच पहले ही सहमति हो गई है (मैन्युअल सूचना विनिमय के माध्यम से या #एसएएमएल 2.0 मेटाडेटा के माध्यम से)। उस स्थिति में अनुरोध पर चिन्ह करना सुरक्षा बाधा नहीं है। जब <code><samlp:AuthnRequest></code> IdP द्वारा पहले से ज्ञात जानकारी नहीं है, जैसे कि अभिकथन उपभोक्ता सेवा URL, सुरक्षा उद्देश्यों के लिए अनुरोध पर चिन्ह करने की अनुशंसा की जाती है। | ||
=== | === हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पोस्ट बाइंडिंग === | ||
निम्नलिखित उदाहरण में, सेवा प्रदाता और पहचान प्रदाता दोनों | निम्नलिखित उदाहरण में, सेवा प्रदाता और पहचान प्रदाता दोनों हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग का उपयोग करते हैं। प्रारंभ में, सेवा प्रदाता एक एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ [[उपयोगकर्ता एजेंट]] के अनुरोध का जवाब देता है: | ||
<वाक्यविन्यास लैंग = html4सख्त> | <वाक्यविन्यास लैंग = html4सख्त> | ||
<फॉर्म विधि = पोस्ट एक्शन = https://idp.example.org/SAML2/SSO/POST ...> | <फॉर्म विधि = पोस्ट एक्शन = [https://idp.example.org/SAML2/SSO/POST https://idp.example.org/एसएएमएल2/एसएसओ/POST] ...> | ||
<इनपुट प्रकार = छिपा हुआ नाम = | <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलRequest मान = अनुरोध /> | ||
... अन्य इनपुट पैरामीटर .... | ... अन्य इनपुट पैरामीटर .... | ||
</रूप> | </रूप> | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
का मूल्य <code> | का मूल्य <code>एसएएमएलRequest</code> पैरामीटर a का बेस 64-एन्कोडिंग है <code><samlp:AuthnRequest></code> तत्व, जो ब्राउज़र के माध्यम से पहचान प्रदाता को प्रेषित होता है। पहचान प्रदाता पर एसएसओ सेवा अनुरोध को मान्य करती है और एक अन्य एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करती है: | ||
<वाक्यविन्यास लैंग = html4सख्त> | <वाक्यविन्यास लैंग = html4सख्त> | ||
<फॉर्म विधि = पोस्ट कार्रवाई = https://sp.example.com/SAML2/SSO/POST ...> | <फॉर्म विधि = पोस्ट कार्रवाई = [https://sp.example.com/SAML2/SSO/POST https://sp.example.com/एसएएमएल2/एसएसओ/POST] ...> | ||
<इनपुट प्रकार = छिपा हुआ नाम = | <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलResponse मान = प्रतिक्रिया /> | ||
... | ... | ||
</रूप> | </रूप> | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
का मूल्य <code> | का मूल्य <code>एसएएमएलResponse</code> पैरामीटर a का बेस 64 एन्कोडिंग है <code><samlp:Response></code> तत्व, जो इसी तरह सेवा प्रदाता को ब्राउज़र के माध्यम से प्रेषित किया जाता है। | ||
प्रपत्र के सबमिशन को स्वचालित करने के लिए, जावास्क्रिप्ट की निम्न पंक्ति XHTML पृष्ठ पर कहीं भी दिखाई दे सकती है: | प्रपत्र के सबमिशन को स्वचालित करने के लिए, जावास्क्रिप्ट की निम्न पंक्ति XHTML पृष्ठ पर कहीं भी दिखाई दे सकती है: | ||
| Line 215: | Line 213: | ||
window.onload = function () { document.forms[0].submit(); } | window.onload = function () { document.forms[0].submit(); } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
यह निश्चित रूप से मानता है कि पृष्ठ में पहले फॉर्म तत्व में उपरोक्त | यह निश्चित रूप से मानता है कि पृष्ठ में पहले फॉर्म तत्व में उपरोक्त एसएएमएलResponse सम्मिलित है <code>form</code> तत्व (<code>forms[0]</code>). | ||
=== | === हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट साक्ष्य बाइंडिंग === | ||
संदर्भ द्वारा | संदर्भ द्वारा एसएएमएल संदेश को हल करने के लिए हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग #Artifact रिज़ॉल्यूशन प्रोटोकॉल और एसएएमएल SOAP बाइंडिंग (हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पर) का उपयोग करता है। निम्नलिखित विशिष्ट उदाहरण पर विचार करें। मान लीजिए कि एक सेवा प्रदाता एक भेजना चाहता है <code><samlp:AuthnRequest></code> एक पहचान प्रदाता को संदेश। प्रारंभ में, सेवा प्रदाता हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट के माध्यम से पहचान प्रदाता को एक अर्टिफैक्ट भेजता है: | ||
<nowiki>https://idp.example.org/ | <nowiki>https://idp.example.org/एसएएमएल2/एसएसओ/Artifact?एसएएमएलart=artifact</nowiki> | ||
इसके बाद पहचान प्रदाता एक भेजता है <code><samlp:ArtifactResolve></code> अनुरोध (जैसे कि पहले दिखाया गया #ArtifactResolveRequest) सीधे बैक चैनल के माध्यम से सेवा प्रदाता को। अंत में, सेवा प्रदाता एक देता है <code><samlp:ArtifactResponse></code> तत्व जिसमें संदर्भित है <code><samlp:AuthnRequest></code> संदेश: | इसके बाद पहचान प्रदाता एक भेजता है <code><samlp:ArtifactResolve></code> अनुरोध (जैसे कि पहले दिखाया गया #ArtifactResolveRequest) सीधे बैक चैनल के माध्यम से सेवा प्रदाता को। अंत में, सेवा प्रदाता एक देता है <code><samlp:ArtifactResponse></code> तत्व जिसमें संदर्भित है <code><samlp:AuthnRequest></code> संदेश: | ||
| Line 254: | Line 252: | ||
</samlp:ArtifactResponse> | </samlp:ArtifactResponse> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
बेशक प्रवाह दूसरी दिशा में भी जा सकता है, यानी पहचान प्रदाता एक | बेशक प्रवाह दूसरी दिशा में भी जा सकता है, यानी पहचान प्रदाता एक अर्टिफैक्ट जारी कर सकता है, और वास्तव में यह अधिक सामान्य है। उदाहरण के लिए देखें, #SP रीडायरेक्ट अर्टिफैक्ट; इस विषय में बाद में IdP रीडायरेक्ट अर्टिफैक्ट साक्ष्य प्रोफ़ाइल उदाहरण। | ||
==== | ==== अर्टिफैक्ट साक्ष्य प्रारूप ==== | ||
सामान्य तौर पर, | सामान्य तौर पर, एसएएमएल 2.0 अर्टिफैक्ट को इस तरह परिभाषित किया जाता है (एसएएमएलBind<ref name="SAMLBind"/>): | ||
एसएएमएल_artifact:= B64 (टाइपकोड एंडपॉइंटइंडेक्स शेष अर्टिफैक्ट) | |||
टाइपकोड�:= बाइट1बाइट2 | |||
एंडपॉइंट इंडेक्स: = बाइट 1 बाइट 2 | एंडपॉइंट इंडेक्स: = बाइट 1 बाइट 2 | ||
इस प्रकार एक | इस प्रकार एक एसएएमएल 2.0 अर्टिफैक्ट साक्ष्य में तीन घटक होते हैं: एक दो-बाइट <code>TypeCode</code>, एक दो-बाइट <code>EndpointIndex</code>, और बाइट्स के मनमाने क्रम को कहा जाता है <code>RemainingArtifact</code>. जानकारी के इन तीन टुकड़ों को जोड़ा गया है और पूर्ण अर्टिफैक्ट प्राप्त करने के लिए बेस64-एन्कोडेड हैं। <code>TypeCode</code> e> विशिष्ट रूप से अर्टिफैक्ट साक्ष्य प्रारूप की पहचान करता है। एसएएमएल 2.0 0x0004 प्रकार के केवल एक ऐसे अर्टिफैक्ट को पूर्वनिर्धारित करता है। <code>EndpointIndex</code> e> अर्टिफैक्ट साक्ष्य जारीकर्ता द्वारा प्रबंधित एक विशेष अर्टिफैक्ट साक्ष्य समापन बिंदु का एक संदर्भ है (जो पहले उल्लेखित IdP या SP हो सकता है)। <code>RemainingArtifact</code>डी>, जो कि प्रकार की परिभाषा से निर्धारित होता है, कलाकृतियों का मांस है। | ||
0x0004 | 0x0004 अर्टिफैक्ट प्रकार के प्रारूप को आगे निम्नानुसार परिभाषित किया गया है: | ||
टाइपकोड: = 0x0004 | टाइपकोड: = 0x0004 | ||
| Line 273: | Line 271: | ||
मैसेजहैंडल: = 20-बाइट_अनुक्रम | मैसेजहैंडल: = 20-बाइट_अनुक्रम | ||
इस प्रकार एक प्रकार 0x0004 | इस प्रकार एक प्रकार 0x0004 अर्टिफैक्ट आकार 44 बाइट्स (एन्कोडेड) का है। <code>SourceId</code> ई> बाइट्स का एक मनमाना क्रम है, हालांकि व्यवहार में, <code>SourceId</code> जारीकर्ता के entityID का SHA-1 हैश है। <code>MessageHandle</code> ई> बाइट्स का एक यादृच्छिक अनुक्रम है जो एक एसएएमएल संदेश का संदर्भ देता है कि अर्टिफैक्ट जारीकर्ता ऑन-डिमांड उत्पादन करने को तैयार है। | ||
उदाहरण के लिए, इस हेक्स-एन्कोडेड प्रकार 0x0004 | उदाहरण के लिए, इस हेक्स-एन्कोडेड प्रकार 0x0004 अर्टिफैक्ट साक्ष्य पर विचार करें: | ||
00040000c878f3fd685c833eb03a3b0e1daa329d47338205e436913660e3e917549a59709fd8c91f2120222f | 00040000c878f3fd685c833eb03a3b0e1daa329d47338205e436913660e3e917549a59709fd8c91f2120222f | ||
यदि आप बारीकी से देखते हैं, तो आप देख सकते हैं <code>TypeCode</code> (0x0004) और <code>EndpointIndex</code> (0x0000) | यदि आप बारीकी से देखते हैं, तो आप देख सकते हैं <code>TypeCode</code> (0x0004) और <code>EndpointIndex</code> (0x0000) अर्टिफैक्ट साक्ष्य के सामने। अगले 20 बाइट जारीकर्ता के entityID (<nowiki>https://idp.example.org/एसएएमएल2</nowiki>) के SHA-1 हैश के बाद 20 रैंडम बाइट हैं। इन 44 बाइट्स का बेस64-एन्कोडिंग वही है जो आप ऊपर #ArtifactResolveRequest उदाहरण में देखते हैं। | ||
== एसएएमएल 2.0 प्रोफाइल == | == एसएएमएल 2.0 प्रोफाइल == | ||
एसएएमएल 2.0 में, एसएएमएल 1.1 की तरह, प्राथमिक उपयोग मामला अभी भी वेब ब्राउज़र एसएसओ है, लेकिन एसएएमएल 2.0 का दायरा एसएएमएल के पिछले संस्करणों की तुलना में व्यापक है, जैसा कि प्रोफ़ाइल की निम्नलिखित विस्तृत सूची में सुझाया गया है: | |||
* एसएसओ प्रोफाइल | * एसएसओ प्रोफाइल | ||
| Line 289: | Line 287: | ||
** उन्नत ग्राहक या प्रॉक्सी (ईसीपी) प्रोफ़ाइल | ** उन्नत ग्राहक या प्रॉक्सी (ईसीपी) प्रोफ़ाइल | ||
** #Identity_Provider_Discovery_Profile | ** #Identity_Provider_Discovery_Profile | ||
** | ** एकल लॉगआउट प्रोफाइल | ||
** नाम पहचानकर्ता प्रबंधन प्रोफ़ाइल | ** नाम पहचानकर्ता प्रबंधन प्रोफ़ाइल | ||
* | * अर्टिफैक्ट साक्ष्य संकल्प प्रोफ़ाइल | ||
* #Assertion_Query/Request_Profile|अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल | * #Assertion_Query/Request_Profile|अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल | ||
* नाम पहचानकर्ता मानचित्रण प्रोफ़ाइल | * नाम पहचानकर्ता मानचित्रण प्रोफ़ाइल | ||
* | * एसएएमएल विशेषता प्रोफाइल | ||
** मूल विशेषता प्रोफ़ाइल | ** मूल विशेषता प्रोफ़ाइल | ||
** X.500/LDAP विशेषता प्रोफ़ाइल | ** X.500/LDAP विशेषता प्रोफ़ाइल | ||
| Line 301: | Line 299: | ||
** XACML विशेषता प्रोफ़ाइल | ** XACML विशेषता प्रोफ़ाइल | ||
हालाँकि समर्थित प्रोफ़ाइलों की संख्या काफी बड़ी है, प्रोफ़ाइल विनिर्देश ( | हालाँकि समर्थित प्रोफ़ाइलों की संख्या काफी बड़ी है, प्रोफ़ाइल विनिर्देश (एसएएमएलProf<ref name="SAMLProf"/> सरलीकृत है क्योंकि प्रत्येक प्रोफ़ाइल के बाध्यकारी स्वरूपों को एक अलग बाइंडिंग विनिर्देश (एसएएमएलBind<ref name="SAMLBind"/>). | ||
=== वेब ब्राउजर एसएसओ प्रोफाइल === | === वेब ब्राउजर एसएसओ प्रोफाइल === | ||
एसएएमएल 2.0 एक वेब ब्राउज़र एसएसओ प्रोफ़ाइल निर्दिष्ट करता है जिसमें एक पहचान प्रदाता (IdP), एक सेवा प्रदाता (SP) और एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट चलाने वाला प्रमुख सम्मिलित होता है। सेवा प्रदाता के पास चुनने के लिए चार बाइंडिंग हैं, जबकि पहचान प्रदाता के पास तीन हैं, जो बारह संभावित परिनियोजन परिदृश्यों की ओर ले जाता है। हम नीचे उन तीन परिनियोजन परिदृश्यों की रूपरेखा प्रस्तुत करते हैं। | |||
==== एसपी पुनर्निर्देशन अनुरोध; आईडीपी पोस्ट प्रतिक्रिया ==== | ==== एसपी पुनर्निर्देशन अनुरोध; आईडीपी पोस्ट प्रतिक्रिया ==== | ||
यह सबसे आम परिदृश्यों में से एक है। सेवा प्रदाता | यह सबसे आम परिदृश्यों में से एक है। सेवा प्रदाता हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल-रीडायरेक्ट बाइंडिंग का उपयोग करके IdP एसएसओ सेवा को एक एसएएमएल अनुरोध भेजता है। पहचान प्रदाता हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल-POST बाइंडिंग का उपयोग करके SP अभिकथन उपभोक्ता सेवा को एसएएमएल प्रतिक्रिया लौटाता है। | ||
[[File:Saml2-browser-sso-redirect-post.png|thumb|none|700px|एसएएमएल 2.0 वेब ब्राउज़र एसएसओ (एसपी रीडायरेक्ट बाइंड/आईडीपी पोस्ट प्रतिक्रिया)]]संदेश प्रवाह सेवा प्रदाता पर एक सुरक्षित संसाधन के अनुरोध के साथ शुरू होता है। | [[File:Saml2-browser-sso-redirect-post.png|thumb|none|700px|एसएएमएल 2.0 वेब ब्राउज़र एसएसओ (एसपी रीडायरेक्ट बाइंड/आईडीपी पोस्ट प्रतिक्रिया)]]संदेश प्रवाह सेवा प्रदाता पर एक सुरक्षित संसाधन के अनुरोध के साथ शुरू होता है। | ||
| Line 315: | Line 313: | ||
1. एसपी से लक्ष्य संसाधन का अनुरोध करें | 1. एसपी से लक्ष्य संसाधन का अनुरोध करें | ||
प्रिंसिपल (एक | प्रिंसिपल (एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट के माध्यम से) सेवा प्रदाता पर लक्ष्य संसाधन का अनुरोध करता है: | ||
<nowiki>https://sp.example.com/myresource</nowiki> | <nowiki>https://sp.example.com/myresource</nowiki> | ||
| Line 325: | Line 323: | ||
2. आईडीपी एसएसओ सेवा पर रीडायरेक्ट करें | 2. आईडीपी एसएसओ सेवा पर रीडायरेक्ट करें | ||
सेवा प्रदाता एक उपयुक्त | सेवा प्रदाता एक उपयुक्त एसएएमएलRequest (और RelayState, यदि कोई हो) उत्पन्न करता है, फिर एक मानक [[HTTP 302|हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल 302]] रीडायरेक्ट का उपयोग करके ब्राउज़र को IdP एसएसओ सेवा पर रीडायरेक्ट करता है। | ||
<syntaxhighlight lang="http"> | <syntaxhighlight lang="http"> | ||
| Line 332: | Line 330: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<code>RelayState</code> ई> टोकन सेवा प्रदाता पर रखी गई राज्य सूचना का एक अपारदर्शी संदर्भ है। का मूल्य <code> | <code>RelayState</code> ई> टोकन सेवा प्रदाता पर रखी गई राज्य सूचना का एक अपारदर्शी संदर्भ है। का मूल्य <code>एसएएमएलRequest</code> पैरामीटर एक डिफ्लेटेड, बेस 64-एन्कोडेड और यूआरएल-एन्कोडेड मान है <code><samlp:AuthnRequest></code> तत्व: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
| Line 348: | Line 346: | ||
</samlp:AuthnRequest> | </samlp:AuthnRequest> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
SP | SP चिन्ह कुंजी का उपयोग करके एसएएमएलRequest पर चिन्ह किए जा सकते हैं। सामान्य रूप से, हालांकि, यह आवश्यक नहीं है। | ||
3. IdP पर | 3. IdP पर एसएसओ सेवा के लिए अनुरोध करें | ||
उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा के लिए एक जीईटी अनुरोध जारी करता है: | उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा के लिए एक जीईटी अनुरोध जारी करता है: | ||
<सिंटैक्सहाइलाइट लैंग = http हाइलाइट = 6> | <सिंटैक्सहाइलाइट लैंग = http हाइलाइट = 6> | ||
GET / | GET /एसएएमएल2/एसएसओ/रीडायरेक्ट?एसएएमएलRequest=request&RelayState=token हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल/1.1 | ||
होस्ट: idp.example.org | होस्ट: idp.example.org | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
जहां के मूल्य <code> | जहां के मूल्य <code>एसएएमएलRequest</code> और <code>RelayState</code> पैरामीटर वही हैं जो रीडायरेक्ट में दिए गए हैं. पहचान प्रदाता पर एसएसओ सेवा प्रक्रिया करती है <code><samlp:AuthnRequest></code> तत्व (यूआरएल-डिकोडिंग, बेस 64-डिकोडिंग और उस क्रम में अनुरोध को बढ़ाकर) और सुरक्षा जांच करता है। यदि उपयोगकर्ता के पास वैध सुरक्षा संदर्भ नहीं है, तो पहचान प्रदाता उपयोगकर्ता को किसी भी तंत्र (विवरण छोड़े गए) के साथ पहचानता है। | ||
4. एक्सएचटीएमएल फॉर्म के साथ प्रतिक्रिया दें | 4. एक्सएचटीएमएल फॉर्म के साथ प्रतिक्रिया दें | ||
| Line 366: | Line 364: | ||
<वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3> | <वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3> | ||
<फॉर्म विधि = पोस्ट कार्रवाई = https://sp.example.com/SAML2/SSO/POST ...> | <फॉर्म विधि = पोस्ट कार्रवाई = [https://sp.example.com/SAML2/SSO/POST https://sp.example.com/एसएएमएल2/एसएसओ/POST] ...> | ||
<इनपुट प्रकार = छिपा हुआ नाम = | <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलResponse मान = प्रतिक्रिया /> | ||
<इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> | <इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> | ||
... | ... | ||
| Line 374: | Line 372: | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
का मूल्य <code>RelayState</code> पैरामीटर को चरण 3 से संरक्षित किया गया है। का मान <code> | का मूल्य <code>RelayState</code> पैरामीटर को चरण 3 से संरक्षित किया गया है। का मान <code>एसएएमएलResponse</code> पैरामीटर निम्न का बेस 64 एन्कोडिंग है <code><samlp:Response></code> तत्व: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
| Line 438: | Line 436: | ||
पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 | पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 | ||
होस्ट: sp.example.com | होस्ट: sp.example.com | ||
वस्तु-प्रकार: एप्लिकेशन/x-www-form-urlencoded | |||
वस्तु-लंबाई: एनएनएन | |||
एसएएमएलResponse=प्रतिक्रिया&RelayState=token | |||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
जहां के मूल्य <code> | जहां के मूल्य <code>एसएएमएलResponse</code> और <code>RelayState</code> पैरामीटर चरण 4 पर XHTML फ़ॉर्म से लिए गए हैं। | ||
6. लक्ष्य संसाधन पर पुनर्निर्देशित करें | 6. लक्ष्य संसाधन पर पुनर्निर्देशित करें | ||
| Line 462: | Line 460: | ||
==== सपा पोस्ट अनुरोध; आईडीपी पोस्ट प्रतिक्रिया ==== | ==== सपा पोस्ट अनुरोध; आईडीपी पोस्ट प्रतिक्रिया ==== | ||
यह | यह एसएएमएल 2.0 वेब ब्राउज़र एसएसओ प्रोफ़ाइल (एसएएमएलProf<ref name="SAMLProf"/> जहाँ सेवा प्रदाता (SP) और पहचान प्रदाता (IdP) दोनों हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग का उपयोग करते हैं। | ||
[[File:Saml2-browser-sso-post.gif|frame|center|एसएएमएल 2.0 वेब ब्राउज़र एसएसओ (पोस्ट)]]संदेश प्रवाह एसपी में एक सुरक्षित संसाधन के अनुरोध के साथ शुरू होता है। | [[File:Saml2-browser-sso-post.gif|frame|center|एसएएमएल 2.0 वेब ब्राउज़र एसएसओ (पोस्ट)]]संदेश प्रवाह एसपी में एक सुरक्षित संसाधन के अनुरोध के साथ शुरू होता है। | ||
| Line 468: | Line 466: | ||
1. एसपी से लक्ष्य संसाधन का अनुरोध करें | 1. एसपी से लक्ष्य संसाधन का अनुरोध करें | ||
प्रिंसिपल (एक | प्रिंसिपल (एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट के माध्यम से) सेवा प्रदाता पर लक्ष्य संसाधन का अनुरोध करता है: | ||
<nowiki>https://sp.example.com/myresource</nowiki> | <nowiki>https://sp.example.com/myresource</nowiki> | ||
| Line 478: | Line 476: | ||
सेवा प्रदाता XHTML फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करता है: | सेवा प्रदाता XHTML फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करता है: | ||
<वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3> | <वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3> | ||
<फॉर्म विधि = पोस्ट एक्शन = https://idp.example.org/SAML2/SSO/POST ...> | <फॉर्म विधि = पोस्ट एक्शन = [https://idp.example.org/SAML2/SSO/POST https://idp.example.org/एसएएमएल2/एसएसओ/POST] ...> | ||
<इनपुट प्रकार = छिपा हुआ नाम = | <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलRequest मान = अनुरोध /> | ||
<इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> | <इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> | ||
... | ... | ||
<इनपुट प्रकार = मूल्य जमा करें = जमा करें /> | <इनपुट प्रकार = मूल्य जमा करें = जमा करें /> | ||
</रूप> | </रूप> | ||
</वाक्यविन्यास हाइलाइट> <code>RelayState</code> ई> टोकन सेवा प्रदाता पर रखी गई राज्य सूचना का एक अपारदर्शी संदर्भ है। का मूल्य <code> | </वाक्यविन्यास हाइलाइट> <code>RelayState</code> ई> टोकन सेवा प्रदाता पर रखी गई राज्य सूचना का एक अपारदर्शी संदर्भ है। का मूल्य <code>एसएएमएलRequest</code> पैरामीटर निम्न का बेस 64 एन्कोडिंग है <code><samlp:AuthnRequest></code> तत्व: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<samlp:AuthnRequest | <samlp:AuthnRequest | ||
| Line 501: | Line 499: | ||
से पहले <code><samlp:AuthnRequest></code> तत्व एक्सएचटीएमएल फॉर्म में डाला गया है, यह पहले बेस 64-एन्कोडेड है। | से पहले <code><samlp:AuthnRequest></code> तत्व एक्सएचटीएमएल फॉर्म में डाला गया है, यह पहले बेस 64-एन्कोडेड है। | ||
3. IdP पर | 3. IdP पर एसएसओ सेवा के लिए अनुरोध करें | ||
उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा के लिए एक पोस्ट अनुरोध जारी करता है: | उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा के लिए एक पोस्ट अनुरोध जारी करता है: | ||
| Line 507: | Line 505: | ||
पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 | पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 | ||
होस्ट: idp.example.org | होस्ट: idp.example.org | ||
वस्तु-प्रकार: एप्लिकेशन/x-www-form-urlencoded | |||
वस्तु-लंबाई: एनएनएन | |||
एसएएमएलRequest=request&RelayState=token | |||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
जहां के मूल्य <code> | जहां के मूल्य <code>एसएएमएलRequest</code> और <code>RelayState</code> पैरामीटर चरण 2 पर XHTML प्रपत्र से लिए गए हैं। एसएसओ सेवा प्रक्रिया करती है <code><samlp:AuthnRequest></code> तत्व (यूआरएल-डिकोडिंग, बेस 64-डिकोडिंग और उस क्रम में अनुरोध को बढ़ाकर) और सुरक्षा जांच करता है। यदि उपयोगकर्ता के पास वैध सुरक्षा संदर्भ नहीं है, तो पहचान प्रदाता उपयोगकर्ता की पहचान करता है (विवरण छोड़ा गया)। | ||
4. एक्सएचटीएमएल फॉर्म के साथ प्रतिक्रिया दें | 4. एक्सएचटीएमएल फॉर्म के साथ प्रतिक्रिया दें | ||
| Line 518: | Line 516: | ||
एसएसओ सेवा अनुरोध को मान्य करती है और एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करती है: | एसएसओ सेवा अनुरोध को मान्य करती है और एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करती है: | ||
<वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3> | <वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3> | ||
<फॉर्म विधि = पोस्ट कार्रवाई = https://sp.example.com/SAML2/SSO/POST ...> | <फॉर्म विधि = पोस्ट कार्रवाई = [https://sp.example.com/SAML2/SSO/POST https://sp.example.com/एसएएमएल2/एसएसओ/POST] ...> | ||
<इनपुट प्रकार = छिपा हुआ नाम = | <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलResponse मान = प्रतिक्रिया /> | ||
<इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> | <इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> | ||
... | ... | ||
| Line 525: | Line 523: | ||
</रूप> | </रूप> | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
का मूल्य <code>RelayState</code> पैरामीटर को चरण 3 से संरक्षित किया गया है। का मान <code> | का मूल्य <code>RelayState</code> पैरामीटर को चरण 3 से संरक्षित किया गया है। का मान <code>एसएएमएलResponse</code> पैरामीटर निम्न का बेस 64 एन्कोडिंग है <code><samlp:Response></code> तत्व: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<samlp:Response | <samlp:Response | ||
| Line 587: | Line 585: | ||
पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 | पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 | ||
होस्ट: sp.example.com | होस्ट: sp.example.com | ||
वस्तु-प्रकार: एप्लिकेशन/x-www-form-urlencoded | |||
वस्तु-लंबाई: एनएनएन | |||
एसएएमएलResponse=प्रतिक्रिया&RelayState=token | |||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
जहां के मूल्य <code> | जहां के मूल्य <code>एसएएमएलResponse</code> और <code>RelayState</code> पैरामीटर चरण 4 पर XHTML फ़ॉर्म से लिए गए हैं। | ||
6. लक्ष्य संसाधन पर पुनर्निर्देशित करें | 6. लक्ष्य संसाधन पर पुनर्निर्देशित करें | ||
| Line 608: | Line 606: | ||
चूंकि एक सुरक्षा संदर्भ मौजूद है, सेवा प्रदाता संसाधन को उपयोगकर्ता एजेंट को लौटाता है। | चूंकि एक सुरक्षा संदर्भ मौजूद है, सेवा प्रदाता संसाधन को उपयोगकर्ता एजेंट को लौटाता है। | ||
==== एसपी रीडायरेक्ट | ==== एसपी रीडायरेक्ट अर्टिफैक्ट; IdP अनुप्रेषित अर्टिफैक्ट साक्ष्य == | ||
यह | यह एसएएमएल 2.0 वेब ब्राउज़र एसएसओ प्रोफ़ाइल (एसएएमएलProf<ref name="SAMLProf"/> जहां सेवा प्रदाता (SP) और पहचान प्रदाता (IdP) दोनों हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग का उपयोग करते हैं। दोनों कलाकृतियों को हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल GET के माध्यम से उनके संबंधित समापन बिंदुओं तक पहुँचाया जाता है। | ||
[[File:Saml2-browser-sso-artifact.gif|frame|center| | [[File:Saml2-browser-sso-artifact.gif|frame|center|एसएएमएल 2.0 वेब ब्राउज़र एसएसओ (अर्टिफैक्ट साक्ष्य)]]एसपी में एक सुरक्षित संसाधन के अनुरोध के साथ संदेश प्रवाह शुरू होता है: | ||
1. एसपी से लक्ष्य संसाधन का अनुरोध करें | 1. एसपी से लक्ष्य संसाधन का अनुरोध करें | ||
प्रिंसिपल (एक | प्रिंसिपल (एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट के माध्यम से) सेवा प्रदाता पर लक्ष्य संसाधन का अनुरोध करता है: | ||
<nowiki>https://sp.example.com/myresource</nowiki> | <nowiki>https://sp.example.com/myresource</nowiki> | ||
| Line 622: | Line 620: | ||
सेवा प्रदाता लक्ष्य संसाधन की ओर से सुरक्षा जांच करता है। यदि सेवा प्रदाता के पास एक मान्य सुरक्षा संदर्भ पहले से मौजूद है, तो चरण 2-11 को छोड़ दें। | सेवा प्रदाता लक्ष्य संसाधन की ओर से सुरक्षा जांच करता है। यदि सेवा प्रदाता के पास एक मान्य सुरक्षा संदर्भ पहले से मौजूद है, तो चरण 2-11 को छोड़ दें। | ||
2. IdP पर | 2. IdP पर एकल साइन-ऑन (एसएसओ) सेवा पर रीडायरेक्ट करें | ||
सेवा प्रदाता पहचान प्रदाता पर उपयोगकर्ता एजेंट को एकल साइन-ऑन ( | सेवा प्रदाता पहचान प्रदाता पर उपयोगकर्ता एजेंट को एकल साइन-ऑन (एसएसओ) सेवा पर पुनर्निर्देशित करता है। ए <code>RelayState</code> पैरामीटर और ए <code>एसएएमएलart</code> रीडायरेक्ट URL में पैरामीटर जोड़े जाते हैं। | ||
3. IdP पर | 3. IdP पर एसएसओ सेवा के लिए अनुरोध करें | ||
उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा का अनुरोध करता है: | उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा का अनुरोध करता है: | ||
<nowiki>https://idp.example.org/ | <nowiki>https://idp.example.org/एसएएमएल2/एसएसओ/Artifact?एसएएमएलart=</nowiki>''artifact_1''&RelayState=''token'' | ||
कहाँ <code>''token''</code> सेवा प्रदाता और पर रखी गई राज्य की जानकारी का एक अपारदर्शी संदर्भ है <code>''artifact_1''</code> एक | कहाँ <code>''token''</code> सेवा प्रदाता और पर रखी गई राज्य की जानकारी का एक अपारदर्शी संदर्भ है <code>''artifact_1''</code> एक एसएएमएल अर्टिफैक्ट साक्ष्य है, दोनों चरण 2 पर जारी किए गए हैं। | ||
4. एसपी में | 4. एसपी में अर्टिफैक्ट साक्ष्य समाधान सेवा का अनुरोध करें | ||
एसएसओ सेवा एक भेजकर | एसएसओ सेवा एक भेजकर अर्टिफैक्ट को संदर्भित करती है <code><samlp:ArtifactResolve></code> सेवा प्रदाता पर अर्टिफैक्ट साक्ष्य समाधान सेवा के लिए एसएएमएल SOAP संदेश के लिए बाध्य तत्व: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<samlp:ArtifactResolve | <samlp:ArtifactResolve | ||
| Line 652: | Line 650: | ||
</samlp:ArtifactResolve> | </samlp:ArtifactResolve> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
जहां का मूल्य <code><samlp:Artifact></code> तत्व चरण 3 में प्रेषित | जहां का मूल्य <code><samlp:Artifact></code> तत्व चरण 3 में प्रेषित एसएएमएल अर्टिफैक्ट साक्ष्य है। | ||
5. | 5. एसएएमएल प्रमाणीकरण अनुरोध के साथ प्रतिक्रिया दें | ||
सर्विस प्रोवाइडर की | सर्विस प्रोवाइडर की अर्टिफैक्ट रेजोल्यूशन सर्विस रिटर्न करती है <code><samlp:ArtifactResponse></code> तत्व (एक युक्त <code><samlp:AuthnRequest></code> तत्व) पहचान प्रदाता पर एसएसओ सेवा के लिए एक एसएएमएल SOAP संदेश के लिए बाध्य: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<samlp:ArtifactResponse | <samlp:ArtifactResponse | ||
| Line 687: | Line 685: | ||
</samlp:ArtifactResponse> | </samlp:ArtifactResponse> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
एसएसओ सेवा प्रक्रिया करती है <code><samlp:AuthnRequest></code> तत्व और एक सुरक्षा जांच करता है। यदि उपयोगकर्ता के पास वैध सुरक्षा संदर्भ नहीं है, तो पहचान प्रदाता उपयोगकर्ता की पहचान करता है (विवरण छोड़ा गया)। | |||
6. अभिकथन उपभोक्ता सेवा पर पुनर्निर्देशित करें | 6. अभिकथन उपभोक्ता सेवा पर पुनर्निर्देशित करें | ||
पहचान प्रदाता पर | पहचान प्रदाता पर एसएसओ सेवा उपयोगकर्ता एजेंट को सेवा प्रदाता पर अभिकथन उपभोक्ता सेवा पर पुनर्निर्देशित करती है। पूर्व <code>RelayState</code> पैरामीटर और एक नया <code>एसएएमएलart</code> रीडायरेक्ट URL में पैरामीटर जोड़े जाते हैं। | ||
7. एसपी में अभिकथन उपभोक्ता सेवा का अनुरोध करें | 7. एसपी में अभिकथन उपभोक्ता सेवा का अनुरोध करें | ||
| Line 697: | Line 695: | ||
उपयोगकर्ता एजेंट सेवा प्रदाता पर दावा उपभोक्ता सेवा का अनुरोध करता है: | उपयोगकर्ता एजेंट सेवा प्रदाता पर दावा उपभोक्ता सेवा का अनुरोध करता है: | ||
<nowiki>https://sp.example.com/ | <nowiki>https://sp.example.com/एसएएमएल2/एसएसओ/Artifact?एसएएमएलart=</nowiki>''artifact_2''&RelayState=''token'' | ||
कहाँ <code>''token''</code> चरण 3 से टोकन मान है और <code>''artifact_2''</code> चरण 6 में जारी किया गया | कहाँ <code>''token''</code> चरण 3 से टोकन मान है और <code>''artifact_2''</code> चरण 6 में जारी किया गया एसएएमएल अर्टिफैक्ट साक्ष्य है। | ||
8. IdP पर | 8. IdP पर अर्टिफैक्ट साक्ष्य समाधान सेवा का अनुरोध करें | ||
अभिकथन उपभोक्ता सेवा | अभिकथन उपभोक्ता सेवा अर्टिफैक्ट को एक भेजकर डिरेफेरेंस करती है <code><samlp:ArtifactResolve></code> पहचान प्रदाता पर अर्टिफैक्ट साक्ष्य समाधान सेवा के लिए एसएएमएल SOAP संदेश के लिए बाध्य तत्व: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<samlp:ArtifactResolve | <samlp:ArtifactResolve | ||
| Line 719: | Line 717: | ||
</samlp:ArtifactResolve> | </samlp:ArtifactResolve> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
जहां का मूल्य <code><samlp:Artifact></code> तत्व चरण 7 पर प्रेषित | जहां का मूल्य <code><samlp:Artifact></code> तत्व चरण 7 पर प्रेषित एसएएमएल अर्टिफैक्ट साक्ष्य है। | ||
9. | 9. एसएएमएल अभिकथन के साथ प्रतिक्रिया दें | ||
आइडेंटिटी प्रोवाइडर पर | आइडेंटिटी प्रोवाइडर पर अर्टिफैक्ट रेजोल्यूशन सर्विस रिटर्न करती है <code><samlp:ArtifactResponse></code> तत्व (एक युक्त <code><samlp:Response></code> तत्व) सेवा प्रदाता पर दावा उपभोक्ता सेवा के लिए एक एसएएमएल SOAP संदेश के लिए बाध्य है: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<samlp:ArtifactResponse | <samlp:ArtifactResponse | ||
| Line 809: | Line 807: | ||
=== पहचान प्रदाता डिस्कवरी प्रोफ़ाइल === | === पहचान प्रदाता डिस्कवरी प्रोफ़ाइल === | ||
एसएएमएल 2.0 आइडेंटिटी प्रोवाइडर डिस्कवरी प्रोफ़ाइल में नीचे दी गई अवधारणाएं सम्मिलित हैं: | |||
* 'आम डोमेन' | * 'आम डोमेन' | ||
| Line 818: | Line 816: | ||
सामान्य डोमेन के एक काल्पनिक उदाहरण के रूप में, मान लें कि उदाहरण यूके (example.co.uk) और उदाहरण Deutschland (example.de) आभासी संगठन उदाहरण ग्लोबल एलायंस (example.com) से संबंधित हैं। इस उदाहरण में, 'example.com' डोमेन सामान्य डोमेन है। उदाहरण यूके और उदाहरण Deutschland दोनों की इस डोमेन में मौजूदगी है (uk.example.com और de.example.com, सम्मान)। | सामान्य डोमेन के एक काल्पनिक उदाहरण के रूप में, मान लें कि उदाहरण यूके (example.co.uk) और उदाहरण Deutschland (example.de) आभासी संगठन उदाहरण ग्लोबल एलायंस (example.com) से संबंधित हैं। इस उदाहरण में, 'example.com' डोमेन सामान्य डोमेन है। उदाहरण यूके और उदाहरण Deutschland दोनों की इस डोमेन में मौजूदगी है (uk.example.com और de.example.com, सम्मान)। | ||
सामान्य डोमेन कुकी एक सुरक्षित ब्राउज़र कुकी है जिसका दायरा सामान्य डोमेन तक सीमित है। प्रत्येक ब्राउज़र उपयोगकर्ता के लिए, यह कुकी हाल ही में विज़िट किए गए IdPs की एक इतिहास सूची संग्रहीत करती है। कुकी का नाम और मान IdP डिस्कवरी प्रोफ़ाइल ( | सामान्य डोमेन कुकी एक सुरक्षित ब्राउज़र कुकी है जिसका दायरा सामान्य डोमेन तक सीमित है। प्रत्येक ब्राउज़र उपयोगकर्ता के लिए, यह कुकी हाल ही में विज़िट किए गए IdPs की एक इतिहास सूची संग्रहीत करती है। कुकी का नाम और मान IdP डिस्कवरी प्रोफ़ाइल (एसएएमएलProf<ref name="SAMLProf"/>). | ||
प्रमाणीकरण के एक सफल कार्य के बाद, आईडीपी सामान्य डोमेन कुकी लेखन सेवा का अनुरोध करता है। यह सेवा IdP के विशिष्ट पहचानकर्ता को सामान्य डोमेन कुकी में जोड़ती है। एसपी, जब इसे एक संरक्षित संसाधन के लिए एक अप्रमाणित अनुरोध प्राप्त होता है, तो सामान्य डोमेन कुकी रीडिंग सर्विस से अनुरोध करता है कि वह ब्राउजर उपयोगकर्ता के सबसे हाल ही में उपयोग किए गए आईडीपी की खोज करे। | प्रमाणीकरण के एक सफल कार्य के बाद, आईडीपी सामान्य डोमेन कुकी लेखन सेवा का अनुरोध करता है। यह सेवा IdP के विशिष्ट पहचानकर्ता को सामान्य डोमेन कुकी में जोड़ती है। एसपी, जब इसे एक संरक्षित संसाधन के लिए एक अप्रमाणित अनुरोध प्राप्त होता है, तो सामान्य डोमेन कुकी रीडिंग सर्विस से अनुरोध करता है कि वह ब्राउजर उपयोगकर्ता के सबसे हाल ही में उपयोग किए गए आईडीपी की खोज करे। | ||
| Line 824: | Line 822: | ||
=== अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल === | === अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल === | ||
अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल एक सामान्य प्रोफ़ाइल है जो निम्नलिखित | अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल एक सामान्य प्रोफ़ाइल है जो निम्नलिखित एसएएमएल 2.0 तत्वों का उपयोग करके कई प्रकार के तथाकथित प्रश्नों को समायोजित करती है: | ||
* द <code><samlp:AssertionIDRequest></code> एलिमेंट, जिसका उपयोग उसके विशिष्ट पहचानकर्ता (<code>ID</code>) | * द <code><samlp:AssertionIDRequest></code> एलिमेंट, जिसका उपयोग उसके विशिष्ट पहचानकर्ता (<code>ID</code>) | ||
* द <code><samlp:SubjectQuery></code> तत्व, जो एक सार विस्तार बिंदु है जो नए विषय-आधारित | * द <code><samlp:SubjectQuery></code> तत्व, जो एक सार विस्तार बिंदु है जो नए विषय-आधारित एसएएमएल प्रश्नों को परिभाषित करने की अनुमति देता है | ||
* द <code><samlp:AuthnQuery></code> तत्व, जिसका उपयोग प्रमाणीकरण प्राधिकरण से किसी दिए गए विषय के बारे में मौजूदा प्रमाणीकरण दावे का अनुरोध करने के लिए किया जाता है | * द <code><samlp:AuthnQuery></code> तत्व, जिसका उपयोग प्रमाणीकरण प्राधिकरण से किसी दिए गए विषय के बारे में मौजूदा प्रमाणीकरण दावे का अनुरोध करने के लिए किया जाता है | ||
* द <code><samlp:AttributeQuery></code> तत्व, जिसका उपयोग किसी विशेषता प्राधिकरण से किसी दिए गए विषय के बारे में विशेषताओं का अनुरोध करने के लिए किया जाता है | * द <code><samlp:AttributeQuery></code> तत्व, जिसका उपयोग किसी विशेषता प्राधिकरण से किसी दिए गए विषय के बारे में विशेषताओं का अनुरोध करने के लिए किया जाता है | ||
* द <code><samlp:AuthzDecisionQuery></code> तत्व, जिसका उपयोग किसी विश्वसनीय तृतीय पक्ष से प्राधिकरण निर्णय का अनुरोध करने के लिए किया जाता है | * द <code><samlp:AuthzDecisionQuery></code> तत्व, जिसका उपयोग किसी विश्वसनीय तृतीय पक्ष से प्राधिकरण निर्णय का अनुरोध करने के लिए किया जाता है | ||
एसएएमएल SOAP बाइंडिंग का उपयोग अक्सर प्रश्नों के संयोजन में किया जाता है। | |||
==== | ==== एसएएमएल विशेषता क्वेरी ==== | ||
विशेषता क्वेरी शायद | विशेषता क्वेरी शायद एसएएमएल क्वेरी का सबसे महत्वपूर्ण प्रकार है। अक्सर एक अनुरोधकर्ता, प्रिंसिपल की ओर से कार्य करता है, विशेषताओं के लिए एक पहचान प्रदाता से पूछताछ करता है। नीचे हम एक प्रिंसिपल द्वारा सीधे जारी किए गए प्रश्न का उदाहरण देते हैं: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<samlp:AttributeQuery | <samlp:AttributeQuery | ||
| Line 945: | Line 943: | ||
</saml:Assertion> | </saml:Assertion> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
पहले दिखाए गए #BearerAssertion के विपरीत, इस अभिकथन का जीवनकाल X.509 प्रमाणपत्र के जीवनकाल के अनुरूप होता है जिसका उपयोग प्रिंसिपल पहचान प्रदाता को प्रमाणित करने के लिए करता है। इसके अलावा, चूंकि अभिकथन पर | पहले दिखाए गए #BearerAssertion के विपरीत, इस अभिकथन का जीवनकाल X.509 प्रमाणपत्र के जीवनकाल के अनुरूप होता है जिसका उपयोग प्रिंसिपल पहचान प्रदाता को प्रमाणित करने के लिए करता है। इसके अलावा, चूंकि अभिकथन पर चिन्ह किए गए हैं, इसलिए उपयोगकर्ता इस अभिकथन को एक निर्भर पक्ष को धकेल सकता है, और जब तक उपयोगकर्ता संबंधित निजी कुंजी (इसलिए नाम धारक-की-कुंजी) का अधिकार साबित कर सकता है, निर्भर पक्ष को आश्वस्त किया जा सकता है कि दावा प्रामाणिक है। | ||
== एसएएमएल 2.0 मेटाडेटा == | == एसएएमएल 2.0 मेटाडेटा == | ||
वस्तुतः, मेटाडेटा वह है जो | वस्तुतः, मेटाडेटा वह है जो एसएएमएल को काम करता है (या अच्छी तरह से काम करता है)। मेटाडेटा के कुछ महत्वपूर्ण उपयोगों में सम्मिलित हैं: | ||
* एक सेवा प्रदाता एक संचारित करने के लिए तैयार करता है <code><samlp:AuthnRequest></code> ब्राउज़र के माध्यम से एक पहचान प्रदाता के लिए तत्व। सेवा प्रदाता कैसे जानता है कि पहचान प्रदाता प्रामाणिक है न कि कोई दुष्ट पहचान प्रदाता उपयोगकर्ता के पासवर्ड को [[फ़िशिंग]] करने का प्रयास कर रहा है? प्रमाणीकरण अनुरोध जारी करने से पहले सेवा प्रदाता अपने विश्वसनीय पहचान प्रदाताओं की सूची <strong>मेटाडेटा में</strong> से परामर्श करता है। | * एक सेवा प्रदाता एक संचारित करने के लिए तैयार करता है <code><samlp:AuthnRequest></code> ब्राउज़र के माध्यम से एक पहचान प्रदाता के लिए तत्व। सेवा प्रदाता कैसे जानता है कि पहचान प्रदाता प्रामाणिक है न कि कोई दुष्ट पहचान प्रदाता उपयोगकर्ता के पासवर्ड को [[फ़िशिंग]] करने का प्रयास कर रहा है? प्रमाणीकरण अनुरोध जारी करने से पहले सेवा प्रदाता अपने विश्वसनीय पहचान प्रदाताओं की सूची <strong>मेटाडेटा में</strong> से परामर्श करता है। | ||
* पिछले परिदृश्य में, सेवा प्रदाता कैसे जानता है कि प्रमाणीकरण अनुरोध के साथ उपयोगकर्ता को कहाँ भेजा जाए? सेवा प्रदाता <strong>मेटाडेटा में</strong> विश्वसनीय पहचान प्रदाता के पूर्व-व्यवस्थित एंडपॉइंट स्थान की तलाश करता है। | * पिछले परिदृश्य में, सेवा प्रदाता कैसे जानता है कि प्रमाणीकरण अनुरोध के साथ उपयोगकर्ता को कहाँ भेजा जाए? सेवा प्रदाता <strong>मेटाडेटा में</strong> विश्वसनीय पहचान प्रदाता के पूर्व-व्यवस्थित एंडपॉइंट स्थान की तलाश करता है। | ||
* एक पहचान प्रदाता एक प्राप्त करता है <code><samlp:AuthnRequest></code> ब्राउज़र के माध्यम से एक सेवा प्रदाता से तत्व। पहचान प्रदाता कैसे जानता है कि सेवा प्रदाता प्रामाणिक है और उपयोगकर्ता के बारे में व्यक्तिगत रूप से पहचाने जाने योग्य जानकारी की कटाई करने की कोशिश कर रहे कुछ बुरे सेवा प्रदाता नहीं हैं? प्रमाणीकरण प्रतिक्रिया जारी करने से पहले पहचान प्रदाता <strong>मेटाडेटा में</strong> अपने विश्वसनीय सेवा प्रदाताओं की सूची से परामर्श करता है। | * एक पहचान प्रदाता एक प्राप्त करता है <code><samlp:AuthnRequest></code> ब्राउज़र के माध्यम से एक सेवा प्रदाता से तत्व। पहचान प्रदाता कैसे जानता है कि सेवा प्रदाता प्रामाणिक है और उपयोगकर्ता के बारे में व्यक्तिगत रूप से पहचाने जाने योग्य जानकारी की कटाई करने की कोशिश कर रहे कुछ बुरे सेवा प्रदाता नहीं हैं? प्रमाणीकरण प्रतिक्रिया जारी करने से पहले पहचान प्रदाता <strong>मेटाडेटा में</strong> अपने विश्वसनीय सेवा प्रदाताओं की सूची से परामर्श करता है। | ||
* पिछले परिदृश्य में, पहचान प्रदाता | * पिछले परिदृश्य में, पहचान प्रदाता एसएएमएल अभिकथन को कैसे एन्क्रिप्ट करता है ताकि विश्वसनीय सेवा प्रदाता (और केवल विश्वसनीय सेवा प्रदाता) अभिकथन को डिक्रिप्ट कर सके। पहचान प्रदाता अभिकथन को एन्क्रिप्ट करने के लिए <strong>मेटाडेटा में</strong> सेवा प्रदाता के एन्क्रिप्शन प्रमाणपत्र का उपयोग करता है। | ||
* पिछले परिदृश्य को जारी रखते हुए, पहचान प्रदाता कैसे जानता है कि उपयोगकर्ता को प्रमाणीकरण प्रतिक्रिया के साथ कहां भेजा जाए? पहचान प्रदाता <strong>मेटाडेटा में</strong> विश्वसनीय सेवा प्रदाता के पूर्व-व्यवस्थित एंडपॉइंट स्थान की तलाश करता है। | * पिछले परिदृश्य को जारी रखते हुए, पहचान प्रदाता कैसे जानता है कि उपयोगकर्ता को प्रमाणीकरण प्रतिक्रिया के साथ कहां भेजा जाए? पहचान प्रदाता <strong>मेटाडेटा में</strong> विश्वसनीय सेवा प्रदाता के पूर्व-व्यवस्थित एंडपॉइंट स्थान की तलाश करता है। | ||
* सेवा प्रदाता कैसे जानता है कि प्रमाणीकरण प्रतिक्रिया एक विश्वसनीय पहचान प्रदाता से आई है? सेवा प्रदाता <strong>मेटाडेटा से</strong> पहचान प्रदाता की सार्वजनिक कुंजी का उपयोग करके अभिकथन पर | * सेवा प्रदाता कैसे जानता है कि प्रमाणीकरण प्रतिक्रिया एक विश्वसनीय पहचान प्रदाता से आई है? सेवा प्रदाता <strong>मेटाडेटा से</strong> पहचान प्रदाता की सार्वजनिक कुंजी का उपयोग करके अभिकथन पर चिन्ह की पुष्टि करता है। | ||
* सेवा प्रदाता को यह कैसे पता चलता है कि विश्वसनीय पहचान प्रदाता से प्राप्त | * सेवा प्रदाता को यह कैसे पता चलता है कि विश्वसनीय पहचान प्रदाता से प्राप्त अर्टिफैक्ट का समाधान कहां करना है? सेवा प्रदाता <strong>मेटाडेटा से</strong> पहचान प्रदाता की अर्टिफैक्ट साक्ष्य समाधान सेवा के पूर्व-व्यवस्थित एंडपॉइंट स्थान को देखता है। | ||
मेटाडेटा पहचान प्रदाता और सेवा प्रदाता के बीच एक सुरक्षित लेनदेन सुनिश्चित करता है। मेटाडेटा से पहले, ट्रस्ट की जानकारी को मालिकाना तरीके से कार्यान्वयन में एन्कोड किया गया था। अब ट्रस्ट की जानकारी साझा करने की सुविधा मानक मेटाडेटा द्वारा दी जाती है। | मेटाडेटा पहचान प्रदाता और सेवा प्रदाता के बीच एक सुरक्षित लेनदेन सुनिश्चित करता है। मेटाडेटा से पहले, ट्रस्ट की जानकारी को मालिकाना तरीके से कार्यान्वयन में एन्कोड किया गया था। अब ट्रस्ट की जानकारी साझा करने की सुविधा मानक मेटाडेटा द्वारा दी जाती है। एसएएमएल 2.0 एक अच्छी तरह से परिभाषित, इंटरऑपरेबल मेटाडेटा प्रारूप प्रदान करता है, जिसका उपयोग संस्थाएं विश्वास प्रक्रिया को बूटस्ट्रैप करने के लिए कर सकती हैं। | ||
=== पहचान प्रदाता मेटाडेटा === | === पहचान प्रदाता मेटाडेटा === | ||
| Line 986: | Line 984: | ||
* <code>entityID</code> ई> विशेषता इकाई का विशिष्ट पहचानकर्ता है। | * <code>entityID</code> ई> विशेषता इकाई का विशिष्ट पहचानकर्ता है। | ||
* <code>validUntil</code> e> विशेषता मेटाडेटा की | * <code>validUntil</code> e> विशेषता मेटाडेटा की अवसान तिथि देती है। | ||
* <code><ds:Signature></code> ई> तत्व (जिसे सादगी के लिए छोड़ दिया गया है) में एक डिजिटल | * <code><ds:Signature></code> ई> तत्व (जिसे सादगी के लिए छोड़ दिया गया है) में एक डिजिटल चिन्ह होता है जो मेटाडेटा की प्रामाणिकता और अखंडता सुनिश्चित करता है। | ||
* संगठन में पहचाना गया <code><md:Organization></code> तत्व इकाई विवरणक द्वारा वर्णित इकाई के लिए जिम्मेदार है ( | * संगठन में पहचाना गया <code><md:Organization></code> तत्व इकाई विवरणक द्वारा वर्णित इकाई के लिए जिम्मेदार है (एसएएमएलMeta का खंड 2.3.2<ref name="SAMLMeta"/>). | ||
* में संपर्क जानकारी <code><md:ContactPerson></code> तत्व इकाई के लिए जिम्मेदार एक तकनीकी संपर्क की पहचान करता है। एकाधिक संपर्क और संपर्क प्रकार संभव हैं। | * में संपर्क जानकारी <code><md:ContactPerson></code> तत्व इकाई के लिए जिम्मेदार एक तकनीकी संपर्क की पहचान करता है। एकाधिक संपर्क और संपर्क प्रकार संभव हैं। एसएएमएलMeta का अनुभाग 2.3.2.2 देखें।<ref name="SAMLMeta"/> | ||
परिभाषा के अनुसार, एक पहचान प्रदाता एक | परिभाषा के अनुसार, एक पहचान प्रदाता एक एसएसओ सेवा का प्रबंधन करता है जो एसएएमएलProf में निर्दिष्ट एसएएमएल वेब ब्राउज़र एसएसओ प्रोफ़ाइल का समर्थन करती है।<ref name="SAMLProf"/>उदाहरण के लिए, में वर्णित पहचान प्रदाता देखें <code><md:IDPएसएसओDescriptor></code> तत्व अगले भाग में दिखाया गया है। | ||
==== एसएसओ सेवा मेटाडेटा ==== | ==== एसएसओ सेवा मेटाडेटा ==== | ||
पहचान प्रदाता पर एसएसओ सेवा का वर्णन एक में किया गया है <code><md: | पहचान प्रदाता पर एसएसओ सेवा का वर्णन एक में किया गया है <code><md:IDPएसएसओDescriptor></code> तत्व: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<md:IDPSSODescriptor | <md:IDPSSODescriptor | ||
| Line 1,028: | Line 1,026: | ||
</md:IDPSSODescriptor> | </md:IDPSSODescriptor> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
पिछला मेटाडेटा तत्व पहचान प्रदाता पर | पिछला मेटाडेटा तत्व पहचान प्रदाता पर एसएसओ सेवा का वर्णन करता है। इस तत्व के बारे में निम्नलिखित विवरणों पर ध्यान दें: | ||
* पहचान प्रदाता सॉफ़्टवेयर को एक निजी | * पहचान प्रदाता सॉफ़्टवेयर को एक निजी एसएएमएल चिन्ह कुंजी और/या एक निजी बैक-चैनल टीएलएस कुंजी के साथ कॉन्फ़िगर किया गया है। संबंधित सार्वजनिक कुंजी इसमें सम्मिलित है <code><md:KeyDescriptor use="signing"></code> IdP मेटाडेटा में तत्व। संक्षिप्तता के लिए मुख्य विवरणक से मुख्य वस्तु को हटा दिया गया है। | ||
* <code>Binding</code> ई> की विशेषता <code><md:ArtifactResolutionService></code> तत्व इंगित करता है कि | * <code>Binding</code> ई> की विशेषता <code><md:ArtifactResolutionService></code> तत्व इंगित करता है कि एसएएमएल SOAP बाइंडिंग (एसएएमएलBind<ref name="SAMLBind"/> अर्टिफैक्ट साक्ष्य संकल्प के लिए इस्तेमाल किया जाना चाहिए। | ||
* <code>Location</code> ई> की विशेषता <code><md:ArtifactResolutionService></code> #SP रीडायरेक्ट आर्टिफ़ैक्ट के चरण 8 में तत्व का उपयोग किया गया है; IdP रीडायरेक्ट | * <code>Location</code> ई> की विशेषता <code><md:ArtifactResolutionService></code> #SP रीडायरेक्ट आर्टिफ़ैक्ट के चरण 8 में तत्व का उपयोग किया गया है; IdP रीडायरेक्ट अर्टिफैक्ट साक्ष्य प्रोफ़ाइल। | ||
* का मूल्य <code>index</code> की विशेषता <code><md:ArtifactResolutionService></code> तत्व के रूप में प्रयोग किया जाता है <code>EndpointIndex</code> | * का मूल्य <code>index</code> की विशेषता <code><md:ArtifactResolutionService></code> तत्व के रूप में प्रयोग किया जाता है <code>EndpointIndex</code> एसएएमएल प्रकार 0x0004 अर्टिफैक्ट साक्ष्य के निर्माण में। | ||
* <code><md:NameIDFormat></code> ई> तत्व इंगित करते हैं कि | * <code><md:NameIDFormat></code> ई> तत्व इंगित करते हैं कि एसएएमएल नाम पहचानकर्ता प्रारूप (एसएएमएल Core<ref name="SAMLCore"/> एसएसओ सेवा समर्थन करती है। | ||
* <code>Binding</code> ई> के गुण <code><md:SingleSignOnService></code> तत्व | * <code>Binding</code> ई> के गुण <code><md:SingleSignOnService></code> तत्व एसएएमएल 2.0 बाइंडिंग विनिर्देश (एसएएमएलBind<ref name="SAMLBind"/>). | ||
* <code>Location</code> ई> की विशेषता <code><md:SingleSignOnService></code> तत्व जो | * <code>Location</code> ई> की विशेषता <code><md:SingleSignOnService></code> तत्व जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग का समर्थन करता है, POST अनुरोध के चरण 2 में उपयोग किया जाता है; आईडीपी पोस्ट प्रतिक्रिया प्रोफ़ाइल। | ||
* <code>Location</code> ई> की विशेषता <code><md:SingleSignOnService></code> तत्व जो | * <code>Location</code> ई> की विशेषता <code><md:SingleSignOnService></code> तत्व जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग का समर्थन करता है #SP रीडायरेक्ट अर्टिफैक्ट के चरण 2 में उपयोग किया जाता है; IdP रीडायरेक्ट अर्टिफैक्ट साक्ष्य प्रोफ़ाइल। | ||
* <code><saml:Attribute></code> ई> तत्व एक विशेषता का वर्णन करता है कि पहचान प्रदाता दावा करने के लिए तैयार है (नीति के अधीन)। <code><saml:AttributeValue></code> ई> तत्व संभावित मूल्यों की गणना करते हैं जो विशेषता ले सकती है। | * <code><saml:Attribute></code> ई> तत्व एक विशेषता का वर्णन करता है कि पहचान प्रदाता दावा करने के लिए तैयार है (नीति के अधीन)। <code><saml:AttributeValue></code> ई> तत्व संभावित मूल्यों की गणना करते हैं जो विशेषता ले सकती है। | ||
जैसा कि इस खंड | जैसा कि इस खंड के प्रारंभ में उल्लेख किया गया है, के मान <code>Location</code> विशेषताएँ एसएएमएल संदेशों को रूट करने के लिए एक सेवा प्रदाता द्वारा उपयोग की जाती हैं, जो एक दुष्ट पहचान प्रदाता द्वारा एक मैन-इन-द-मिडल हमले की संभावना को कम करता है। | ||
=== सेवा प्रदाता मेटाडेटा === | === सेवा प्रदाता मेटाडेटा === | ||
| Line 1,067: | Line 1,065: | ||
* <code>entityID</code> ई> विशेषता इकाई का विशिष्ट पहचानकर्ता है। | * <code>entityID</code> ई> विशेषता इकाई का विशिष्ट पहचानकर्ता है। | ||
* <code>validUntil</code> e> विशेषता मेटाडेटा की | * <code>validUntil</code> e> विशेषता मेटाडेटा की अवसान तिथि देती है। | ||
* <code><ds:Signature></code> ई> तत्व (जिसे सादगी के लिए छोड़ दिया गया है) में एक डिजिटल | * <code><ds:Signature></code> ई> तत्व (जिसे सादगी के लिए छोड़ दिया गया है) में एक डिजिटल चिन्ह होता है जो मेटाडेटा की प्रामाणिकता और अखंडता सुनिश्चित करता है। | ||
* संगठन में पहचाना गया <code><md:Organization></code> तत्व इकाई विवरणक द्वारा वर्णित इकाई के लिए जिम्मेदार है ( | * संगठन में पहचाना गया <code><md:Organization></code> तत्व इकाई विवरणक द्वारा वर्णित इकाई के लिए जिम्मेदार है (एसएएमएलMeta का खंड 2.3.2<ref name="SAMLMeta"/>). | ||
* में संपर्क जानकारी <code><md:ContactPerson></code> तत्व इकाई के लिए जिम्मेदार एक तकनीकी संपर्क की पहचान करता है। एकाधिक संपर्क और संपर्क प्रकार संभव हैं। | * में संपर्क जानकारी <code><md:ContactPerson></code> तत्व इकाई के लिए जिम्मेदार एक तकनीकी संपर्क की पहचान करता है। एकाधिक संपर्क और संपर्क प्रकार संभव हैं। एसएएमएलMeta का अनुभाग 2.3.2.2 देखें।<ref name="SAMLMeta"/> | ||
परिभाषा के अनुसार, एक सेवा प्रदाता एक अभिकथन उपभोक्ता सेवा का प्रबंधन करता है जो | परिभाषा के अनुसार, एक सेवा प्रदाता एक अभिकथन उपभोक्ता सेवा का प्रबंधन करता है जो एसएएमएलProf में निर्दिष्ट एसएएमएल वेब ब्राउज़र एसएसओ प्रोफ़ाइल का समर्थन करती है।<ref name="SAMLProf"/>उदाहरण के लिए, में वर्णित सेवा प्रदाता देखें <code><md:SPSSODescriptor></code> तत्व अगले भाग में दिखाया गया है। | ||
==== | ==== अभिकथन उपभोक्ता सेवा मेटाडेटा ==== | ||
अभिकथन उपभोक्ता सेवा | अभिकथन उपभोक्ता सेवा मे <code><md:SPSSODescriptor></code> तत्व में समाहित है: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
| Line 1,108: | Line 1,106: | ||
</md:SPSSODescriptor> | </md:SPSSODescriptor> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<code><md:SPSSODescriptor></code> मेटाडेटा तत्व के बारे में निम्नलिखित विवरणों पर ध्यान दें: | |||
* सेवा प्रदाता सॉफ़्टवेयर को एक निजी | * सेवा प्रदाता सॉफ़्टवेयर को एक निजी एसएएमएल चिन्ह कुंजी और/या एक निजी बैक-चैनल टीएलएस कुंजी के साथ कॉन्फ़िगर किया गया है। संबंधित सार्वजनिक कुंजी एसपी मेटाडेटा में <code><md:KeyDescriptor use="signing"></code> तत्व में सम्मिलित है। संक्षिप्तता के लिए मुख्य वस्तु को मुख्य विवरणक से हटा दिया गया है। | ||
* इसी तरह सेवा प्रदाता सॉफ्टवेयर को एक निजी | * इसी तरह सेवा प्रदाता सॉफ्टवेयर को एक निजी एसएएमएल डिक्रिप्शन कुंजी के साथ कॉन्फ़िगर किया गया है। एक सार्वजनिक एसएएमएल एन्क्रिप्शन कुंजी <code><md:KeyDescriptor use="encryption"></code> एसपी मेटाडेटा में तत्व में सम्मिलित है। संक्षिप्तता के लिए मुख्य विवरणक से मुख्य वस्तु को हटा दिया गया है। | ||
* <code> | * <code><md:AssertionConsumerService></code> तत्व की <code>index</code> विशेषता का उपयोग <code>AssertionConsumerServiceIndex</code> तत्व में <code><samlp:AuthnRequest></code> विशेषता के मान के रूप में किया जाता है। | ||
* <code> | * <code><md:AssertionConsumerService></code> तत्वों की <code>Binding</code> विशेषताएँ एसएएमएल 2.0 बाइंडिंग विनिर्देश (एसएएमएलबीआईएनडी)<ref name="SAMLBind"/> में निर्दिष्ट मानक यूआरआई हैं। | ||
* <code> | * <code><md:AssertionConsumerService></code> तत्व की <code>Location</code> की विशेषता जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पोस्ट बाइंडिंग (<code>index="0"</code>) का समर्थन करती है, जिसका उपयोग "द्विक पीओएसटी" प्रोफ़ाइल के चरण 4 में किया जाता है। | ||
* <code> | * <code><md:AssertionConsumerService></code> तत्व की <code>Location</code> की विशेषता जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग (<code>index="1"</code>) का समर्थन करती है, जिसका उपयोग "द्विक आर्टिफैक्ट" प्रोफ़ाइल के चरण 6 में किया जाता है। | ||
* <code><md:AttributeConsumingService></code | * <code><md:AttributeConsumingService></code> तत्व का उपयोग पहचान प्रदाता द्वारा एक <code><saml:AttributeStatement></code> तत्व तैयार करने के लिए किया जाता है जिसे वेब ब्राउज़र एसएसओ के साथ सेवा प्रदाता को भेजा जाता है। | ||
* <code> | * <code><md:AssertionConsumerService></code> तत्व की <code>index</code> विशेषता का उपयोग <code>AttributeConsumingServiceIndex</code> तत्व में <code><samlp:AuthnRequest></code> विशेषता के मान के रूप में किया जाता है। | ||
जैसा कि इस खंड | जैसा कि इस खंड के प्रारंभ में उल्लेख किया गया है, <code>Location</code> विशेषताओ के मानो का एक पहचान प्रदाता द्वारा एसएएमएल संदेशों को रूट करने के लिए उपयोग की जाती हैं, जो एक दुष्ट सेवा प्रदाता द्वारा एक बीच मे आक्षेप की संभावना को कम करता है। | ||
=== मेटाडेटा | === मेटाडेटा एग्रीगेट === | ||
पिछले उदाहरणों में, प्रत्येक <code><md:EntityDescriptor></code> तत्व को डिजिटल रूप से हस्ताक्षरित दिखाया गया है। हालाँकि, व्यवहार में, एकाधिक <code><md:EntityDescriptor></code> तत्वों को एक | पिछले उदाहरणों में, प्रत्येक <code><md:EntityDescriptor></code> तत्व को डिजिटल रूप से हस्ताक्षरित दिखाया गया है। हालाँकि, व्यवहार में, एकाधिक <code><md:EntityDescriptor></code> तत्वों को एक <code><md:EntitiesDescriptor></code> तत्व के अंतर्गत संपूर्ण एग्रीगेट पर एकल डिजिटल चिन्ह के साथ एक साथ संग्रहित किया जाता है: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
| Line 1,139: | Line 1,137: | ||
</md:EntitiesDescriptor> | </md:EntitiesDescriptor> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
उपरोक्त | उपरोक्त <code><md:EntitiesDescriptor></code> तत्व के बारे में निम्नलिखित विवरणों पर ध्यान दें: | ||
* डिजिटल | * डिजिटल चिन्ह (संक्षिप्तता के लिए हटा दिया गया है) संपूर्ण एग्रीगेट को सम्मिलित करता है। | ||
* <code>validUntil</code> | * <code>validUntil</code> विशेषता को पैरेंट तत्व तक बढ़ा दिया गया है, जिसका अर्थ है कि अवसान तिथि प्रत्येक चाइल्ड तत्व पर प्रयुक्त होती है। | ||
* अनावश्यक नामस्थान घोषणाओं से | * अनावश्यक नामस्थान घोषणाओं से संरक्षित करने के लिए एक्सएमएल नामस्थान घोषणाओं को पैरेंट तत्व तक बढ़ा दिया गया है। | ||
सामान्य रूप से मेटाडेटा एग्रीगेट विश्वसनीय तृतीय पक्षों द्वारा प्रकाशित किए जाते हैं जिन्हें संघ कहा जाता है जो एग्रीगेट में सभी मेटाडेटा की अखंडता की प्रत्याभूति देते हैं। ध्यान दें कि मेटाडेटा एग्रीगेट बहुत बड़ा हो सकता है, जो प्रति एग्रीगेट सैकड़ों या हजारों इकाइयों से बना हो सकता है। | |||
== यह भी देखें == | == यह भी देखें == | ||
| Line 1,152: | Line 1,150: | ||
* एसएएमएल 1.1 | * एसएएमएल 1.1 | ||
* [[एसएएमएल मेटाडेटा]] | * [[एसएएमएल मेटाडेटा]] | ||
* [[SAML-आधारित उत्पाद और सेवाएँ]] | * [[SAML-आधारित उत्पाद और सेवाएँ|एसएएमएल-आधारित उत्पाद और सेवाएँ]] | ||
* [[ओपनआईडी कनेक्ट]] | * [[ओपनआईडी कनेक्ट|मुक्तआईडी संयोजन]] | ||
==संदर्भ== | ==संदर्भ== | ||
Revision as of 09:13, 23 June 2023
| Abbreviation | SAML |
|---|---|
| Status | Published |
| Year started | November 2003 |
| Latest version | V2.0 March 2005 |
| Preview version | V2.0 with Errata May 2019 |
| Organization | Organization for the Advancement of Structured Information Standards (OASIS) |
| Committee | OASIS Security Services (SAML) Technical Committee |
| Website | OASIS SAML Wiki |
सुरक्षा अभिकथन मार्कअप भाषा 2.0 (एसएएमएल 2.0) सुरक्षा डोमेन के बीच प्रमाणीकरण और प्राधिकरण पहचान के विनिमय के लिए एसएएमएल मानक का एक संस्करण है। एसएएमएल 2.0 एक एक्सएमएल-आधारित प्रोटोकॉल है जो एक एसएएमएल प्राधिकरण, जिसे एक पहचान प्रदाता कहा जाता है, और एक एसएएमएल उपभोक्ता, जिसे एक सेवा प्रदाता कहा जाता है, जिसके बीच एक प्रिंसिपल (सामान्य रूप से एक अंतिम उपयोगकर्ता) के बारे में जानकारी प्रसारित करने के लिए दावे वाले सुरक्षा टोकन का उपयोग करता है। एसएएमएल 2.0 वेब-आधारित, क्रॉस-डोमेन एकल साइन-ऑन (एसएसओ) को सक्षम करता है, जो उपयोगकर्ता को एकाधिक प्रमाणीकरण टोकन वितरित करने के प्रशासनिक ओवरहेड को कम करने में सहायता करता है।
मार्च 2005 में एसएएमएल 1.1 के अतिरिक्त एसएएमएल 2.0 को ओएसिस (संगठन) मानक के रूप में अनुमोदित किया गया था। एसएएमएल 2.0 के महत्वपूर्ण स्वरूपों को आधिकारिक दस्तावेजों एसएएमएलकोर ,[1] एसएएमएलबाइंड,[2] एसएएमएलप्रोफ,[3] और एसएएमएलमेटा में विस्तार से सम्मिलित किया गया है।[4]
एसएएमएल 2.0 के निर्माण में 24 से अधिक कंपनियों और संगठनों के लगभग 30 व्यक्ति सम्मिलित थे। विशेष रूप से, और विशेष रूप से, लिबर्टी एलायंस ने अपना पहचान महासंघ रूपरेखा (आईडी-एफएफ) विनिर्देश ओएसिस को देता है, जो एसएएमएल 2.0 विनिर्देश का आधार बन गया। इस प्रकार एसएएमएल 2.0 एसएएमएल 1.1, लिबर्टी आईडी-एफएफ 1.2, और शिबोलेथ 1.3 के अभिसरण का प्रतिनिधित्व करता है।
एसएएमएल 2.0 अभिकथन
अभिकथन (असर्शन) सूचना का एक पैकेज है जो एसएएमएल प्राधिकरण द्वारा दिए गए शून्य या अधिक स्टेटमेंट प्रदान करता है। एसएएमएल अभिकथन सामान्य रूप से किसी विषय के बारे में किए जाते हैं, जिसे <Subject> तत्व द्वारा दर्शाया जाता है। एसएएमएल 2.0 विनिर्देश तीन अलग-अलग प्रकार के अभिकथन स्टेटमेंट को परिभाषित करता है जिन्हें एसएएमएल प्राधिकरण द्वारा बनाया जा सकता है। सभी एसएएमएल-परिभाषित स्टेटमेंट एक विषय से जुड़े हुए हैं। परिभाषित तीन प्रकार के अभिकथन स्टेटमेंट इस प्रकार हैं:
- प्रमाणीकरण स्टेटमेंट: अभिकथन विषय को एक विशेष समय पर एक विशेष माध्यम से प्रमाणित किया गया था।
- विशेषता स्टेटमेंट: अभिकथन विषय आपूर्ति की गई विशेषताओं से जुड़ा है।
- प्राधिकरण निर्णय स्टेटमेंट: दावे के विषय को निर्दिष्ट संसाधन तक पहुंचने की अनुमति देने का अनुरोध स्वीकार कर लिया गया है या अस्वीकार कर दिया गया है।
एसएएमएल अभिकथन का एक महत्वपूर्ण प्रकार तथाकथित "वाहक" अभिकथन है जिसका उपयोग वेब ब्राउज़र एसएसओ को सुविधाजनक बनाने के लिए किया जाता है। यहां एक पहचान प्रदाता (https://idp.example.org/SAML2) द्वारा एक सेवा प्रदाता (https://sp.example.com/SAML2) को जारी किए गए अल्पकालिक वाहक दावे का एक उदाहरण दिया गया है। अभिकथन में एक प्रमाणीकरण अभिकथन <saml:AuthnStatement> और एक विशेषता अभिकथन <saml:AttributeStatement>दोनों सम्मिलित हैं, जो संभवतः सेवा प्रदाता अभिगम्य नियंत्रण निर्णय लेने के लिए उपयोग करता है। उपसर्ग saml: एसएएमएल V2.0 अभिकथन नामस्थान का प्रतिनिधित्व करता है।
एसएएमएल का उदाहरण EDIT
<saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
ID="_d71a3a8e9fcc45c9e9d248ef7049393fc8f04e5f75"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
3f7b3dcf-1674-4ecd-92c8-1544f346baf8
</saml:NameID>
<saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData
InResponseTo="aaf23196-1773-2113-474a-fe114412ab72"
Recipient="https://sp.example.com/SAML2/SSO/POST"
NotOnOrAfter="2004-12-05T09:27:05Z"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions
NotBefore="2004-12-05T09:17:05Z"
NotOnOrAfter="2004-12-05T09:27:05Z">
<saml:AudienceRestriction>
<saml:Audience>https://sp.example.com/SAML2</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2004-12-05T09:22:00Z"
SessionIndex="b07b804c-7c29-ea16-7300-4f3d6f7928ac">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute
xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
x500:Encoding="LDAP"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1"
FriendlyName="eduPersonAffiliation">
<saml:AttributeValue
xsi:type="xs:string">member</saml:AttributeValue>
<saml:AttributeValue
xsi:type="xs:string">staff</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
ध्यान दें कि उपरोक्त उदाहरण में <saml:Assertion> तत्व में निम्नलिखित बाल तत्व सम्मिलित हैं:
- ए
<saml:Issuer>तत्व, जिसमें पहचान प्रदाता का विशिष्ट पहचानकर्ता होता है - ए
<ds:Signature>तत्व, जिसमें एक अखंडता-संरक्षित डिजिटल चिन्ह (दिखाया नहीं गया) होता है<saml:Assertion>तत्व - ए
<saml:Subject>तत्व, जो प्रमाणित प्रिंसिपल की पहचान करता है (लेकिन इस मामले में प्रिंसिपल की पहचान गोपनीयता के कारणों के लिए एक अपारदर्शी क्षणिक पहचानकर्ता के पीछे छिपी हुई है) - ए
<saml:Conditions>तत्व, जो उन शर्तों को देता है जिनके तहत अभिकथन को वैध माना जाना है - ए
<saml:AuthnStatement>तत्व, जो पहचान प्रदाता पर प्रमाणीकरण के कार्य का वर्णन करता है - ए
<saml:AttributeStatement>तत्व, जो प्रमाणित प्रिंसिपल से जुड़े एक बहु-मूल्यवान विशेषता का दावा करता है
शब्दों में, अभिकथन निम्नलिखित जानकारी को कूटबद्ध करता है:
अभिकथन ( b07b804c-7c29-ea16-7300-4f3d6f7928ac ) पहचान प्रदाता द्वारा 2004-12-05T09:22:05Z पर जारी किया गया था (https://idp.example.org/एसएएमएल2</nowiki) >) विशेष रूप से सेवा प्रदाता (<nowiki>https://sp.example.com/एसएएमएल2) के लिए विषय (3f7b3dcf-1674-4ecd-92c8-1544f346baf8) के संबंध में।
प्रमाणीकरण स्टेटमेंट, विशेष रूप से, निम्नलिखित पर जोर देता है:
प्रिंसिपल की पहचान इसमें की गई है
<saml:Subject>सुरक्षित चैनल पर भेजे गए पासवर्ड के माध्यम से तत्व को 2004-12-05T09:22:00Z पर प्रमाणित किया गया था।
इसी प्रकार विशेषता स्टेटमेंट का दावा है कि:
प्रिंसिपल की पहचान इसमें की गई है
<saml:Subject>तत्व में इस संस्था के 'कर्मचारी' और 'सदस्य' गुण हैं।
एसएएमएल 2.0 प्रोटोकॉल
एसएएमएल Core में निम्नलिखित प्रोटोकॉल निर्दिष्ट हैं:[1]
- अभिकथन क्वेरी और अनुरोध प्रोटोकॉल
- # प्रमाणीकरण अनुरोध प्रोटोकॉल
- #अर्टिफैक्ट रेजोल्यूशन प्रोटोकॉल
- नाम पहचानकर्ता प्रबंधन प्रोटोकॉल
- एकल लॉगआउट प्रोटोकॉल
- नाम पहचानकर्ता मैपिंग प्रोटोकॉल
इन प्रोटोकॉलों में सबसे महत्वपूर्ण-प्रमाणीकरण अनुरोध प्रोटोकॉल-नीचे विस्तार से चर्चा की गई है।
प्रमाणीकरण अनुरोध प्रोटोकॉल
एसएएमएल 1.1 में वेब ब्राउजर एसएसओ प्रोफाइल पहचान प्रदाता | आइडेंटिटी प्रोवाइडर (आईडीपी) द्वारा शुरू किए जाते हैं, यानी एक अवांछित <samlp:Response> तत्व पहचान प्रदाता से सेवा प्रदाता (ब्राउज़र के माध्यम से) में प्रेषित होता है। (उपसर्ग samlp: एसएएमएल प्रोटोकॉल नामस्थान को दर्शाता है।)
एसएएमएल 2.0 में, हालांकि, सेवा प्रदाता से प्रवाह शुरू होता है जो पहचान प्रदाता को एक स्पष्ट प्रमाणीकरण अनुरोध जारी करता है। परिणामी प्रमाणीकरण अनुरोध प्रोटोकॉल एसएएमएल 2.0 की एक महत्वपूर्ण नई विशेषता है।
जब एक प्रिंसिपल (या प्रिंसिपल की ओर से काम करने वाली इकाई) एक ऑथेंटिकेशन स्टेटमेंट वाला एक एश्योरमेंट प्राप्त करना चाहता है, तो ए <samlp:AuthnRequest> तत्व पहचान प्रदाता को प्रेषित किया जाता है:
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="aaf23196-1773-2113-474a-fe114412ab72"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z"
AssertionConsumerServiceIndex="0"
AttributeConsumingServiceIndex="0">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
</samlp:AuthnRequest>
उपरोक्त <samlp:AuthnRequest> तत्व, जो स्पष्ट रूप से #एसएएमएल_2.0_एसरशन का अनुरोध करता है, स्पष्ट रूप से एक सेवा प्रदाता (https://sp.example.com/एसएएमएल2) द्वारा जारी किया गया था और बाद में पहचान प्रदाता (ब्राउज़र के माध्यम से) को प्रस्तुत किया गया था। पहचान प्रदाता प्रिंसिपल (यदि आवश्यक हो) को प्रमाणित करता है और एक प्रमाणीकरण प्रतिक्रिया जारी करता है, जो सेवा प्रदाता (फिर से ब्राउज़र के माध्यम से) को वापस प्रेषित की जाती है।
अर्टिफैक्ट साक्ष्य संकल्प प्रोटोकॉल
एक एसएएमएल संदेश एक इकाई से दूसरे में या तो मूल्य या संदर्भ द्वारा प्रेषित होता है। एसएएमएल संदेश के संदर्भ को अर्टिफैक्ट कहा जाता है। एक अर्टिफैक्ट का रिसीवर एक भेजकर संदर्भ को हल करता है <samlp:ArtifactResolve> अर्टिफैक्ट के जारीकर्ता से सीधे अनुरोध करें, जो अर्टिफैक्ट द्वारा संदर्भित वास्तविक संदेश के साथ प्रतिक्रिया करता है।
मान लीजिए, उदाहरण के लिए, एक पहचान प्रदाता निम्नलिखित भेजता है<samlp:ArtifactResolve> अनुरोध सीधे सेवा प्रदाता से (बैक चैनल के माध्यम से):
<samlp:ArtifactResolve
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="_cce4ee769ed970b501d680f697989d14"
Version="2.0"
IssueInstant="2004-12-05T09:21:58Z">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<!-- an ArtifactResolve message SHOULD be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<samlp:Artifact>AAQAAMh48/1oXIM+sDo7Dh2qMp1HM4IF5DaRNmDj6RdUmllwn9jJHyEgIi8=</samlp:Artifact>
</samlp:ArtifactResolve>
जवाब में, सेवा प्रदाता संलग्न अर्टिफैक्ट द्वारा संदर्भित एसएएमएल तत्व लौटाता है। यह प्रोटोकॉल #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग का आधार बनाता है।
एसएएमएल 2.0 बाइंडिंग्स
एसएएमएल 2.0 द्वारा समर्थित बाइंडिंग बाइंडिंग विनिर्देश (एसएएमएलBind[2]):
- एसएएमएल SOAP बाइंडिंग (SOAP 1.1 पर आधारित)
- रिवर्स SOAP (PAOS) बाइंडिंग
- #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट बाइंडिंग
- #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पोस्ट बाइंडिंग
- #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग
- एसएएमएल URI बाइंडिंग
वेब ब्राउज़र एसएसओ के लिए, एचटीटीपी रीडायरेक्ट बाइंडिंग और एचटीटीपी पोस्ट बाइंडिंग का सामान्य रूप से इस्तेमाल किया जाता है। उदाहरण के लिए, सेवा प्रदाता अनुरोध भेजने के लिए हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट का उपयोग कर सकता है, जबकि पहचान प्रदाता प्रतिक्रिया प्रसारित करने के लिए हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST का उपयोग करता है। इस उदाहरण से पता चलता है कि एक इकाई की बाध्यकारी की पसंद उसके साथी की बाध्यकारी की पसंद से स्वतंत्र है।
हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट बाइंडिंग
एसएएमएल प्रोटोकॉल संदेशों को सीधे हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल GET अनुरोध के URL क्वेरी स्ट्रिंग में ले जाया जा सकता है। व्यवहार में URL की लंबाई सीमित होने के कारण, हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट बाइंडिंग छोटे संदेशों के लिए उपयुक्त है, जैसे कि <samlp:AuthnRequest> संदेश। लंबे संदेश (उदाहरण के लिए हस्ताक्षरित या एन्क्रिप्टेड एसएएमएल अभिकथन वाले, जैसे एसएएमएल प्रतिक्रियाएँ) सामान्य रूप से #हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग जैसे अन्य बाइंडिंग के माध्यम से प्रेषित होते हैं।
एचटीटीपी रीडायरेक्ट के ज़रिए ट्रांसमिट किए गए एसएएमएल अनुरोध या जवाबों में a एसएएमएलRequest या एसएएमएलResponse क्वेरी स्ट्रिंग पैरामीटर, क्रमशः। भेजे जाने से पहले, संदेश उस क्रम में DEFLATE (हेडर और चेकसम के बिना), बेस 64-एन्कोडेड और URL-एन्कोडेड है। प्राप्त होने पर, मूल संदेश को पुनर्प्राप्त करने के लिए प्रक्रिया उलट दी जाती है।
उदाहरण के लिए, एन्कोडिंग <samlp:AuthnRequest> उपज के ऊपर संदेश:
https://idp.example.org/एसएएमएल2/एसएसओ/Redirect?एसएएमएलRequest=fZFfa8IwFMXfBb9DyXvaJtZ1BqsURRC2 Mabbw95ivc5Am3TJrXPffmmLY3%2FA15Pzuyf33On8XJXBCaxTRmeEhTEJQBdmr%2FRbRp63K3pL5rPhYOpkVdY ib%2FCon%2BC9AYfDQRB4WDvRvWWksVoY6ZQTWlbgBBZik9%2FfCR7GorYGTWFK8pu6DknnwKL%2FWEetlxmR8s BHbHJDWZqOKGdsRJM0kfQAjCUJ43KX8s78ctnIz%2Blp5xpYa4dSo1fjOKGM03i8jSeCMzGevHa2%2FBK5MNo1F dgN2JMqPLmHc0b6WTmiVbsGoTf5qv66Zq2t60x0wXZ2RkydiCJXh3CWVV1CWJgqanfl0%2Bin8xutxYOvZL18NK UqPlvZR5el%2BVhYkAgZQdsA6fWVsZXE63W2itrTQ2cVaKV2CjSSqL1v9P%2FAXv4C
अतिरिक्त सुरक्षा के लिए उपरोक्त संदेश (पठनीयता के लिए स्वरूपित) पर चिन्ह किए जा सकते हैं। व्यवहार में, एक में निहित सभी डेटा <samlp:AuthnRequest>, जैसे कि Issuer जिसमें एसपी आईडी है, और NameIDPolicy, IdP और SP के बीच पहले ही सहमति हो गई है (मैन्युअल सूचना विनिमय के माध्यम से या #एसएएमएल 2.0 मेटाडेटा के माध्यम से)। उस स्थिति में अनुरोध पर चिन्ह करना सुरक्षा बाधा नहीं है। जब <samlp:AuthnRequest> IdP द्वारा पहले से ज्ञात जानकारी नहीं है, जैसे कि अभिकथन उपभोक्ता सेवा URL, सुरक्षा उद्देश्यों के लिए अनुरोध पर चिन्ह करने की अनुशंसा की जाती है।
हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पोस्ट बाइंडिंग
निम्नलिखित उदाहरण में, सेवा प्रदाता और पहचान प्रदाता दोनों हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग का उपयोग करते हैं। प्रारंभ में, सेवा प्रदाता एक एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ उपयोगकर्ता एजेंट के अनुरोध का जवाब देता है: <वाक्यविन्यास लैंग = html4सख्त>
<फॉर्म विधि = पोस्ट एक्शन = https://idp.example.org/एसएएमएल2/एसएसओ/POST ...> <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलRequest मान = अनुरोध /> ... अन्य इनपुट पैरामीटर .... </रूप>
</वाक्यविन्यास हाइलाइट>
का मूल्य एसएएमएलRequest पैरामीटर a का बेस 64-एन्कोडिंग है <samlp:AuthnRequest> तत्व, जो ब्राउज़र के माध्यम से पहचान प्रदाता को प्रेषित होता है। पहचान प्रदाता पर एसएसओ सेवा अनुरोध को मान्य करती है और एक अन्य एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करती है:
<वाक्यविन्यास लैंग = html4सख्त>
<फॉर्म विधि = पोस्ट कार्रवाई = https://sp.example.com/एसएएमएल2/एसएसओ/POST ...> <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलResponse मान = प्रतिक्रिया /> ... </रूप>
</वाक्यविन्यास हाइलाइट>
का मूल्य एसएएमएलResponse पैरामीटर a का बेस 64 एन्कोडिंग है <samlp:Response> तत्व, जो इसी तरह सेवा प्रदाता को ब्राउज़र के माध्यम से प्रेषित किया जाता है।
प्रपत्र के सबमिशन को स्वचालित करने के लिए, जावास्क्रिप्ट की निम्न पंक्ति XHTML पृष्ठ पर कहीं भी दिखाई दे सकती है:
window.onload = function () { document.forms[0].submit(); }
यह निश्चित रूप से मानता है कि पृष्ठ में पहले फॉर्म तत्व में उपरोक्त एसएएमएलResponse सम्मिलित है form तत्व (forms[0]).
हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट साक्ष्य बाइंडिंग
संदर्भ द्वारा एसएएमएल संदेश को हल करने के लिए हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग #Artifact रिज़ॉल्यूशन प्रोटोकॉल और एसएएमएल SOAP बाइंडिंग (हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पर) का उपयोग करता है। निम्नलिखित विशिष्ट उदाहरण पर विचार करें। मान लीजिए कि एक सेवा प्रदाता एक भेजना चाहता है <samlp:AuthnRequest> एक पहचान प्रदाता को संदेश। प्रारंभ में, सेवा प्रदाता हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल रीडायरेक्ट के माध्यम से पहचान प्रदाता को एक अर्टिफैक्ट भेजता है:
https://idp.example.org/एसएएमएल2/एसएसओ/Artifact?एसएएमएलart=artifact
इसके बाद पहचान प्रदाता एक भेजता है <samlp:ArtifactResolve> अनुरोध (जैसे कि पहले दिखाया गया #ArtifactResolveRequest) सीधे बैक चैनल के माध्यम से सेवा प्रदाता को। अंत में, सेवा प्रदाता एक देता है <samlp:ArtifactResponse> तत्व जिसमें संदर्भित है <samlp:AuthnRequest> संदेश:
<samlp:ArtifactResponse
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="_d84a49e5958803dedcff4c984c2b0d95"
InResponseTo="_cce4ee769ed970b501d680f697989d14"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z">
<!-- an ArtifactResponse message SHOULD be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="_306f8ec5b618f361c70b6ffb1480eade"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z"
Destination="https://idp.example.org/SAML2/SSO/Artifact"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
AssertionConsumerServiceURL="https://sp.example.com/SAML2/SSO/Artifact">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="false"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"/>
</samlp:AuthnRequest>
</samlp:ArtifactResponse>
बेशक प्रवाह दूसरी दिशा में भी जा सकता है, यानी पहचान प्रदाता एक अर्टिफैक्ट जारी कर सकता है, और वास्तव में यह अधिक सामान्य है। उदाहरण के लिए देखें, #SP रीडायरेक्ट अर्टिफैक्ट; इस विषय में बाद में IdP रीडायरेक्ट अर्टिफैक्ट साक्ष्य प्रोफ़ाइल उदाहरण।
अर्टिफैक्ट साक्ष्य प्रारूप
सामान्य तौर पर, एसएएमएल 2.0 अर्टिफैक्ट को इस तरह परिभाषित किया जाता है (एसएएमएलBind[2]):
एसएएमएल_artifact:= B64 (टाइपकोड एंडपॉइंटइंडेक्स शेष अर्टिफैक्ट) टाइपकोड�:= बाइट1बाइट2 एंडपॉइंट इंडेक्स: = बाइट 1 बाइट 2
इस प्रकार एक एसएएमएल 2.0 अर्टिफैक्ट साक्ष्य में तीन घटक होते हैं: एक दो-बाइट TypeCode, एक दो-बाइट EndpointIndex, और बाइट्स के मनमाने क्रम को कहा जाता है RemainingArtifact. जानकारी के इन तीन टुकड़ों को जोड़ा गया है और पूर्ण अर्टिफैक्ट प्राप्त करने के लिए बेस64-एन्कोडेड हैं। TypeCode e> विशिष्ट रूप से अर्टिफैक्ट साक्ष्य प्रारूप की पहचान करता है। एसएएमएल 2.0 0x0004 प्रकार के केवल एक ऐसे अर्टिफैक्ट को पूर्वनिर्धारित करता है। EndpointIndex e> अर्टिफैक्ट साक्ष्य जारीकर्ता द्वारा प्रबंधित एक विशेष अर्टिफैक्ट साक्ष्य समापन बिंदु का एक संदर्भ है (जो पहले उल्लेखित IdP या SP हो सकता है)। RemainingArtifactडी>, जो कि प्रकार की परिभाषा से निर्धारित होता है, कलाकृतियों का मांस है।
0x0004 अर्टिफैक्ट प्रकार के प्रारूप को आगे निम्नानुसार परिभाषित किया गया है:
टाइपकोड: = 0x0004 RemainingArtifact:= SourceId MessageHandle स्रोत आईडी: = 20-बाइट_अनुक्रम मैसेजहैंडल: = 20-बाइट_अनुक्रम
इस प्रकार एक प्रकार 0x0004 अर्टिफैक्ट आकार 44 बाइट्स (एन्कोडेड) का है। SourceId ई> बाइट्स का एक मनमाना क्रम है, हालांकि व्यवहार में, SourceId जारीकर्ता के entityID का SHA-1 हैश है। MessageHandle ई> बाइट्स का एक यादृच्छिक अनुक्रम है जो एक एसएएमएल संदेश का संदर्भ देता है कि अर्टिफैक्ट जारीकर्ता ऑन-डिमांड उत्पादन करने को तैयार है।
उदाहरण के लिए, इस हेक्स-एन्कोडेड प्रकार 0x0004 अर्टिफैक्ट साक्ष्य पर विचार करें:
00040000c878f3fd685c833eb03a3b0e1daa329d47338205e436913660e3e917549a59709fd8c91f2120222f
यदि आप बारीकी से देखते हैं, तो आप देख सकते हैं TypeCode (0x0004) और EndpointIndex (0x0000) अर्टिफैक्ट साक्ष्य के सामने। अगले 20 बाइट जारीकर्ता के entityID (https://idp.example.org/एसएएमएल2) के SHA-1 हैश के बाद 20 रैंडम बाइट हैं। इन 44 बाइट्स का बेस64-एन्कोडिंग वही है जो आप ऊपर #ArtifactResolveRequest उदाहरण में देखते हैं।
एसएएमएल 2.0 प्रोफाइल
एसएएमएल 2.0 में, एसएएमएल 1.1 की तरह, प्राथमिक उपयोग मामला अभी भी वेब ब्राउज़र एसएसओ है, लेकिन एसएएमएल 2.0 का दायरा एसएएमएल के पिछले संस्करणों की तुलना में व्यापक है, जैसा कि प्रोफ़ाइल की निम्नलिखित विस्तृत सूची में सुझाया गया है:
- एसएसओ प्रोफाइल
- #वेब_ब्राउज़र_एसएसओ_प्रोफाइल
- उन्नत ग्राहक या प्रॉक्सी (ईसीपी) प्रोफ़ाइल
- #Identity_Provider_Discovery_Profile
- एकल लॉगआउट प्रोफाइल
- नाम पहचानकर्ता प्रबंधन प्रोफ़ाइल
- अर्टिफैक्ट साक्ष्य संकल्प प्रोफ़ाइल
- #Assertion_Query/Request_Profile|अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल
- नाम पहचानकर्ता मानचित्रण प्रोफ़ाइल
- एसएएमएल विशेषता प्रोफाइल
- मूल विशेषता प्रोफ़ाइल
- X.500/LDAP विशेषता प्रोफ़ाइल
- UUID विशेषता प्रोफ़ाइल
- डीसीई पीएसी विशेषता प्रोफ़ाइल
- XACML विशेषता प्रोफ़ाइल
हालाँकि समर्थित प्रोफ़ाइलों की संख्या काफी बड़ी है, प्रोफ़ाइल विनिर्देश (एसएएमएलProf[3] सरलीकृत है क्योंकि प्रत्येक प्रोफ़ाइल के बाध्यकारी स्वरूपों को एक अलग बाइंडिंग विनिर्देश (एसएएमएलBind[2]).
वेब ब्राउजर एसएसओ प्रोफाइल
एसएएमएल 2.0 एक वेब ब्राउज़र एसएसओ प्रोफ़ाइल निर्दिष्ट करता है जिसमें एक पहचान प्रदाता (IdP), एक सेवा प्रदाता (SP) और एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट चलाने वाला प्रमुख सम्मिलित होता है। सेवा प्रदाता के पास चुनने के लिए चार बाइंडिंग हैं, जबकि पहचान प्रदाता के पास तीन हैं, जो बारह संभावित परिनियोजन परिदृश्यों की ओर ले जाता है। हम नीचे उन तीन परिनियोजन परिदृश्यों की रूपरेखा प्रस्तुत करते हैं।
एसपी पुनर्निर्देशन अनुरोध; आईडीपी पोस्ट प्रतिक्रिया
यह सबसे आम परिदृश्यों में से एक है। सेवा प्रदाता हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल-रीडायरेक्ट बाइंडिंग का उपयोग करके IdP एसएसओ सेवा को एक एसएएमएल अनुरोध भेजता है। पहचान प्रदाता हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल-POST बाइंडिंग का उपयोग करके SP अभिकथन उपभोक्ता सेवा को एसएएमएल प्रतिक्रिया लौटाता है।
संदेश प्रवाह सेवा प्रदाता पर एक सुरक्षित संसाधन के अनुरोध के साथ शुरू होता है।
1. एसपी से लक्ष्य संसाधन का अनुरोध करें
प्रिंसिपल (एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट के माध्यम से) सेवा प्रदाता पर लक्ष्य संसाधन का अनुरोध करता है:
https://sp.example.com/myresource
सेवा प्रदाता लक्ष्य संसाधन की ओर से सुरक्षा जांच करता है। यदि सेवा प्रदाता के पास एक मान्य सुरक्षा संदर्भ पहले से मौजूद है, तो चरण 2-7 को छोड़ दें।
सेवा प्रदाता उपयोग किए जाने वाले पहचान प्रदाता की खोज के लिए किसी भी प्रकार के तंत्र का उपयोग कर सकता है, उदाहरण के लिए, उपयोगकर्ता से पूछें, पूर्व-कॉन्फ़िगर IdP का उपयोग करें, आदि।
2. आईडीपी एसएसओ सेवा पर रीडायरेक्ट करें
सेवा प्रदाता एक उपयुक्त एसएएमएलRequest (और RelayState, यदि कोई हो) उत्पन्न करता है, फिर एक मानक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल 302 रीडायरेक्ट का उपयोग करके ब्राउज़र को IdP एसएसओ सेवा पर रीडायरेक्ट करता है।
302 Redirect
Location: https://idp.example.org/SAML2/SSO/Redirect?SAMLRequest=request&RelayState=token
RelayStateई> टोकन सेवा प्रदाता पर रखी गई राज्य सूचना का एक अपारदर्शी संदर्भ है। का मूल्यएसएएमएलRequestपैरामीटर एक डिफ्लेटेड, बेस 64-एन्कोडेड और यूआरएल-एन्कोडेड मान है<samlp:AuthnRequest>तत्व:
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z"
AssertionConsumerServiceIndex="0">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
</samlp:AuthnRequest>
SP चिन्ह कुंजी का उपयोग करके एसएएमएलRequest पर चिन्ह किए जा सकते हैं। सामान्य रूप से, हालांकि, यह आवश्यक नहीं है।
3. IdP पर एसएसओ सेवा के लिए अनुरोध करें
उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा के लिए एक जीईटी अनुरोध जारी करता है:
<सिंटैक्सहाइलाइट लैंग = http हाइलाइट = 6> GET /एसएएमएल2/एसएसओ/रीडायरेक्ट?एसएएमएलRequest=request&RelayState=token हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल/1.1 होस्ट: idp.example.org </वाक्यविन्यास हाइलाइट>
जहां के मूल्य एसएएमएलRequest और RelayState पैरामीटर वही हैं जो रीडायरेक्ट में दिए गए हैं. पहचान प्रदाता पर एसएसओ सेवा प्रक्रिया करती है <samlp:AuthnRequest> तत्व (यूआरएल-डिकोडिंग, बेस 64-डिकोडिंग और उस क्रम में अनुरोध को बढ़ाकर) और सुरक्षा जांच करता है। यदि उपयोगकर्ता के पास वैध सुरक्षा संदर्भ नहीं है, तो पहचान प्रदाता उपयोगकर्ता को किसी भी तंत्र (विवरण छोड़े गए) के साथ पहचानता है।
4. एक्सएचटीएमएल फॉर्म के साथ प्रतिक्रिया दें
एसएसओ सेवा अनुरोध को मान्य करती है और एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करती है:
<वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3>
<फॉर्म विधि = पोस्ट कार्रवाई = https://sp.example.com/एसएएमएल2/एसएसओ/POST ...> <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलResponse मान = प्रतिक्रिया /> <इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> ... <इनपुट प्रकार = मूल्य जमा करें = जमा करें /> </रूप>
</वाक्यविन्यास हाइलाइट>
का मूल्य RelayState पैरामीटर को चरण 3 से संरक्षित किया गया है। का मान एसएएमएलResponse पैरामीटर निम्न का बेस 64 एन्कोडिंग है <samlp:Response> तत्व:
<samlp:Response
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_2"
InResponseTo="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z"
Destination="https://sp.example.com/SAML2/SSO/POST">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_3"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<!-- a POSTed assertion MUST be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
3f7b3dcf-1674-4ecd-92c8-1544f346baf8
</saml:NameID>
<saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData
InResponseTo="identifier_1"
Recipient="https://sp.example.com/SAML2/SSO/POST"
NotOnOrAfter="2004-12-05T09:27:05Z"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions
NotBefore="2004-12-05T09:17:05Z"
NotOnOrAfter="2004-12-05T09:27:05Z">
<saml:AudienceRestriction>
<saml:Audience>https://sp.example.com/SAML2</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2004-12-05T09:22:00Z"
SessionIndex="identifier_3">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
5. एसपी में दावा उपभोक्ता सेवा का अनुरोध करें
उपयोगकर्ता एजेंट सेवा प्रदाता पर अभिकथन उपभोक्ता सेवा के लिए एक POST अनुरोध जारी करता है:
<सिंटैक्सहाइलाइट लैंग = http हाइलाइट = 6> पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 होस्ट: sp.example.com वस्तु-प्रकार: एप्लिकेशन/x-www-form-urlencoded वस्तु-लंबाई: एनएनएन
एसएएमएलResponse=प्रतिक्रिया&RelayState=token </वाक्यविन्यास हाइलाइट>
जहां के मूल्य एसएएमएलResponse और RelayState पैरामीटर चरण 4 पर XHTML फ़ॉर्म से लिए गए हैं।
6. लक्ष्य संसाधन पर पुनर्निर्देशित करें
अभिकथन उपभोक्ता सेवा प्रतिक्रिया को संसाधित करती है, सेवा प्रदाता पर एक सुरक्षा संदर्भ बनाती है और उपयोगकर्ता एजेंट को लक्ष्य संसाधन पर पुनर्निर्देशित करती है।
7. लक्ष्य संसाधन के लिए एसपी से फिर से अनुरोध करें
उपयोगकर्ता एजेंट सेवा प्रदाता (फिर से) पर लक्ष्य संसाधन का अनुरोध करता है:
https://sp.example.com/myresource
8. अनुरोधित संसाधन के साथ प्रतिक्रिया दें
चूंकि एक सुरक्षा संदर्भ मौजूद है, सेवा प्रदाता संसाधन को उपयोगकर्ता एजेंट को लौटाता है।
सपा पोस्ट अनुरोध; आईडीपी पोस्ट प्रतिक्रिया
यह एसएएमएल 2.0 वेब ब्राउज़र एसएसओ प्रोफ़ाइल (एसएएमएलProf[3] जहाँ सेवा प्रदाता (SP) और पहचान प्रदाता (IdP) दोनों हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग का उपयोग करते हैं।
संदेश प्रवाह एसपी में एक सुरक्षित संसाधन के अनुरोध के साथ शुरू होता है।
1. एसपी से लक्ष्य संसाधन का अनुरोध करें
प्रिंसिपल (एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट के माध्यम से) सेवा प्रदाता पर लक्ष्य संसाधन का अनुरोध करता है:
https://sp.example.com/myresource
सेवा प्रदाता लक्ष्य संसाधन की ओर से सुरक्षा जांच करता है। यदि सेवा प्रदाता के पास एक मान्य सुरक्षा संदर्भ पहले से मौजूद है, तो चरण 2-7 को छोड़ दें।
2. एक्सएचटीएमएल फॉर्म के साथ प्रतिक्रिया दें
सेवा प्रदाता XHTML फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करता है: <वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3>
<फॉर्म विधि = पोस्ट एक्शन = https://idp.example.org/एसएएमएल2/एसएसओ/POST ...> <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलRequest मान = अनुरोध /> <इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> ... <इनपुट प्रकार = मूल्य जमा करें = जमा करें /> </रूप>
</वाक्यविन्यास हाइलाइट> RelayState ई> टोकन सेवा प्रदाता पर रखी गई राज्य सूचना का एक अपारदर्शी संदर्भ है। का मूल्य एसएएमएलRequest पैरामीटर निम्न का बेस 64 एन्कोडिंग है <samlp:AuthnRequest> तत्व:
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z"
AssertionConsumerServiceIndex="0">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="true"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
</samlp:AuthnRequest>
से पहले <samlp:AuthnRequest> तत्व एक्सएचटीएमएल फॉर्म में डाला गया है, यह पहले बेस 64-एन्कोडेड है।
3. IdP पर एसएसओ सेवा के लिए अनुरोध करें
उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा के लिए एक पोस्ट अनुरोध जारी करता है: <सिंटैक्सहाइलाइट लैंग = http हाइलाइट = 6> पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 होस्ट: idp.example.org वस्तु-प्रकार: एप्लिकेशन/x-www-form-urlencoded वस्तु-लंबाई: एनएनएन
एसएएमएलRequest=request&RelayState=token
</वाक्यविन्यास हाइलाइट>
जहां के मूल्य एसएएमएलRequest और RelayState पैरामीटर चरण 2 पर XHTML प्रपत्र से लिए गए हैं। एसएसओ सेवा प्रक्रिया करती है <samlp:AuthnRequest> तत्व (यूआरएल-डिकोडिंग, बेस 64-डिकोडिंग और उस क्रम में अनुरोध को बढ़ाकर) और सुरक्षा जांच करता है। यदि उपयोगकर्ता के पास वैध सुरक्षा संदर्भ नहीं है, तो पहचान प्रदाता उपयोगकर्ता की पहचान करता है (विवरण छोड़ा गया)।
4. एक्सएचटीएमएल फॉर्म के साथ प्रतिक्रिया दें
एसएसओ सेवा अनुरोध को मान्य करती है और एक्सएचटीएमएल फॉर्म वाले दस्तावेज़ के साथ प्रतिक्रिया करती है: <वाक्यविन्यास हाइलाइट लैंग = एचटीएमएल हाइलाइट = 2-3>
<फॉर्म विधि = पोस्ट कार्रवाई = https://sp.example.com/एसएएमएल2/एसएसओ/POST ...> <इनपुट प्रकार = छिपा हुआ नाम = एसएएमएलResponse मान = प्रतिक्रिया /> <इनपुट प्रकार = छिपा हुआ नाम = रिलेस्टेट मूल्य = टोकन /> ... <इनपुट प्रकार = मूल्य जमा करें = जमा करें /> </रूप>
</वाक्यविन्यास हाइलाइट>
का मूल्य RelayState पैरामीटर को चरण 3 से संरक्षित किया गया है। का मान एसएएमएलResponse पैरामीटर निम्न का बेस 64 एन्कोडिंग है <samlp:Response> तत्व:
<samlp:Response
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_2"
InResponseTo="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z"
Destination="https://sp.example.com/SAML2/SSO/POST">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_3"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<!-- a POSTed assertion MUST be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
3f7b3dcf-1674-4ecd-92c8-1544f346baf8
</saml:NameID>
<saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData
InResponseTo="identifier_1"
Recipient="https://sp.example.com/SAML2/SSO/POST"
NotOnOrAfter="2004-12-05T09:27:05Z"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions
NotBefore="2004-12-05T09:17:05Z"
NotOnOrAfter="2004-12-05T09:27:05Z">
<saml:AudienceRestriction>
<saml:Audience>https://sp.example.com/SAML2</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2004-12-05T09:22:00Z"
SessionIndex="identifier_3">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
5. एसपी में दावा उपभोक्ता सेवा का अनुरोध करें
उपयोगकर्ता एजेंट सेवा प्रदाता पर दावा उपभोक्ता सेवा के लिए एक POST अनुरोध जारी करता है: <सिंटैक्सहाइलाइट लैंग = http हाइलाइट = 6> पोस्ट/एसएएमएल2/एसएसओ/पोस्ट एचटीटीपी/1.1 होस्ट: sp.example.com वस्तु-प्रकार: एप्लिकेशन/x-www-form-urlencoded वस्तु-लंबाई: एनएनएन
एसएएमएलResponse=प्रतिक्रिया&RelayState=token
</वाक्यविन्यास हाइलाइट>
जहां के मूल्य एसएएमएलResponse और RelayState पैरामीटर चरण 4 पर XHTML फ़ॉर्म से लिए गए हैं।
6. लक्ष्य संसाधन पर पुनर्निर्देशित करें
अभिकथन उपभोक्ता सेवा प्रतिक्रिया को संसाधित करती है, सेवा प्रदाता पर एक सुरक्षा संदर्भ बनाती है और उपयोगकर्ता एजेंट को लक्ष्य संसाधन पर पुनर्निर्देशित करती है।
7. लक्ष्य संसाधन के लिए एसपी से फिर से अनुरोध करें
उपयोगकर्ता एजेंट सेवा प्रदाता (फिर से) पर लक्ष्य संसाधन का अनुरोध करता है:
https://sp.example.com/myresource
8. अनुरोधित संसाधन के साथ प्रतिक्रिया दें
चूंकि एक सुरक्षा संदर्भ मौजूद है, सेवा प्रदाता संसाधन को उपयोगकर्ता एजेंट को लौटाता है।
== एसपी रीडायरेक्ट अर्टिफैक्ट; IdP अनुप्रेषित अर्टिफैक्ट साक्ष्य
यह एसएएमएल 2.0 वेब ब्राउज़र एसएसओ प्रोफ़ाइल (एसएएमएलProf[3] जहां सेवा प्रदाता (SP) और पहचान प्रदाता (IdP) दोनों हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग का उपयोग करते हैं। दोनों कलाकृतियों को हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल GET के माध्यम से उनके संबंधित समापन बिंदुओं तक पहुँचाया जाता है।
एसपी में एक सुरक्षित संसाधन के अनुरोध के साथ संदेश प्रवाह शुरू होता है:
1. एसपी से लक्ष्य संसाधन का अनुरोध करें
प्रिंसिपल (एक हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल उपयोगकर्ता एजेंट के माध्यम से) सेवा प्रदाता पर लक्ष्य संसाधन का अनुरोध करता है:
https://sp.example.com/myresource
सेवा प्रदाता लक्ष्य संसाधन की ओर से सुरक्षा जांच करता है। यदि सेवा प्रदाता के पास एक मान्य सुरक्षा संदर्भ पहले से मौजूद है, तो चरण 2-11 को छोड़ दें।
2. IdP पर एकल साइन-ऑन (एसएसओ) सेवा पर रीडायरेक्ट करें
सेवा प्रदाता पहचान प्रदाता पर उपयोगकर्ता एजेंट को एकल साइन-ऑन (एसएसओ) सेवा पर पुनर्निर्देशित करता है। ए RelayState पैरामीटर और ए एसएएमएलart रीडायरेक्ट URL में पैरामीटर जोड़े जाते हैं।
3. IdP पर एसएसओ सेवा के लिए अनुरोध करें
उपयोगकर्ता एजेंट पहचान प्रदाता पर एसएसओ सेवा का अनुरोध करता है:
https://idp.example.org/एसएएमएल2/एसएसओ/Artifact?एसएएमएलart=artifact_1&RelayState=token
कहाँ token सेवा प्रदाता और पर रखी गई राज्य की जानकारी का एक अपारदर्शी संदर्भ है artifact_1 एक एसएएमएल अर्टिफैक्ट साक्ष्य है, दोनों चरण 2 पर जारी किए गए हैं।
4. एसपी में अर्टिफैक्ट साक्ष्य समाधान सेवा का अनुरोध करें
एसएसओ सेवा एक भेजकर अर्टिफैक्ट को संदर्भित करती है <samlp:ArtifactResolve> सेवा प्रदाता पर अर्टिफैक्ट साक्ष्य समाधान सेवा के लिए एसएएमएल SOAP संदेश के लिए बाध्य तत्व:
<samlp:ArtifactResolve
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:58Z"
Destination="https://sp.example.com/SAML2/ArtifactResolution">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<!-- an ArtifactResolve message SHOULD be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<samlp:Artifact>''artifact_1''</samlp:Artifact>
</samlp:ArtifactResolve>
जहां का मूल्य <samlp:Artifact> तत्व चरण 3 में प्रेषित एसएएमएल अर्टिफैक्ट साक्ष्य है।
5. एसएएमएल प्रमाणीकरण अनुरोध के साथ प्रतिक्रिया दें
सर्विस प्रोवाइडर की अर्टिफैक्ट रेजोल्यूशन सर्विस रिटर्न करती है <samlp:ArtifactResponse> तत्व (एक युक्त <samlp:AuthnRequest> तत्व) पहचान प्रदाता पर एसएसओ सेवा के लिए एक एसएएमएल SOAP संदेश के लिए बाध्य:
<samlp:ArtifactResponse
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="identifier_2"
InResponseTo="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z">
<!-- an ArtifactResponse message SHOULD be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_3"
Version="2.0"
IssueInstant="2004-12-05T09:21:59Z"
Destination="https://idp.example.org/SAML2/SSO/Artifact"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
AssertionConsumerServiceURL="https://sp.example.com/SAML2/SSO/Artifact">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
AllowCreate="false"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"/>
</samlp:AuthnRequest>
</samlp:ArtifactResponse>
एसएसओ सेवा प्रक्रिया करती है <samlp:AuthnRequest> तत्व और एक सुरक्षा जांच करता है। यदि उपयोगकर्ता के पास वैध सुरक्षा संदर्भ नहीं है, तो पहचान प्रदाता उपयोगकर्ता की पहचान करता है (विवरण छोड़ा गया)।
6. अभिकथन उपभोक्ता सेवा पर पुनर्निर्देशित करें
पहचान प्रदाता पर एसएसओ सेवा उपयोगकर्ता एजेंट को सेवा प्रदाता पर अभिकथन उपभोक्ता सेवा पर पुनर्निर्देशित करती है। पूर्व RelayState पैरामीटर और एक नया एसएएमएलart रीडायरेक्ट URL में पैरामीटर जोड़े जाते हैं।
7. एसपी में अभिकथन उपभोक्ता सेवा का अनुरोध करें
उपयोगकर्ता एजेंट सेवा प्रदाता पर दावा उपभोक्ता सेवा का अनुरोध करता है:
https://sp.example.com/एसएएमएल2/एसएसओ/Artifact?एसएएमएलart=artifact_2&RelayState=token
कहाँ token चरण 3 से टोकन मान है और artifact_2 चरण 6 में जारी किया गया एसएएमएल अर्टिफैक्ट साक्ष्य है।
8. IdP पर अर्टिफैक्ट साक्ष्य समाधान सेवा का अनुरोध करें
अभिकथन उपभोक्ता सेवा अर्टिफैक्ट को एक भेजकर डिरेफेरेंस करती है <samlp:ArtifactResolve> पहचान प्रदाता पर अर्टिफैक्ट साक्ष्य समाधान सेवा के लिए एसएएमएल SOAP संदेश के लिए बाध्य तत्व:
<samlp:ArtifactResolve
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_4"
Version="2.0"
IssueInstant="2004-12-05T09:22:04Z"
Destination="https://idp.example.org/SAML2/ArtifactResolution">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<!-- an ArtifactResolve message SHOULD be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<samlp:Artifact>''artifact_2''</samlp:Artifact>
</samlp:ArtifactResolve>
जहां का मूल्य <samlp:Artifact> तत्व चरण 7 पर प्रेषित एसएएमएल अर्टिफैक्ट साक्ष्य है।
9. एसएएमएल अभिकथन के साथ प्रतिक्रिया दें
आइडेंटिटी प्रोवाइडर पर अर्टिफैक्ट रेजोल्यूशन सर्विस रिटर्न करती है <samlp:ArtifactResponse> तत्व (एक युक्त <samlp:Response> तत्व) सेवा प्रदाता पर दावा उपभोक्ता सेवा के लिए एक एसएएमएल SOAP संदेश के लिए बाध्य है:
<samlp:ArtifactResponse
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="identifier_5"
InResponseTo="identifier_4"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z">
<!-- an ArtifactResponse message SHOULD be signed -->
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<samlp:Response
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_6"
InResponseTo="identifier_3"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z"
Destination="https://sp.example.com/SAML2/SSO/Artifact">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_7"
Version="2.0"
IssueInstant="2004-12-05T09:22:05Z">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<!-- a Subject element is required -->
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
user@mail.example.org
</saml:NameID>
<saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData
InResponseTo="identifier_3"
Recipient="https://sp.example.com/SAML2/SSO/Artifact"
NotOnOrAfter="2004-12-05T09:27:05Z"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions
NotBefore="2004-12-05T09:17:05Z"
NotOnOrAfter="2004-12-05T09:27:05Z">
<saml:AudienceRestriction>
<saml:Audience>https://sp.example.com/SAML2</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2004-12-05T09:22:00Z"
SessionIndex="identifier_7">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
</samlp:ArtifactResponse>
10. लक्ष्य संसाधन पर पुनर्निर्देशित करें
अभिकथन उपभोक्ता सेवा प्रतिक्रिया को संसाधित करती है, सेवा प्रदाता पर एक सुरक्षा संदर्भ बनाती है और उपयोगकर्ता एजेंट को लक्ष्य संसाधन पर पुनर्निर्देशित करती है।
11. लक्ष्य संसाधन के लिए एसपी से फिर से अनुरोध करें
उपयोगकर्ता एजेंट सेवा प्रदाता (फिर से) पर लक्ष्य संसाधन का अनुरोध करता है:
https://sp.example.com/myresource
12. अनुरोधित संसाधन के साथ प्रतिक्रिया दें
चूंकि एक सुरक्षा संदर्भ मौजूद है, सेवा प्रदाता संसाधन को उपयोगकर्ता एजेंट को लौटाता है।
पहचान प्रदाता डिस्कवरी प्रोफ़ाइल
एसएएमएल 2.0 आइडेंटिटी प्रोवाइडर डिस्कवरी प्रोफ़ाइल में नीचे दी गई अवधारणाएं सम्मिलित हैं:
- 'आम डोमेन'
- 'कॉमन डोमेन कुकी'
- 'सामान्य डोमेन कुकी लेखन सेवा'
- 'कॉमन डोमेन कुकी रीडिंग सर्विस'
सामान्य डोमेन के एक काल्पनिक उदाहरण के रूप में, मान लें कि उदाहरण यूके (example.co.uk) और उदाहरण Deutschland (example.de) आभासी संगठन उदाहरण ग्लोबल एलायंस (example.com) से संबंधित हैं। इस उदाहरण में, 'example.com' डोमेन सामान्य डोमेन है। उदाहरण यूके और उदाहरण Deutschland दोनों की इस डोमेन में मौजूदगी है (uk.example.com और de.example.com, सम्मान)।
सामान्य डोमेन कुकी एक सुरक्षित ब्राउज़र कुकी है जिसका दायरा सामान्य डोमेन तक सीमित है। प्रत्येक ब्राउज़र उपयोगकर्ता के लिए, यह कुकी हाल ही में विज़िट किए गए IdPs की एक इतिहास सूची संग्रहीत करती है। कुकी का नाम और मान IdP डिस्कवरी प्रोफ़ाइल (एसएएमएलProf[3]).
प्रमाणीकरण के एक सफल कार्य के बाद, आईडीपी सामान्य डोमेन कुकी लेखन सेवा का अनुरोध करता है। यह सेवा IdP के विशिष्ट पहचानकर्ता को सामान्य डोमेन कुकी में जोड़ती है। एसपी, जब इसे एक संरक्षित संसाधन के लिए एक अप्रमाणित अनुरोध प्राप्त होता है, तो सामान्य डोमेन कुकी रीडिंग सर्विस से अनुरोध करता है कि वह ब्राउजर उपयोगकर्ता के सबसे हाल ही में उपयोग किए गए आईडीपी की खोज करे।
अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल
अभिकथन क्वेरी/अनुरोध प्रोफ़ाइल एक सामान्य प्रोफ़ाइल है जो निम्नलिखित एसएएमएल 2.0 तत्वों का उपयोग करके कई प्रकार के तथाकथित प्रश्नों को समायोजित करती है:
- द
<samlp:AssertionIDRequest>एलिमेंट, जिसका उपयोग उसके विशिष्ट पहचानकर्ता (ID) - द
<samlp:SubjectQuery>तत्व, जो एक सार विस्तार बिंदु है जो नए विषय-आधारित एसएएमएल प्रश्नों को परिभाषित करने की अनुमति देता है - द
<samlp:AuthnQuery>तत्व, जिसका उपयोग प्रमाणीकरण प्राधिकरण से किसी दिए गए विषय के बारे में मौजूदा प्रमाणीकरण दावे का अनुरोध करने के लिए किया जाता है - द
<samlp:AttributeQuery>तत्व, जिसका उपयोग किसी विशेषता प्राधिकरण से किसी दिए गए विषय के बारे में विशेषताओं का अनुरोध करने के लिए किया जाता है - द
<samlp:AuthzDecisionQuery>तत्व, जिसका उपयोग किसी विश्वसनीय तृतीय पक्ष से प्राधिकरण निर्णय का अनुरोध करने के लिए किया जाता है
एसएएमएल SOAP बाइंडिंग का उपयोग अक्सर प्रश्नों के संयोजन में किया जाता है।
एसएएमएल विशेषता क्वेरी
विशेषता क्वेरी शायद एसएएमएल क्वेरी का सबसे महत्वपूर्ण प्रकार है। अक्सर एक अनुरोधकर्ता, प्रिंसिपल की ओर से कार्य करता है, विशेषताओं के लिए एक पहचान प्रदाता से पूछताछ करता है। नीचे हम एक प्रिंसिपल द्वारा सीधे जारी किए गए प्रश्न का उदाहरण देते हैं:
<samlp:AttributeQuery
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="aaf23196-1773-2113-474a-fe114412ab72"
Version="2.0"
IssueInstant="2006-07-17T20:31:40Z">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName">
CN=trscavo@uiuc.edu,OU=User,O=NCSA-TEST,C=US
</saml:Issuer>
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName">
CN=trscavo@uiuc.edu,OU=User,O=NCSA-TEST,C=US
</saml:NameID>
</saml:Subject>
<saml:Attribute
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:2.5.4.42"
FriendlyName="givenName">
</saml:Attribute>
<saml:Attribute
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:1.3.6.1.4.1.1466.115.121.1.26"
FriendlyName="mail">
</saml:Attribute>
</samlp:AttributeQuery>
ध्यान दें कि Issuer है Subject इस मामले में। इसे कभी-कभी एट्रिब्यूट सेल्फ़-क्वेरी कहा जाता है. एक पहचान प्रदाता निम्नलिखित अभिकथन को वापस कर सकता है, एक में लिपटा हुआ <samlp:Response> तत्व (नहीं दिखाया गया):
<saml:Assertion
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
ID="_33776a319493ad607b7ab3e689482e45"
Version="2.0"
IssueInstant="2006-07-17T20:31:41Z">
<saml:Issuer>https://idp.example.org/SAML2</saml:Issuer>
<ds:Signature>...</ds:Signature>
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName">
CN=trscavo@uiuc.edu,OU=User,O=NCSA-TEST,C=US
</saml:NameID>
<saml:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:holder-of-key">
<saml:SubjectConfirmationData>
<ds:KeyInfo>
<ds:X509Data>
<!-- principal's X.509 cert -->
<ds:X509Certificate>
MIICiDCCAXACCQDE+9eiWrm62jANBgkqhkiG9w0BAQQFADBFMQswCQYDVQQGEwJV
UzESMBAGA1UEChMJTkNTQS1URVNUMQ0wCwYDVQQLEwRVc2VyMRMwEQYDVQQDEwpT
UC1TZXJ2aWNlMB4XDTA2MDcxNzIwMjE0MVoXDTA2MDcxODIwMjE0MVowSzELMAkG
A1UEBhMCVVMxEjAQBgNVBAoTCU5DU0EtVEVTVDENMAsGA1UECxMEVXNlcjEZMBcG
A1UEAwwQdHJzY2F2b0B1aXVjLmVkdTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEAv9QMe4lRl3XbWPcflbCjGK9gty6zBJmp+tsaJINM0VaBaZ3t+tSXknelYife
nCc2O3yaX76aq53QMXy+5wKQYe8Rzdw28Nv3a73wfjXJXoUhGkvERcscs9EfIWcC
g2bHOg8uSh+Fbv3lHih4lBJ5MCS2buJfsR7dlr/xsadU2RcCAwEAATANBgkqhkiG
9w0BAQQFAAOCAQEAdyIcMTob7TVkelfJ7+I1j0LO24UlKvbLzd2OPvcFTCv6fVHx
Ejk0QxaZXJhreZ6+rIdiMXrEzlRdJEsNMxtDW8++sVp6avoB5EX1y3ez+CEAIL4g
cjvKZUR4dMryWshWIBHKFFul+r7urUgvWI12KbMeE9KP+kiiiiTskLcKgFzngw1J
selmHhTcTCrcDocn5yO2+d3dog52vSOtVFDBsBuvDixO2hv679JR6Hlqjtk4GExp
E9iVI0wdPE038uQIJJTXlhsMMLvUGVh/c0ReJBn92Vj4dI/yy6PtY/8ncYLYNkjg
oVN0J/ymOktn9lTlFyTiuY4OuJsZRO1+zWLy9g==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</saml:SubjectConfirmationData>
</saml:SubjectConfirmation>
</saml:Subject>
<!-- assertion lifetime constrained by principal's X.509 cert -->
<saml:Conditions
NotBefore="2006-07-17T20:31:41Z"
NotOnOrAfter="2006-07-18T20:21:41Z">
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2006-07-17T20:31:41Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute
xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
x500:Encoding="LDAP"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:2.5.4.42"
FriendlyName="givenName">
<saml:AttributeValue
xsi:type="xs:string">Tom</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute
xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
x500:Encoding="LDAP"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:1.3.6.1.4.1.1466.115.121.1.26"
FriendlyName="mail">
<saml:AttributeValue
xsi:type="xs:string">trscavo@gmail.com</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
पहले दिखाए गए #BearerAssertion के विपरीत, इस अभिकथन का जीवनकाल X.509 प्रमाणपत्र के जीवनकाल के अनुरूप होता है जिसका उपयोग प्रिंसिपल पहचान प्रदाता को प्रमाणित करने के लिए करता है। इसके अलावा, चूंकि अभिकथन पर चिन्ह किए गए हैं, इसलिए उपयोगकर्ता इस अभिकथन को एक निर्भर पक्ष को धकेल सकता है, और जब तक उपयोगकर्ता संबंधित निजी कुंजी (इसलिए नाम धारक-की-कुंजी) का अधिकार साबित कर सकता है, निर्भर पक्ष को आश्वस्त किया जा सकता है कि दावा प्रामाणिक है।
एसएएमएल 2.0 मेटाडेटा
वस्तुतः, मेटाडेटा वह है जो एसएएमएल को काम करता है (या अच्छी तरह से काम करता है)। मेटाडेटा के कुछ महत्वपूर्ण उपयोगों में सम्मिलित हैं:
- एक सेवा प्रदाता एक संचारित करने के लिए तैयार करता है
<samlp:AuthnRequest>ब्राउज़र के माध्यम से एक पहचान प्रदाता के लिए तत्व। सेवा प्रदाता कैसे जानता है कि पहचान प्रदाता प्रामाणिक है न कि कोई दुष्ट पहचान प्रदाता उपयोगकर्ता के पासवर्ड को फ़िशिंग करने का प्रयास कर रहा है? प्रमाणीकरण अनुरोध जारी करने से पहले सेवा प्रदाता अपने विश्वसनीय पहचान प्रदाताओं की सूची मेटाडेटा में से परामर्श करता है। - पिछले परिदृश्य में, सेवा प्रदाता कैसे जानता है कि प्रमाणीकरण अनुरोध के साथ उपयोगकर्ता को कहाँ भेजा जाए? सेवा प्रदाता मेटाडेटा में विश्वसनीय पहचान प्रदाता के पूर्व-व्यवस्थित एंडपॉइंट स्थान की तलाश करता है।
- एक पहचान प्रदाता एक प्राप्त करता है
<samlp:AuthnRequest>ब्राउज़र के माध्यम से एक सेवा प्रदाता से तत्व। पहचान प्रदाता कैसे जानता है कि सेवा प्रदाता प्रामाणिक है और उपयोगकर्ता के बारे में व्यक्तिगत रूप से पहचाने जाने योग्य जानकारी की कटाई करने की कोशिश कर रहे कुछ बुरे सेवा प्रदाता नहीं हैं? प्रमाणीकरण प्रतिक्रिया जारी करने से पहले पहचान प्रदाता मेटाडेटा में अपने विश्वसनीय सेवा प्रदाताओं की सूची से परामर्श करता है। - पिछले परिदृश्य में, पहचान प्रदाता एसएएमएल अभिकथन को कैसे एन्क्रिप्ट करता है ताकि विश्वसनीय सेवा प्रदाता (और केवल विश्वसनीय सेवा प्रदाता) अभिकथन को डिक्रिप्ट कर सके। पहचान प्रदाता अभिकथन को एन्क्रिप्ट करने के लिए मेटाडेटा में सेवा प्रदाता के एन्क्रिप्शन प्रमाणपत्र का उपयोग करता है।
- पिछले परिदृश्य को जारी रखते हुए, पहचान प्रदाता कैसे जानता है कि उपयोगकर्ता को प्रमाणीकरण प्रतिक्रिया के साथ कहां भेजा जाए? पहचान प्रदाता मेटाडेटा में विश्वसनीय सेवा प्रदाता के पूर्व-व्यवस्थित एंडपॉइंट स्थान की तलाश करता है।
- सेवा प्रदाता कैसे जानता है कि प्रमाणीकरण प्रतिक्रिया एक विश्वसनीय पहचान प्रदाता से आई है? सेवा प्रदाता मेटाडेटा से पहचान प्रदाता की सार्वजनिक कुंजी का उपयोग करके अभिकथन पर चिन्ह की पुष्टि करता है।
- सेवा प्रदाता को यह कैसे पता चलता है कि विश्वसनीय पहचान प्रदाता से प्राप्त अर्टिफैक्ट का समाधान कहां करना है? सेवा प्रदाता मेटाडेटा से पहचान प्रदाता की अर्टिफैक्ट साक्ष्य समाधान सेवा के पूर्व-व्यवस्थित एंडपॉइंट स्थान को देखता है।
मेटाडेटा पहचान प्रदाता और सेवा प्रदाता के बीच एक सुरक्षित लेनदेन सुनिश्चित करता है। मेटाडेटा से पहले, ट्रस्ट की जानकारी को मालिकाना तरीके से कार्यान्वयन में एन्कोड किया गया था। अब ट्रस्ट की जानकारी साझा करने की सुविधा मानक मेटाडेटा द्वारा दी जाती है। एसएएमएल 2.0 एक अच्छी तरह से परिभाषित, इंटरऑपरेबल मेटाडेटा प्रारूप प्रदान करता है, जिसका उपयोग संस्थाएं विश्वास प्रक्रिया को बूटस्ट्रैप करने के लिए कर सकती हैं।
पहचान प्रदाता मेटाडेटा
एक पहचान प्रदाता एक में अपने बारे में डेटा प्रकाशित करता है <md:EntityDescriptor> तत्व:
<md:EntityDescriptor entityID="https://idp.example.org/SAML2" validUntil="2013-03-22T23:00:00Z"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<!-- insert ds:Signature element (omitted) -->
<!-- insert md:IDPSSODescriptor element (below) -->
<md:Organization>
<md:OrganizationName xml:lang="en">Some Non-profit Organization of New York</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="en">Some Non-profit Organization</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="en">https://www.example.org/</md:OrganizationURL>
</md:Organization>
<md:ContactPerson contactType="technical">
<md:SurName>SAML Technical Support</md:SurName>
<md:EmailAddress>mailto:saml-support@example.org</md:EmailAddress>
</md:ContactPerson>
</md:EntityDescriptor>
इस एंटिटी डिस्क्रिप्टर के बारे में निम्नलिखित विवरणों पर ध्यान दें:
entityIDई> विशेषता इकाई का विशिष्ट पहचानकर्ता है।validUntile> विशेषता मेटाडेटा की अवसान तिथि देती है।<ds:Signature>ई> तत्व (जिसे सादगी के लिए छोड़ दिया गया है) में एक डिजिटल चिन्ह होता है जो मेटाडेटा की प्रामाणिकता और अखंडता सुनिश्चित करता है।- संगठन में पहचाना गया
<md:Organization>तत्व इकाई विवरणक द्वारा वर्णित इकाई के लिए जिम्मेदार है (एसएएमएलMeta का खंड 2.3.2[4]). - में संपर्क जानकारी
<md:ContactPerson>तत्व इकाई के लिए जिम्मेदार एक तकनीकी संपर्क की पहचान करता है। एकाधिक संपर्क और संपर्क प्रकार संभव हैं। एसएएमएलMeta का अनुभाग 2.3.2.2 देखें।[4]
परिभाषा के अनुसार, एक पहचान प्रदाता एक एसएसओ सेवा का प्रबंधन करता है जो एसएएमएलProf में निर्दिष्ट एसएएमएल वेब ब्राउज़र एसएसओ प्रोफ़ाइल का समर्थन करती है।[3]उदाहरण के लिए, में वर्णित पहचान प्रदाता देखें <md:IDPएसएसओDescriptor> तत्व अगले भाग में दिखाया गया है।
एसएसओ सेवा मेटाडेटा
पहचान प्रदाता पर एसएसओ सेवा का वर्णन एक में किया गया है <md:IDPएसएसओDescriptor> तत्व:
<md:IDPSSODescriptor
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo>...</ds:KeyInfo>
</md:KeyDescriptor>
<md:ArtifactResolutionService isDefault="true" index="0"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
Location="https://idp.example.org/SAML2/ArtifactResolution"/>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
<md:SingleSignOnService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
Location="https://idp.example.org/SAML2/SSO/Redirect"/>
<md:SingleSignOnService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://idp.example.org/SAML2/SSO/POST"/>
<md:SingleSignOnService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
Location="https://idp.example.org/SAML2/Artifact"/>
<saml:Attribute
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1"
FriendlyName="eduPersonAffiliation">
<saml:AttributeValue>member</saml:AttributeValue>
<saml:AttributeValue>student</saml:AttributeValue>
<saml:AttributeValue>faculty</saml:AttributeValue>
<saml:AttributeValue>employee</saml:AttributeValue>
<saml:AttributeValue>staff</saml:AttributeValue>
</saml:Attribute>
</md:IDPSSODescriptor>
पिछला मेटाडेटा तत्व पहचान प्रदाता पर एसएसओ सेवा का वर्णन करता है। इस तत्व के बारे में निम्नलिखित विवरणों पर ध्यान दें:
- पहचान प्रदाता सॉफ़्टवेयर को एक निजी एसएएमएल चिन्ह कुंजी और/या एक निजी बैक-चैनल टीएलएस कुंजी के साथ कॉन्फ़िगर किया गया है। संबंधित सार्वजनिक कुंजी इसमें सम्मिलित है
<md:KeyDescriptor use="signing">IdP मेटाडेटा में तत्व। संक्षिप्तता के लिए मुख्य विवरणक से मुख्य वस्तु को हटा दिया गया है। Bindingई> की विशेषता<md:ArtifactResolutionService>तत्व इंगित करता है कि एसएएमएल SOAP बाइंडिंग (एसएएमएलBind[2] अर्टिफैक्ट साक्ष्य संकल्प के लिए इस्तेमाल किया जाना चाहिए।Locationई> की विशेषता<md:ArtifactResolutionService>#SP रीडायरेक्ट आर्टिफ़ैक्ट के चरण 8 में तत्व का उपयोग किया गया है; IdP रीडायरेक्ट अर्टिफैक्ट साक्ष्य प्रोफ़ाइल।- का मूल्य
indexकी विशेषता<md:ArtifactResolutionService>तत्व के रूप में प्रयोग किया जाता हैEndpointIndexएसएएमएल प्रकार 0x0004 अर्टिफैक्ट साक्ष्य के निर्माण में। <md:NameIDFormat>ई> तत्व इंगित करते हैं कि एसएएमएल नाम पहचानकर्ता प्रारूप (एसएएमएल Core[1] एसएसओ सेवा समर्थन करती है।Bindingई> के गुण<md:SingleSignOnService>तत्व एसएएमएल 2.0 बाइंडिंग विनिर्देश (एसएएमएलBind[2]).Locationई> की विशेषता<md:SingleSignOnService>तत्व जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल POST बाइंडिंग का समर्थन करता है, POST अनुरोध के चरण 2 में उपयोग किया जाता है; आईडीपी पोस्ट प्रतिक्रिया प्रोफ़ाइल।Locationई> की विशेषता<md:SingleSignOnService>तत्व जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग का समर्थन करता है #SP रीडायरेक्ट अर्टिफैक्ट के चरण 2 में उपयोग किया जाता है; IdP रीडायरेक्ट अर्टिफैक्ट साक्ष्य प्रोफ़ाइल।<saml:Attribute>ई> तत्व एक विशेषता का वर्णन करता है कि पहचान प्रदाता दावा करने के लिए तैयार है (नीति के अधीन)।<saml:AttributeValue>ई> तत्व संभावित मूल्यों की गणना करते हैं जो विशेषता ले सकती है।
जैसा कि इस खंड के प्रारंभ में उल्लेख किया गया है, के मान Location विशेषताएँ एसएएमएल संदेशों को रूट करने के लिए एक सेवा प्रदाता द्वारा उपयोग की जाती हैं, जो एक दुष्ट पहचान प्रदाता द्वारा एक मैन-इन-द-मिडल हमले की संभावना को कम करता है।
सेवा प्रदाता मेटाडेटा
पहचान प्रदाता की तरह, एक सेवा प्रदाता अपने बारे में डेटा को एक में प्रकाशित करता है <md:EntityDescriptor> तत्व:
<md:EntityDescriptor entityID="https://sp.example.com/SAML2" validUntil="2013-03-22T23:00:00Z"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<!-- insert ds:Signature element (omitted) -->
<!-- insert md:SPSSODescriptor element (see below) -->
<md:Organization>
<md:OrganizationName xml:lang="en">Some Commercial Vendor of California</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="en">Some Commercial Vendor</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="en">https://www.example.com/</md:OrganizationURL>
</md:Organization>
<md:ContactPerson contactType="technical">
<md:SurName>SAML Technical Support</md:SurName>
<md:EmailAddress>mailto:saml-support@example.com</md:EmailAddress>
</md:ContactPerson>
</md:EntityDescriptor>
इस एंटिटी डिस्क्रिप्टर के बारे में निम्नलिखित विवरणों पर ध्यान दें:
entityIDई> विशेषता इकाई का विशिष्ट पहचानकर्ता है।validUntile> विशेषता मेटाडेटा की अवसान तिथि देती है।<ds:Signature>ई> तत्व (जिसे सादगी के लिए छोड़ दिया गया है) में एक डिजिटल चिन्ह होता है जो मेटाडेटा की प्रामाणिकता और अखंडता सुनिश्चित करता है।- संगठन में पहचाना गया
<md:Organization>तत्व इकाई विवरणक द्वारा वर्णित इकाई के लिए जिम्मेदार है (एसएएमएलMeta का खंड 2.3.2[4]). - में संपर्क जानकारी
<md:ContactPerson>तत्व इकाई के लिए जिम्मेदार एक तकनीकी संपर्क की पहचान करता है। एकाधिक संपर्क और संपर्क प्रकार संभव हैं। एसएएमएलMeta का अनुभाग 2.3.2.2 देखें।[4]
परिभाषा के अनुसार, एक सेवा प्रदाता एक अभिकथन उपभोक्ता सेवा का प्रबंधन करता है जो एसएएमएलProf में निर्दिष्ट एसएएमएल वेब ब्राउज़र एसएसओ प्रोफ़ाइल का समर्थन करती है।[3]उदाहरण के लिए, में वर्णित सेवा प्रदाता देखें <md:SPSSODescriptor> तत्व अगले भाग में दिखाया गया है।
अभिकथन उपभोक्ता सेवा मेटाडेटा
अभिकथन उपभोक्ता सेवा मे <md:SPSSODescriptor> तत्व में समाहित है:
<md:SPSSODescriptor
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo>...</ds:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo>...</ds:KeyInfo>
</md:KeyDescriptor>
<md:ArtifactResolutionService isDefault="true" index="0"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"
Location="https://sp.example.com/SAML2/ArtifactResolution"/>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
<md:AssertionConsumerService isDefault="true" index="0"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://sp.example.com/SAML2/SSO/POST"/>
<md:AssertionConsumerService index="1"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
Location="https://sp.example.com/SAML2/Artifact"/>
<md:AttributeConsumingService isDefault="true" index="1">
<md:ServiceName xml:lang="en">Service Provider Portal</md:ServiceName>
<md:RequestedAttribute
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1"
FriendlyName="eduPersonAffiliation">
</md:RequestedAttribute>
</md:AttributeConsumingService>
</md:SPSSODescriptor>
<md:SPSSODescriptor> मेटाडेटा तत्व के बारे में निम्नलिखित विवरणों पर ध्यान दें:
- सेवा प्रदाता सॉफ़्टवेयर को एक निजी एसएएमएल चिन्ह कुंजी और/या एक निजी बैक-चैनल टीएलएस कुंजी के साथ कॉन्फ़िगर किया गया है। संबंधित सार्वजनिक कुंजी एसपी मेटाडेटा में
<md:KeyDescriptor use="signing">तत्व में सम्मिलित है। संक्षिप्तता के लिए मुख्य वस्तु को मुख्य विवरणक से हटा दिया गया है। - इसी तरह सेवा प्रदाता सॉफ्टवेयर को एक निजी एसएएमएल डिक्रिप्शन कुंजी के साथ कॉन्फ़िगर किया गया है। एक सार्वजनिक एसएएमएल एन्क्रिप्शन कुंजी
<md:KeyDescriptor use="encryption">एसपी मेटाडेटा में तत्व में सम्मिलित है। संक्षिप्तता के लिए मुख्य विवरणक से मुख्य वस्तु को हटा दिया गया है। <md:AssertionConsumerService>तत्व कीindexविशेषता का उपयोगAssertionConsumerServiceIndexतत्व में<samlp:AuthnRequest>विशेषता के मान के रूप में किया जाता है।<md:AssertionConsumerService>तत्वों कीBindingविशेषताएँ एसएएमएल 2.0 बाइंडिंग विनिर्देश (एसएएमएलबीआईएनडी)[2] में निर्दिष्ट मानक यूआरआई हैं।<md:AssertionConsumerService>तत्व कीLocationकी विशेषता जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल पोस्ट बाइंडिंग (index="0") का समर्थन करती है, जिसका उपयोग "द्विक पीओएसटी" प्रोफ़ाइल के चरण 4 में किया जाता है।<md:AssertionConsumerService>तत्व कीLocationकी विशेषता जो हाइपर टेक्स्ट ट्रांसफर प्रोटोकॉल अर्टिफैक्ट बाइंडिंग (index="1") का समर्थन करती है, जिसका उपयोग "द्विक आर्टिफैक्ट" प्रोफ़ाइल के चरण 6 में किया जाता है।<md:AttributeConsumingService>तत्व का उपयोग पहचान प्रदाता द्वारा एक<saml:AttributeStatement>तत्व तैयार करने के लिए किया जाता है जिसे वेब ब्राउज़र एसएसओ के साथ सेवा प्रदाता को भेजा जाता है।<md:AssertionConsumerService>तत्व कीindexविशेषता का उपयोगAttributeConsumingServiceIndexतत्व में<samlp:AuthnRequest>विशेषता के मान के रूप में किया जाता है।
जैसा कि इस खंड के प्रारंभ में उल्लेख किया गया है, Location विशेषताओ के मानो का एक पहचान प्रदाता द्वारा एसएएमएल संदेशों को रूट करने के लिए उपयोग की जाती हैं, जो एक दुष्ट सेवा प्रदाता द्वारा एक बीच मे आक्षेप की संभावना को कम करता है।
मेटाडेटा एग्रीगेट
पिछले उदाहरणों में, प्रत्येक <md:EntityDescriptor> तत्व को डिजिटल रूप से हस्ताक्षरित दिखाया गया है। हालाँकि, व्यवहार में, एकाधिक <md:EntityDescriptor> तत्वों को एक <md:EntitiesDescriptor> तत्व के अंतर्गत संपूर्ण एग्रीगेट पर एकल डिजिटल चिन्ह के साथ एक साथ संग्रहित किया जाता है:
<md:EntitiesDescriptor validUntil="2013-03-22T23:00:00Z"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<!-- insert ds:Signature element (omitted) -->
<md:EntityDescriptor entityID="https://idp.example.org/SAML2">
...
</md:EntityDescriptor>
<md:EntityDescriptor entityID="https://sp.example.com/SAML2">
...
</md:EntityDescriptor>
</md:EntitiesDescriptor>
उपरोक्त <md:EntitiesDescriptor> तत्व के बारे में निम्नलिखित विवरणों पर ध्यान दें:
- डिजिटल चिन्ह (संक्षिप्तता के लिए हटा दिया गया है) संपूर्ण एग्रीगेट को सम्मिलित करता है।
validUntilविशेषता को पैरेंट तत्व तक बढ़ा दिया गया है, जिसका अर्थ है कि अवसान तिथि प्रत्येक चाइल्ड तत्व पर प्रयुक्त होती है।- अनावश्यक नामस्थान घोषणाओं से संरक्षित करने के लिए एक्सएमएल नामस्थान घोषणाओं को पैरेंट तत्व तक बढ़ा दिया गया है।
सामान्य रूप से मेटाडेटा एग्रीगेट विश्वसनीय तृतीय पक्षों द्वारा प्रकाशित किए जाते हैं जिन्हें संघ कहा जाता है जो एग्रीगेट में सभी मेटाडेटा की अखंडता की प्रत्याभूति देते हैं। ध्यान दें कि मेटाडेटा एग्रीगेट बहुत बड़ा हो सकता है, जो प्रति एग्रीगेट सैकड़ों या हजारों इकाइयों से बना हो सकता है।
यह भी देखें
- सुरक्षा अभिकथन मार्कअप भाषा
- एसएएमएल 1.1
- एसएएमएल मेटाडेटा
- एसएएमएल-आधारित उत्पाद और सेवाएँ
- मुक्तआईडी संयोजन
संदर्भ
Primary references:
- ↑ 1.0 1.1 1.2 S. Cantor et al. Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0 – Errata Composite. Working Draft 07, 8 September 2015. Document ID sstc-saml-core-errata-2.0-wd-07 http://www.oasis-open.org/committees/download.php/56776/sstc-saml-core-errata-2.0-wd-07.pdf
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 S. Cantor et al. Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0 – Errata Composite. Working Draft 06, 8 September 2015. Document ID sstc-saml-bindings-errata-2.0-wd-06 https://www.oasis-open.org/committees/download.php/56779/sstc-saml-bindings-errata-2.0-wd-06.pdf
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 J. Hughes et al. Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0 – Errata Composite. Working Draft 07, 8 September 2015. Document ID sstc-saml-profiles-errata-2.0-wd-07 https://www.oasis-open.org/committees/download.php/56782/sstc-saml-profiles-errata-2.0-wd-07.pdf
- ↑ 4.0 4.1 4.2 4.3 4.4 S. Cantor et al. Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0 – Errata Composite. Working Draft 05, 8 September 2015. Document ID sstc-saml-metadata-errata-2.0-wd-05 https://www.oasis-open.org/committees/download.php/56785/sstc-saml-metadata-errata-2.0-wd-05.pdf
Secondary references:
- P. Mishra et al. Conformance Requirements for the OASIS Security Assertion Markup Language (SAML) V2.0 – Errata Composite. Working Draft 04, 1 December 2009. Document ID sstc-saml-conformance-errata-2.0-wd-04 https://www.oasis-open.org/committees/download.php/35393/sstc-saml-conformance-errata-2.0-wd-04-diff.pdf
- N. Ragouzis et al., Security Assertion Markup Language (SAML) V2.0 Technical Overview. OASIS Committee Draft, March 2008. Document ID sstc-saml-tech-overview-2.0-cd-02 http://www.oasis-open.org/committees/download.php/27819/sstc-saml-tech-overview-2.0-cd-02.pdf
- P. Madsen et al., SAML V2.0 Executive Overview. OASIS Committee Draft, April 2005. Document ID sstc-saml-tech-overview-2.0-cd-01-2col http://www.oasis-open.org/committees/download.php/13525/sstc-saml-exec-overview-2.0-cd-01-2col.pdf
- J. Kemp et al. Authentication Context for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-authn-context-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf
- F. Hirsch et al. Security and Privacy Considerations for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-sec-consider-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf
- J. Hodges et al. Glossary for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-glossary-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-glossary-2.0-os.pdf
Deprecated references:
- P. Mishra et al. Conformance Requirements for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-conformance-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-conformance-2.0-os.pdf
- S. Cantor et al. Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-core-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
- S. Cantor et al. Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-bindings-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf
- S. Cantor et al. Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-profiles-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf
- S. Cantor et al. Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard, March 2005. Document ID saml-metadata-2.0-os http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf
