SAML অ্যাসার্টেশন পলিসি ডিপ্লয়মেন্ট ত্রুটি সমস্যা সমাধান, SAML অ্যাসারশন পলিসি ডিপ্লয়মেন্ট ত্রুটি সমস্যা সমাধান

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

SourceNotConfigured

ত্রুটি বার্তা

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

Error Deploying Revision revision_number to environment
ValidateSAMLAssertion[policy_name]: Source is not correctly configured.

উদাহরণ ত্রুটি বার্তা

Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.

উদাহরণ ত্রুটি স্ক্রিনশট

কারণ

এপিআই প্রক্সির স্থাপনা এই ত্রুটির সাথে ব্যর্থ হয় যদি SAML অ্যাসার্শন নীতির নিম্নলিখিত উপাদানগুলির মধ্যে এক বা একাধিক সংজ্ঞায়িত না থাকে বা খালি থাকে: <Source> , <XPath> , <Namespaces> , <Namespace>

উদাহরণস্বরূপ, আপনি যদি <XPath> উপাদানটি মিস করেন বা <Source> উপাদান বা এর সত্তাগুলি খালি রাখেন, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়।

রোগ নির্ণয়

  1. ত্রুটি বার্তা থেকে SAML অ্যাসারশন নীতির নাম যাচাই করা ব্যর্থ হয়েছে তা শনাক্ত করুন। উদাহরণ স্বরূপ, নিম্নলিখিত ত্রুটিতে ভ্যালিডেট SAML অ্যাসারশন নীতির নাম হল Validate-SAML-Assertion-1

    ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
    
  2. ব্যর্থ যাচাই করুন SAML অ্যাসারশন নীতি XML যাচাই করুন৷ নীতির নিম্নলিখিত উপাদানগুলির মধ্যে এক বা একাধিক অনুপস্থিত বা খালি আছে কিনা তা পরীক্ষা করুন: <Source> > , <XPath> , <Namespaces> , <Namespace> । যদি তাই হয়, যে ত্রুটির কারণ হতে পারে.

    উদাহরণ স্বরূপ, নিম্নলিখিত নীতিতে <Source> উপাদানের অধীনে একটি খালি <Namespaces> উপাদান রয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ValidateSAMLAssertion name="SAML" ignoreContentType="false">
      <Source name="request">
        <Namespaces></Namespaces>
       </Source>
       <Description/>
     <TrustStore>ref://TrustStoreName</Truststore>
     <RemoveAssertion>false</RemoveAssertion>
    </ValidateSAMLAssertion>
    
  3. উপরের উদাহরণে, <Namespaces> উপাদানটি খালি, তাই আপনি ত্রুটিটি পান:

    ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
    

রেজোলিউশন

নিশ্চিত করুন যে <Source> উপাদানটির মানগুলি <Namespaces> উপাদান এবং এর চাইল্ড এলিমেন্ট <Namespace> এর সাথে সঠিকভাবে কনফিগার করা হয়েছে। আপনাকে <XPath> উপাদানটি সংজ্ঞায়িত এবং খালি নয় তা নিশ্চিত করতে হবে।

উপরে দেখানো SAML অ্যাসার্শন নীতির উদাহরণ সংশোধন করতে, আপনি <Namespace> উপাদানের পাশাপাশি <XPath> যোগ করতে পারেন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
    <XPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</XPath>
  </Source>
   <Description/>
<TrustStore>ref://TrustStoreName</Truststore>
<RemoveAssertion>false</RemoveAssertion>
</ValidateSAMLAssertion>

TrustStoreNotConfigured

ত্রুটি বার্তা

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

Error Deploying Revision revision_number to environment
ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.

উদাহরণ ত্রুটি বার্তা

Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.

উদাহরণ ত্রুটি স্ক্রিনশট

কারণ

যদি <TrustStore> উপাদানটি খালি থাকে বা ValidateSAMLAssertion নীতিতে নির্দিষ্ট করা না থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। একটি বৈধ ট্রাস্ট স্টোর প্রয়োজন।

রোগ নির্ণয়

  1. নির্দিষ্ট API প্রক্সিতে যেখানে ব্যর্থতা ঘটেছে সেখানে সমস্ত বৈধ SAML দাবীর নীতি পরীক্ষা করুন। যদি কোনো বৈধ SAML অ্যাসারশন নীতি থাকে যেখানে <TrustStore> উপাদানটি খালি থাকে বা নির্দিষ্ট করা না থাকে, তাহলে সেটিই ত্রুটির কারণ।

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <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>
        <XPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</XPath>
      </Source>
        <Description/>
        <TrustStore/>
      <RemoveAssertion>false</RemoveAssertion>
    </ValidateSAMLAssertion>
    

রেজোলিউশন

নিশ্চিত করুন যে <TrustStore> উপাদানটি সর্বদা নির্দিষ্ট করা থাকে এবং SAML Assertion নীতির মধ্যে খালি থাকে না। <TrustStore> নামটি একটি বৈধ TrustStore-এর নামের সাথে মিলিত হওয়া উচিত যা আপনি যে সমস্ত পরিবেশে একটি প্রক্সি স্থাপন করার চেষ্টা করছেন সেখানে বিদ্যমান।

উপরের উদাহরণটি সংশোধন করতে, আপনি একটি বৈধ মান সহ <TrustStore> উপাদান নির্দিষ্ট করতে পারেন।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
    <XPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</XPath>
  </Source>
  <TrustStore>TrustStoreName</TrustStore>
  <RemoveAssertion>false</RemoveAssertion>
</ValidateSAMLAssertion>

ট্রাস্টস্টোর কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য ট্রাস্টস্টোর এবং কীস্টোর দেখুন।

NullKeyStore

ত্রুটি বার্তা

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

Error Deploying Revision revision_number to environment
Assertion KeyStore name cannot be null.

উদাহরণ ত্রুটি বার্তা

Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.

উদাহরণ ত্রুটি স্ক্রিনশট

কারণ

যদি চাইল্ড এলিমেন্ট <Name> খালি থাকে বা GenerateSAMLAssertion নীতির <Keystore> এলিমেন্টে নির্দিষ্ট করা না থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। একটি বৈধ কীস্টোর নাম প্রয়োজন৷

রোগ নির্ণয়

  1. নির্দিষ্ট API প্রক্সিতে যেখানে ব্যর্থতা ঘটেছে সেখানে সমস্ত জেনারেট SAML অ্যাসারশন নীতিগুলি পরীক্ষা করুন৷ যদি এমন কোনো জেনারেট SAML অ্যাসারশন নীতি থাকে যেখানে চাইল্ড এলিমেন্ট <Name> খালি থাকে বা <Keystore> এলিমেন্টে নির্দিষ্ট করা না থাকে, তাহলে সেটিই ত্রুটির কারণ।

    নিচের জেনারেট SAML অ্যাসারশন নীতিতে <Keystore> এলিমেন্টে একটি খালি চাইল্ড এলিমেন্ট <Name> আছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <GenerateSAMLAssertion name="SAML" ignoreContentType="false">`
      <CanonicalizationAlgorithm />
      <Issuer ref="reference">Issuer name</Issuer>
      <KeyStore>
        <Name></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>
    

রেজোলিউশন

নিশ্চিত করুন যে চাইল্ড উপাদান <Name> সর্বদা নির্দিষ্ট করা আছে এবং SAML Assertion নীতির <Keystore> উপাদানের মধ্যে খালি নেই।

উপরের উদাহরণটি সংশোধন করতে, আপনি সঠিকভাবে <Name> উপাদানটি নির্দিষ্ট করতে পারেন এবং নিশ্চিত করতে পারেন যে একটি বৈধ মান <Alias> উপাদানটিতে নির্দিষ্ট করা আছে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>

SAMLAssertion পলিসি রেফারেন্স আর্টিকেলে কোড নমুনা থেকে উদাহরণ পড়ুন।

NullKeyStoreAlias

ত্রুটি বার্তা

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

Error Deploying Revision revision_number to environment
Assertion KeyStore alias cannot be null.

উদাহরণ ত্রুটি বার্তা

Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.

উদাহরণ ত্রুটি স্ক্রিনশট

কারণ

যদি চাইল্ড এলিমেন্ট <Alias> খালি থাকে বা জেনারেট SAML Assertion নীতির <Keystore> এলিমেন্টে নির্দিষ্ট করা না থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। একটি বৈধ কীস্টোর উপনাম প্রয়োজন৷

রোগ নির্ণয়

  1. নির্দিষ্ট API প্রক্সিতে যেখানে ব্যর্থতা ঘটেছে সেখানে সমস্ত জেনারেট SAML অ্যাসারশন নীতিগুলি পরীক্ষা করুন৷ যদি এমন কোনো জেনারেট SAML অ্যাসারশন নীতি থাকে যেখানে চাইল্ড এলিমেন্ট <Alias> খালি থাকে বা <Keystore> এলিমেন্টে নির্দিষ্ট করা না থাকে, তাহলে সেটিই ত্রুটির কারণ।

    নিচের জেনারেট SAML অ্যাসার্শন নীতিতে <Keystore> এলিমেন্টে একটি খালি চাইল্ড এলিমেন্ট <Alias> আছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <GenerateSAMLAssertion name="SAML" ignoreContentType="false">`
      <CanonicalizationAlgorithm />
      <Issuer ref="reference">Issuer name</Issuer>
      <KeyStore>
        <Name ref="reference">keystorename</Name>
        <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>
    

রেজোলিউশন

নিশ্চিত করুন যে চাইল্ড উপাদান <Name> সর্বদা নির্দিষ্ট করা আছে এবং SAML Assertion নীতির <Keystore> উপাদানের মধ্যে খালি নেই।

উপরের উদাহরণটি সংশোধন করতে, আপনি সঠিকভাবে <Alias> উপাদানটি নির্দিষ্ট করতে পারেন এবং নিশ্চিত করতে পারেন যে একটি বৈধ মান <Name> উপাদানটিতে নির্দিষ্ট করা আছে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>

SAMLAssertion পলিসি রেফারেন্স আর্টিকেলে কোড নমুনা থেকে উদাহরণ পড়ুন।

শূন্য ইস্যুকারী

ত্রুটি বার্তা

এজ ইউআই বা এজ ম্যানেজমেন্ট এপিআই এর মাধ্যমে এপিআই প্রক্সির স্থাপনা এই ত্রুটি বার্তার সাথে ব্যর্থ হয়:

Error Deploying Revision revision_number to environment
Assertion Issuer cannot be null.

উদাহরণ ত্রুটি বার্তা

Error Deploying Revision 4 to test
Assertion Issuer cannot be null.

উদাহরণ ত্রুটি স্ক্রিনশট

কারণ

যদি <Issuer> উপাদানটি খালি থাকে বা জেনারেট SAML অ্যাসারশন নীতিতে নির্দিষ্ট করা না থাকে, তাহলে API প্রক্সির স্থাপনা ব্যর্থ হয়। একটি বৈধ <Issuer> মান প্রয়োজন।

রোগ নির্ণয়

  1. নির্দিষ্ট API প্রক্সিতে যেখানে ব্যর্থতা ঘটেছে সেখানে সমস্ত জেনারেট SAML অ্যাসারশন নীতিগুলি পরীক্ষা করুন৷ যদি এমন কোনও জেনারেট SAML অ্যাসারশন নীতি থাকে যেখানে <Issuer> উপাদানটি খালি থাকে বা নির্দিষ্ট করা না থাকে, তাহলে এটি ত্রুটির কারণ।

    নিম্নলিখিত জেনারেট SAML অ্যাসারশন নীতিতে একটি খালি <Issuer> উপাদান রয়েছে:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <GenerateSAMLAssertion name="SAML" ignoreContentType="false">`
      <CanonicalizationAlgorithm />
      <Issuer></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>
    

রেজোলিউশন

নিশ্চিত করুন যে <Issuer> উপাদানটি সর্বদা নির্দিষ্ট করা থাকে এবং জেনারেট SAML অ্যাসারশন নীতিতে খালি থাকে না।

উপরের উদাহরণটি সংশোধন করতে, সঠিকভাবে <Issuer> উপাদানটি নির্দিষ্ট করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>

SAMLAssertion পলিসি রেফারেন্স আর্টিকেলে কোড নমুনা থেকে উদাহরণ পড়ুন।