एसएएमएल असर की नीतियां

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

क्या

  • इनबाउंड ऑथेंटिकेशन और ऑथराइज़ेशन: एसएएमएल कार्रवाई की पुष्टि करें नीति
    एसएएमएल नीति का टाइप, एपीआई प्रॉक्सी को उन एसएएमएल दावों की पुष्टि करने की सुविधा देता है जो इससे जुड़े होते हैं इनबाउंड एसओएपी अनुरोध. एसएएमएल नीति, आने वाले ऐसे मैसेज की पुष्टि करती है जिनमें डिजिटल रूप से हस्ताक्षर किया गया एसएएमएल दावा, अमान्य होने पर उसे अस्वीकार कर दिया जाता है, और अतिरिक्त नीतियों या खुद बैकएंड सेवाओं को अनुमति दें, ताकि जानकारी की और पुष्टि की जा सके दावे को सही ठहराया है.
  • आउटबाउंड टोकन जनरेट करना: एसएएमएल असर नीति जनरेट करें
    एसएएमएल नीति का टाइप, एपीआई प्रॉक्सी को आउटबाउंड एक्सएमएल अनुरोधों में एसएएमएल दावों को अटैच करने की सुविधा देता है. इसके बाद, इन दावों का इस्तेमाल करके बैकएंड सेवाओं को और ज़्यादा सुरक्षा लागू की जा सकती है. पुष्टि करने और अनुमति देने की प्रोसेस जारी है.

सैंपल

एसएएमएल दावा जनरेट करें

<GenerateSAMLAssertion name="SAML" ignoreContentType="false">
  <CanonicalizationAlgorithm />
  <Issuer ref="reference">Issuer name</Issuer>
  <KeyStore>
    <Name ref="reference">keystorename</Name>
    <Alias ref="reference">alias</Alias>
  </KeyStore>
  <OutputVariable>
    <FlowVariable>assertion.content</FlowVariable>
    <Message name="request">
      <Namespaces>
        <Namespace prefix="test">http://www.example.com/test</Namespace>
      </Namespaces>
      <XPath>/envelope/header</XPath>
    </Message>
  </OutputVariable>
  <SignatureAlgorithm />
  <Subject ref="reference">Subject name</Subject>
  <Template ignoreUnresolvedVariables="false">
    <!-- A lot of XML goes here, in CDATA, with {} around
         each variable -->
  </Template>
</GenerateSAMLAssertion>

एसएएमएल दावा जनरेट करना

एसएएमएल दावे की पुष्टि करें

<ValidateSAMLAssertion name="SAML" ignoreContentType="false">
  <Source name="request">
    <Namespaces>
      <Namespace prefix='soap'>http://schemas.xmlsoap.org/soap/envelope/</Namespace>
      <Namespace prefix='wsse'>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd</Namespace>
      <Namespace prefix='saml'>urn:oasis:names:tc:SAML:2.0:assertion</Namespace>
    </Namespaces>
    <AssertionXPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</AssertionXPath>
    <SignedElementXPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</SignedElementXPath>
  </Source>
  <TrustStore>TrustStoreName</TrustStore>
  <RemoveAssertion>false</RemoveAssertion>
</ValidateSAMLAssertion>

एसएएमएल दावे की पुष्टि करना


एलिमेंट का रेफ़रंस

एसएएमएल दावा जनरेट करें

फ़ील्ड का नाम ब्यौरा
name एट्रिब्यूट नीति इंस्टेंस का नाम. यह नाम यूनीक होना चाहिए संगठन. नाम में इस्तेमाल किए जा सकने वाले वर्ण सिर्फ़ A-Z0-9._\-$ % तक सीमित हैं. हालांकि, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) में अतिरिक्त पाबंदियां लागू की जाती हैं, जैसे कि उन वर्णों को अपने-आप हटा सकता है जो अक्षर और अंक नहीं हैं.
ignoreContentType एट्रिब्यूट एक बूलियन जिसे true या false पर सेट किया जा सकता है. डिफ़ॉल्ट रूप से, अगर संदेश का सामग्री प्रकार कोई XML नहीं है, तो दावा जनरेट नहीं किया जाएगा कॉन्टेंट किस तरह का है. अगर इसे true पर सेट किया जाता है, तो मैसेज को एक्सएमएल माना जाएगा फिर चाहे कॉन्टेंट का टाइप कुछ भी हो.
Issuer
आइडेंटिटी प्रोवाइडर का यूनीक आइडेंटिफ़ायर. अगर वैकल्पिक ref विशेषता मौजूद है, तो जारी करने वाले का मान बताया गया वैरिएबल. अगर वैकल्पिक ref एट्रिब्यूट मौजूद नहीं है, तो जारी करने वाले के मान का इस्तेमाल किया जाएगा.
KeyStore
उस KeyStore का नाम जिसमें निजी कुंजी और निजी कुंजी का उपनाम होता है इसका इस्तेमाल एसएएमएल दावे पर डिजिटल रूप से हस्ताक्षर करने के लिए किया जाता है.
OutputVariable
FlowVariable
Message नीति का टारगेट. मान्य वैल्यू हैं message, request, और response. अगर नीति को message पर सेट किया जाता है, तो शर्तों के साथ यह नीति लागू होगी नीति के अटैचमेंट पॉइंट के आधार पर मैसेज ऑब्जेक्ट को हासिल करता है. इससे अटैच होने पर अनुरोध का फ़्लो, नीति message को अनुरोध के साथ रिज़ॉल्व कर देती है. साथ ही, यह नीति, रिस्पॉन्स फ़्लो के मामले में, यह नीति message को जवाब देने के लिए समाधान करती है.
XPath एकX+ एक्सप्रेशन जो उस बाहरी एक्सएमएल दस्तावेज़ पर मौजूद एलिमेंट को दिखाता है जिस पर यह नीति एसएएमएल दावा को अटैच करेगी.
SignatureAlgorithm SHA1 या SHA256
Subject
एसएएमएल दावे के विषय का यूनीक आइडेंटिफ़ायर. अगर वैकल्पिक ref एट्रिब्यूट मौजूद है, तो विषय की वैल्यू को इस पर असाइन किया जाएगा दिए गए वैरिएबल के आधार पर रनटाइम. अगर ref एट्रिब्यूट की वैल्यू देना ज़रूरी नहीं है, तो मौजूद है, तो विषय के मान का उपयोग किया जाएगा.
Template
अगर यह मौजूद है, तो दावा करने के लिए इस टेंप्लेट को चलाकर जनरेट किया जाएगा हर चीज़ {} को संबंधित वैरिएबल के साथ दिखाती है. इसके बाद, यह डिजिटल तौर पर दिखती है नतीजे पर हस्ताक्षर करते हैं. टेंप्लेट को AssignmentsMessage नीति के नियमों के मुताबिक प्रोसेस किया जाता है. असाइन करना देखें मैसेज से जुड़ी नीति.

एसएएमएल कार्रवाई की पुष्टि करें

फ़ील्ड का नाम ब्यौरा
name एट्रिब्यूट
नीति इंस्टेंस का नाम. संगठन में यह नाम यूनीक होना चाहिए. नाम में इस्तेमाल किए जा सकने वाले वर्ण सिर्फ़ A-Z0-9._\-$ % तक सीमित हैं. हालांकि, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) की सेटिंग में अतिरिक्त पाबंदियां लागू की जाती हैं. जैसे, अपने-आप अक्षर और अंक के अलावा, किसी और वर्ण को हटाना.
ignoreContentType एट्रिब्यूट एक बूलियन जिसे true या false पर सेट किया जा सकता है. डिफ़ॉल्ट रूप से, अगर संदेश का सामग्री प्रकार कोई XML नहीं है, तो दावा जनरेट नहीं किया जाएगा कॉन्टेंट किस तरह का है. अगर इसे true पर सेट किया जाता है, तो मैसेज को एक्सएमएल माना जाएगा फिर चाहे कॉन्टेंट का टाइप कुछ भी हो.
Source नीति का टारगेट. मान्य वैल्यू हैं message, request, और response. अगर नीति को message पर सेट किया जाता है, तो शर्तों के साथ यह नीति लागू होगी नीति के अटैचमेंट पॉइंट के आधार पर मैसेज ऑब्जेक्ट को हासिल करता है. इससे अटैच होने पर अनुरोध का फ़्लो, नीति message को अनुरोध के साथ रिज़ॉल्व कर देती है. साथ ही, यह नीति, रिस्पॉन्स फ़्लो के मामले में, यह नीति message को जवाब देने के लिए समाधान करती है.
XPath
अब काम नहीं करता. Source का बच्चा. इस्तेमाल की जाने वाली चीज़ें AssertionXPath और SignedElementXPath.
AssertionXPath
Source का बच्चा. एक एक्स पाथ एक्सप्रेशन मौजूद है, जो इनबाउंड एक्सएमएल दस्तावेज़, जिससे नीति एसएएमएल दावा एक्सट्रैक्ट कर सकती है.
SignedElementXPath
Source का बच्चा. एक एक्स पाथ एक्सप्रेशन मौजूद है, जो इनबाउंड एक्सएमएल दस्तावेज़, जिससे नीति साइन किए गए एलिमेंट को एक्सट्रैक्ट कर सकती है. यह हो सकता है कि AssertionXPath के लिए, के खाने के तरीके से अलग या उसके जैसा हो.
TrustStore
TrustStore का नाम जिसमें पुष्टि करने के लिए इस्तेमाल किए गए भरोसेमंद X.509 सर्टिफ़िकेट हैं एसएएमएल दावों पर डिजिटल हस्ताक्षर.
RemoveAssertion
एक बूलियन जिसे true या false पर सेट किया जा सकता है. टास्क कब शुरू होगा true, एसएएमएल दावा को अनुरोध वाले मैसेज से पहले हटा दिया जाएगा मैसेज को बैकएंड सेवा पर फ़ॉरवर्ड किया जाता है.

इस्तेमाल की जानकारी

सिक्योरिटी असर्शन मार्कअप लैंग्वेज (एसएएमएल) के स्पेसिफ़िकेशन में ऐसे फ़ॉर्मैट और प्रोटोकॉल के बारे में बताया गया है जो ऐप्लिकेशन को पुष्टि करने के लिए एक्सएमएल फ़ॉर्मैट की जानकारी का लेन-देन करने की सुविधा देता है और अनुमति

"सुरक्षा दावा" एक भरोसेमंद टोकन है, जो किसी ऐप्लिकेशन, ऐप्लिकेशन के उपयोगकर्ता के एट्रिब्यूट के बारे में बताता है. या लेन-देन में शामिल किसी अन्य व्यक्ति ने. सुरक्षा से जुड़े दावों को दो लोग मैनेज और इस्तेमाल करते हैं इकाइयां:

  • पहचान देने वाली सेवा: मीटिंग में हिस्सा लेने वाले लोगों की ओर से, सुरक्षा से जुड़े दावे करें
  • सेवा देने वाली कंपनियां: पहचान की पुष्टि के साथ भरोसेमंद संबंधों की मदद से, सुरक्षा से जुड़े दावों की पुष्टि करना सेवा देने वाली कंपनियां

एपीआई प्लैटफ़ॉर्म, आइडेंटिटी प्रोवाइडर और सेवा देने वाले के तौर पर काम कर सकता है. यह मैसेज जनरेट करने और मैसेज का अनुरोध करने के लिए उन्हें अटैच करके, आइडेंटिटी प्रोवाइडर को बैकएंड सेवाओं से प्रोसेस होने के लिए उपलब्ध दावे. यह सेवा देने वाली कंपनी के तौर पर काम करता है इनबाउंड अनुरोध मैसेज पर किए गए दावों की पुष्टि करना.

एसएएमएल नीति का टाइप, एसएएमएल से जुड़ी उन दावों के साथ काम करता है जो एसएएमएल कोर के वर्शन 2.0 से मेल खाते हैं WS-सुरक्षा एसएएमएल टोकन प्रोफ़ाइल की खास बातें और वर्शन 1.0.

एसएएमएल दावा जनरेट करें

नीति को प्रोसेस करना:

  1. अगर मैसेज एक्सएमएल नहीं है और ignoreContentType को true पर सेट नहीं किया गया है, तो गड़बड़ी ठीक करें.
  2. अगर "टेंप्लेट" मौजूद हो सेट हो जाता है, तो इसके बाद, 'assignMessage नीति' के हिसाब से टेंप्लेट को प्रोसेस करें. अगर कोई वैरिएबल मौजूद नहीं है और ignoreUnsolvedVariables सेट नहीं किया गया है, तो गड़बड़ी बढ़ाएं.
  3. अगर "टेंप्लेट" मौजूद हो सेट नहीं किया गया है, तो एक ऐसा दावा बनाएं जिसमें विषय और जारी करने वाले पैरामीटर या उनके रेफ़रंस.
  4. बताई गई कुंजी का इस्तेमाल करके दावे पर हस्ताक्षर करें.
  5. तय किए गए OAuth पर मैसेज में दावा जोड़ें.

एसएएमएल कार्रवाई की पुष्टि करें

नीति को प्रोसेस करना:

  1. यह नीति इनबाउंड मैसेज की जांच करती है, ताकि यह पुष्टि की जा सके कि अनुरोध का मीडिया टाइप एक्सएमएल है. यह जांचना कि कॉन्टेंट का टाइप, text/(.*+)?xml फ़ॉर्मैट से मेल खाता है या नहीं या application/(.*+)?xml. अगर मीडिया का टाइप एक्सएमएल नहीं है और <IgnoreContentType> को सेट नहीं किया गया है, तो इस नीति की वजह से गड़बड़ी हो सकती है.
  2. यह नीति, एक्सएमएल को पार्स करेगी. अगर पार्स नहीं हो पाता है, तो गड़बड़ी हो सकती है.
  3. यह नीति, साइन किए हुए एलिमेंट और दावे को एक्सट्रैक्ट करेगी. इसके लिए, उन रेफ़रंस का इस्तेमाल करना होगा बताए गए (<SignedElementXPath> और <AssertionXPath>). अगर इनमें से किसी भी पाथ से कोई एलिमेंट नहीं दिखता, तो नीति में गड़बड़ी होगी.
  4. नीति से यह पुष्टि की जाएगी कि दावा, साइन किए गए एलिमेंट जैसा ही है या साइन किए गए एलिमेंट का चाइल्ड एलिमेंट. अगर ऐसा नहीं है, तो नीति की वजह से गलती हो सकती है.
  5. अगर <NotBefore> या <NotOnOrAfter> में से कोई एक दावे में एलिमेंट मौजूद होते हैं, तो नीति मौजूदा टाइमस्टैंप की जांच ये वैल्यू, एसएएमएल कोर के सेक्शन 2.5.1 में दी गई हैं.
  6. "शर्तें" प्रोसेस करने के लिए, इस नीति में दूसरे नियम भी लागू होंगे जैसा बताया गया है एसएएमएल के मुख्य सेक्शन 2.5.1.1 में.
  7. यह नीति, एक्सएमएल डिजिटल हस्ताक्षर की पुष्टि करने के लिए, इन वैल्यू का इस्तेमाल करेगी <TrustStore> और <ValidateSigner>, जैसा कि ऊपर बताया गया है. अगर पुष्टि नहीं हो पाती है, तो नीति में गड़बड़ी होगी.

बिना गड़बड़ी के नीति लागू होने के बाद, प्रॉक्सी का डेवलपर यह पक्का कर सकता है कि इनमें से शामिल हों:

  • दावे पर किया गया डिजिटल हस्ताक्षर मान्य है और इस पर किसी भरोसेमंद सीए ने हस्ताक्षर किया है
  • दावा मौजूदा समयावधि के लिए मान्य है
  • दावे के विषय और उसे जारी करने वाले की जानकारी एक्सट्रैक्ट की जाएगी और फ़्लो वैरिएबल में सेट की जाएगी. हां अतिरिक्त पुष्टि के लिए इन वैल्यू का इस्तेमाल करने की दूसरी नीतियों की ज़िम्मेदारी, जैसे कि यह जांचना कि विषय का नाम मान्य है या नहीं या इसे पुष्टि के लिए किसी टारगेट सिस्टम को पास करना.

दावे के रॉ एक्सएमएल को पार्स करने के लिए, ExtractVariables जैसी अन्य नीतियों का इस्तेमाल किया जा सकता है का इस्तेमाल करें.


फ़्लो वैरिएबल

ऐसी कई जानकारी है जिनके बारे में एसएएमएल दावे में बताया जा सकता है. एसएएमएल दावा खुद ही एक्सएमएल है, जिसे ExtractVariables नीति और दूसरे तरीकों से पार्स किया जा सकता है ज़्यादा जटिल मान्यताओं को लागू करने के लिए डिज़ाइन किया गया है.

वैरिएबल ब्यौरा
saml.id एसएएमएल दावा आईडी
saml.issuer "जारी करने वाला" दावे का, उसके नेटिव एक्सएमएल टाइप से स्ट्रिंग में बदला गया
saml.subject "विषय" दावे का, उसके नेटिव एक्सएमएल टाइप से स्ट्रिंग में बदला गया
saml.valid वैधता जाँच के नतीजे के आधार पर सही या गलत लौटाता है
saml.issueInstant IssueInstant
saml.subjectFormat विषय का फ़ॉर्मैट
saml.scmethod सब्जेक्ट की पुष्टि करने का तरीका
saml.scdaddress विषय की पुष्टि करने वाले डेटा का पता
saml.scdinresponse जवाब में विषय की पुष्टि करने वाला डेटा
saml.scdrcpt विषय की पुष्टि करने वाला डेटा पाने वाला
saml.authnSnooa AuthnStatement SessionNotOnOrAfter
saml.authnContextClassRef AuthnStatement AuthnContextClassRef
saml.authnInstant AuthnStatement Authइंस्टैंट
saml.authnSessionIndex AuthnStatement सेशन इंडेक्स

गड़बड़ी का रेफ़रंस

This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.

Deployment errors

These errors can occur when you deploy a proxy containing this policy.

Error name Cause Fix
SourceNotConfigured One or more of the following elements of the Validate SAML Assertion policy is not defined or empty: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured If the <TrustStore> element is empty or not specified in the ValidateSAMLAssertion policy, then the deployment of the API proxy fails. A valid Trust Store is required.
NullKeyStoreAlias If the child element <Alias> is empty or not specified in the <Keystore> element of Generate SAML Assertion policy, then the deployment of the API proxy fails. A valid Keystore alias is required.
NullKeyStore If the child element <Name> is empty or not specified in the <Keystore> element of GenerateSAMLAssertion policy, then the deployment of the API proxy fails. A valid Keystore name is required.
NullIssuer If the <Issuer> element is empty or not specified in the Generate SAML Assertion policy, then the deployment of the API proxy fails. A valid <Issuer> value is required.

Fault variables

These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.

Variables Where Example
fault.name="fault_name" fault_name is the name of the fault. The fault name is the last part of the fault code. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed For a validate SAML assertion policy configuration, the error prefix is ValidateSAMLAssertion. GenerateSAMLAssertion.failed = true

Example error response

{
  "fault": {
    "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type",
    "detail": {
      "errorcode": "steps.saml.generate.InvalidMediaTpe"
    }
  }
}

Example fault rule

<FaultRules>
    <FaultRule name="invalid_saml_rule">
        <Step>
            <Name>invalid-saml</Name>
        </Step>
        <Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
    </FaultRule>
</FaultRules>

मिलते-जुलते विषय

वैरिएबल निकालना: वैरिएबल निकालें: नीति