현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동 정보
SourceNotConfigured
오류 메시지
다음 오류 메시지와 함께 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.
오류 스크린샷 예시
원인
유효성 검사 정책의 <Source>
, <XPath>
, <Namespaces>
, <Namespace>
요소 중 하나 이상이 정의되지 않았거나 비어있는 경우 API 프록시 배포가 실패합니다.
예를 들어 <XPath>
요소를 누락하거나 <Source>
요소 또는 해당 항목을 비워 두면 API 프록시 배포가 실패합니다.
진단
오류 메시지에서 실패한 SAML 어설션 유효성 검사 정책 이름을 확인합니다. 예를 들어 다음 오류에서 SAML 어설션 유효성 검사 정책 이름은
Validate-SAML-Assertion-1
입니다.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
실패한 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>
위 예에서는
<Namespaces>
요소가 비어 있으므로 다음 오류가 발생합니다.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
해결 방법
<Source>
요소의 값이 <Namespaces>
요소 및 하위 요소 <Namespace>
로 올바르게 구성되었는지 확인합니다.
또한 <XPath>
요소가 정의되었고 비어 있지 않은지 확인해야 합니다.
위에 표시된 SAML 어설션 유효성 검사 정책의 예를 수정하려면 <XPath>
와 <Namespace>
요소를 추가하면 됩니다.
<?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 정책에 지정되지 않으면 API 프록시 배포가 실패합니다. 유효한 트러스트 저장소가 필요합니다.
진단
오류가 발생한 특정 API 프록시의 모든 SAML 어설션 유효성 검사 정책을 검사합니다.
<TrustStore>
요소가 비어 있거나 지정되지 않은 SAML 어설션 유효성 검사 정책이 있는 경우 이것이 오류의 원인입니다.<?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>
해결 방법
SAML 어설션 유효성 검사 정책 내에서 <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
오류 메시지
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.
오류 스크린샷 예시
원인
하위 요소 <Name>
이 비어 있거나 GenerateSAMLAssertion 정책의 <Keystore>
요소에 지정되지 않은 경우 API 프록시 배포가 실패합니다. 유효한 키 저장소 이름은 필수 항목입니다.
진단
오류가 발생한 특정 API 프록시의 모든 SAML 어설션 생성 정책을 검사합니다. 하위 요소
<Name>
이 비어 있거나<Keystore>
요소에 지정되지 않은 SAML 어설션 생성 정책이 있는 경우 이것이 오류의 원인입니다.다음 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 어설션 생성 정책의 <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
오류 메시지
다음 오류 메시지와 함께 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.
오류 스크린샷 예시
원인
하위 요소 <Alias>
가 비어 있거나 SAML 어설션 생성 정책의 <Keystore>
요소에 지정되지 않은 경우 API 프록시 배포가 실패합니다. 유효한 키 저장소 별칭은 필수 항목입니다.
진단
오류가 발생한 특정 API 프록시의 모든 SAML 어설션 생성 정책을 검사합니다. 하위 요소
<Alias>
가 비어 있거나<Keystore>
요소에 지정되지 않은 SAML 어설션 생성 정책이 있는 경우 이것이 오류의 원인입니다.다음 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>
해결 방법
SAML 어설션 생성 정책의 <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 정책 참조 문서의 코드 샘플에서 예시를 참조하세요.
NullIssuer
오류 메시지
다음 오류 메시지와 함께 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.
오류 스크린샷 예시
원인
<Issuer>
요소가 비어 있거나 SAML 어설션 생성 정책에 지정되지 않은 경우 API 프록시의 배포가 실패합니다. 유효한 <Issuer>
값은 필수 항목입니다.
진단
오류가 발생한 특정 API 프록시의 모든 SAML 어설션 생성 정책을 검사합니다.
<Issuer>
요소가 비어 있거나 지정되지 않은 SAML 어설션 생성 정책이 있는 경우 이것이 오류의 원인입니다.다음 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>
해결 방법
SAML 어설션 생성 정책에서 <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 정책 참조 문서의 코드 샘플에서 예시를 참조하세요.