כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
SourceNotConfigured
הודעת שגיאה
הודעת השגיאה הבאה פורסים את ה-API של שרת ה-proxy דרך ממשק המשתמש של Edge או דרך ממשק ה-API לניהול Edge:
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.
צילום מסך של שגיאה לדוגמה
סיבה
הפריסה של שרת ה-Proxy ל-API נכשלת עם השגיאה הזו אם אחד או יותר מהרכיבים הבאים במדיניות 'אימות טענת נכונות של SAML' לא מוגדרים או ריקים: <Source>
, <XPath>
, <Namespaces>
, <Namespace>
.
לדוגמה, אם הרכיב <XPath>
חסר או משאירים את הרכיב <Source>
או את הישויות שלו ריקות, הפריסה של שרת ה-proxy של ה-API תיכשל.
אבחון
מזהים את השם של מדיניות טענת הנכוֹנוּת (assertion) של אימות SAML שנכשל בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות של טענת הנכוֹנוּת (assertion) של SAML הוא
Validate-SAML-Assertion-1
.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
צריך לבדוק את ה-XML של מדיניות טענת הנכוֹנוּת (assertion) של אימות SAML. צריך לבדוק אם אחד או יותר מהרכיבים הבאים במדיניות חסר או ריק:
<Source>
,<XPath>
,<Namespaces>
,<Namespace>
. אם כן, יכול להיות שזו הסיבה לשגיאה.לדוגמה, במדיניות הבאה יש רכיב
<Namespaces>
ריק מתחת לרכיב<Source>
:<?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>
בדוגמה שלמעלה, הרכיב
<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
הודעת שגיאה
הודעת השגיאה הבאה פורסים את ה-API של שרת ה-proxy דרך ממשק המשתמש של Edge או דרך ממשק ה-API לניהול Edge:
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>
ריק או שלא צוין במדיניות אימות SAMLAssertion, אז הפריסה של שרת ה-proxy של ה-API תיכשל. צריך להזין Trust Store תקין.
אבחון
לבדוק את כל כללי המדיניות לאימות טענת נכוֹנוּת (assertion) של SAML בשרת ה-API הספציפי שבו קרתה הכשל. אם יש מדיניות כלשהי לטענת נכוֹנוּת (assertion) של 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>
תמיד מצוין
ושאינו ריק במדיניות Verify SAML Assertion. השם של ה-<TrustStore>
צריך להיות זהה לשם של TrustStore חוקי שקיים בכל הסביבות שבהן אתם מנסים לפרוס שרת proxy.
כדי לתקן את הדוגמה שלמעלה, אפשר לציין לרכיב <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>
למידע נוסף על השימוש ב-Truststore, יש לעיין ב-Truststores וב-Keystores.
NullKeyStore
הודעת שגיאה
כשפורסים את ה-API של שרת ה-proxy דרך ממשק המשתמש של Edge או דרך ממשק ה-API לניהול של Edge, מוצגת הודעת השגיאה הבאה:
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>
ריק או שלא צוין ברכיב <Keystore>
של המדיניות GenerateSAMLAssertion, הפריסה של שרת ה-proxy של ה-API תיכשל. צריך להזין שם תקין ל-Keystore.
אבחון
בודקים את כל כללי המדיניות ליצירת טענת נכוֹנוּת (assertion) של SAML בשרת ה-API הספציפי שבו קרתה הכשל. אם יש מדיניות כלשהי מסוג Generate (טענת נכוֹנוּת) של SAML, שבה אלמנט הצאצא
<Name>
ריק או לא מצוין ברכיב<Keystore>
, זו הסיבה לשגיאה.במדיניות הבאה ליצירת טענת נכוֹנוּת (assertion) של SAML יש אלמנט צאצא ריק
<Name>
ברכיב<Keystore>
:<?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>
מוגדר תמיד
ושאינו ריק ברכיב <Keystore>
של המדיניות Generate SAML Assertion.
כדי לתקן את הדוגמה שלמעלה, אפשר לציין את הרכיב <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
הודעת שגיאה
הודעת השגיאה הבאה פורסים את ה-API של שרת ה-proxy דרך ממשק המשתמש של Edge או דרך ממשק ה-API לניהול Edge:
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>
ריק או שלא צוין באלמנט
<Keystore>
של המדיניות Generate SAML Assertion, הפריסה של שרת ה-proxy של ה-API תיכשל. צריך להזין כינוי חוקי ל-Keystore.
אבחון
בודקים את כל כללי המדיניות ליצירת טענת נכוֹנוּת (assertion) של SAML בשרת ה-API הספציפי שבו קרתה הכשל. אם יש מדיניות כלשהי מסוג Generate (טענת נכוֹנוּת) של SAML, שבה אלמנט הצאצא
<Alias>
ריק או לא מצוין ברכיב<Keystore>
, זו הסיבה לשגיאה.במדיניות הבאה ליצירת טענת נכוֹנוּת (assertion) של SAML יש אלמנט צאצא ריק
<Alias>
ברכיב<Keystore>
:<?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>
צוין תמיד ואינו ריק
בתוך הרכיב <Keystore>
של המדיניות Generate SAML Assertion.
כדי לתקן את הדוגמה שלמעלה, אפשר לציין את הרכיב <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.
NullIssuer
הודעת שגיאה
הודעת השגיאה הבאה פורסים את ה-API של שרת ה-proxy דרך ממשק המשתמש של Edge או דרך ממשק ה-API לניהול Edge:
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
הודעת שגיאה לדוגמה
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
צילום מסך של שגיאה לדוגמה
סיבה
אם הרכיב <Issuer>
ריק או שלא מצוין במדיניות Generate SAML
assertion, הפריסה של שרת ה-proxy של ה-API תיכשל. חובה להזין ערך
<Issuer>
תקין.
אבחון
בודקים את כל כללי המדיניות ליצירת טענת נכוֹנוּת (assertion) של SAML בשרת ה-API הספציפי שבו אירע הכשל. אם יש מדיניות כלשהי ליצירת טענת נכוֹנוּת (assertion) של SAML שבה הרכיב
<Issuer>
ריק או לא צוין, זו הסיבה לשגיאה.במדיניות הבאה ליצירת טענת נכוֹנוּת (assertion) של 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>
תמיד מצוין ולא ריק
במדיניות Generate SAML Assertion (יצירת טענת נכונות של 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.