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

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

উৎস কনফিগার করা হয়নি

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

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

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.

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

কারণ

Validate SAML Assertion পলিসির নিম্নলিখিত উপাদানগুলির মধ্যে এক বা একাধিক সংজ্ঞায়িত না থাকলে বা খালি থাকলে: <Source> , <XPath> , <Namespaces> , <Namespace> , তাহলে API Proxy-এর ডেপ্লয়মেন্ট এই ত্রুটির সাথে ব্যর্থ হয়।

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

রোগ নির্ণয়

  1. এরর মেসেজ থেকে ব্যর্থ হওয়া Validate SAML Assertion পলিসির নামটি শনাক্ত করুন। উদাহরণস্বরূপ, নিম্নলিখিত এররটিতে Validate SAML Assertion পলিসির নামটি হলো Validate-SAML-Assertion-1

    ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
    
  2. ব্যর্থ হওয়া Validate SAML Assertion পলিসি 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> এলিমেন্টটি সংজ্ঞায়িত এবং খালি নয়।

উপরে দেখানো Validate SAML Assertion policy-র উদাহরণটি সংশোধন করতে, আপনি <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

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

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

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 পলিসিতে নির্দিষ্ট করা না থাকে, তাহলে এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়। একটি বৈধ ট্রাস্ট স্টোর থাকা আবশ্যক।

রোগ নির্ণয়

  1. যে নির্দিষ্ট এপিআই প্রক্সিতে ব্যর্থতাটি ঘটেছে, সেখানকার সমস্ত 'Validate SAML Assertion' পলিসি পরীক্ষা করুন। যদি এমন কোনো 'Validate SAML Assertion' পলিসি থাকে যেখানে <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>
    

সমাধান

নিশ্চিত করুন যে Validate SAML Assertion পলিসির মধ্যে <TrustStore> এলিমেন্টটি সর্বদা নির্দিষ্ট করা আছে এবং এটি খালি নয়। <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>

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

নালকিস্টোর

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

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

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.

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

কারণ

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

রোগ নির্ণয়

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

    নিম্নলিখিত Generate SAML Assertion পলিসিটির <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>
    

সমাধান

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

উপরের উদাহরণটি সংশোধন করতে, আপনি <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 Policy Reference Article-এর কোড স্যাম্পল থেকে উদাহরণগুলো দেখুন।

NullKeyStoreAlias

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

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

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.

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

কারণ

Generate SAML Assertion policy-র <Keystore> এলিমেন্টে <Alias> চাইল্ড এলিমেন্টটি যদি খালি থাকে বা নির্দিষ্ট করা না থাকে, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়। একটি বৈধ Keystore অ্যালিয়াস থাকা আবশ্যক।

রোগ নির্ণয়

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

    নিম্নলিখিত Generate SAML Assertion পলিসিটির <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>
    

সমাধান

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

উপরের উদাহরণটি সংশোধন করতে, আপনি <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 Policy Reference Article-এর কোড স্যাম্পল থেকে উদাহরণগুলো দেখুন।

নালইস্যুকারী

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

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

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

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

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

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

কারণ

যদি `Generate SAML Assertion` পলিসিতে ` <Issuer> এলিমেন্টটি খালি থাকে বা নির্দিষ্ট করা না থাকে, তাহলে এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়। একটি বৈধ <Issuer> ভ্যালু আবশ্যক।

রোগ নির্ণয়

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

    নিম্নলিখিত Generate SAML Assertion পলিসিতে <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>
    

সমাধান

নিশ্চিত করুন যে Generate SAML Assertion পলিসিতে <Issuer> এলিমেন্টটি সর্বদা নির্দিষ্ট এবং খালি নয়।

উপরের উদাহরণটি সংশোধন করতে, <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 Policy Reference Article-এর কোড স্যাম্পল থেকে উদাহরণগুলো দেখুন।