이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서를 보세요.
AccessControl 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 |
클라이언트 IP 주소 또는 API 요청에서 전달된 IP 주소가 액세스 제어 정책의 <MatchRule> 요소 내 <SourceAddress> 요소에 지정된 IP 주소와 일치하며 <MatchRule> 요소의 action 속성이 DENY 로 설정됩니다. |
build |
accesscontrol.InvalidIPAddressInVariable |
500 |
<ClientIPVariable> 의 흐름 변수에 잘못된 IP 주소가 있습니다. |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류 관련 변수를 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | acl.AC-AllowAccess.failed = true |
오류 응답 예시
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"steps.accesscontrol.IPDeniedAccess" } } }
오류 규칙 예시
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
AccessEntity 정책
관련 정보는 정책 오류에 대해 알아야 할 사항과 오류 처리를 참조하세요.
런타임 오류
없음
배포 오류
오류 이름 | 오류 문자열 | HTTP 상태 | 발생 상황 |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
해당 없음 | 사용된 항목 유형은 지원되는 유형 중 하나여야 합니다. |
AssignMessage 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 |
정책을 통해 변수를 설정할 수 없습니다. 확인되지 않은 변수의 이름은 오류 문자열을 참조하세요. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
이 오류는 메시지 유형 변수는 전체 HTTP 요청 및 응답을 나타냅니다. 기본 제공 Apigee 흐름 변수 |
build |
steps.assignmessage.UnresolvedVariable |
500 |
이 오류는 AssignMessage 정책에 지정된 변수가 다음 중 하나인 경우에 발생합니다.
|
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidIndex |
AssignMessage 정책의 <Copy> 또는 <Remove> 요소에 지정된 색인이 0 또는 음수이면 API 프록시 배포가 실패합니다.
|
build |
InvalidVariableName |
하위 요소 <Name> 이 비어 있거나 <AssignVariable> 요소에서 지정되지 않은 경우, 값을 할당할 유효한 변수 이름이 없으므로 API 프록시 배포가 실패합니다. 유효한 변수 이름이 필요합니다.
|
build |
InvalidPayload |
정책에 지정된 페이로드가 잘못되었습니다. |
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "UnresolvedVariable" |
assignmessage.POLICY_NAME.failed |
POLICY_NAME은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | assignmessage.AM-SetResponse.failed = true |
오류 응답 예시
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
오류 규칙 예시
<FaultRule name="Assign Message Faults"> <Step> <Name>AM-CustomNonMessageTypeErrorResponse</Name> <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition> </Step> <Step> <Name>AM-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(assignmessage.failed = true) </Condition> </FaultRule>
BasicAuthentication 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 |
수신된 Base64 로 인코딩된 문자열에 유효한 값이 포함되어 있지 않거나 헤더 형식이 잘못된 경우(예: Basic 으로 시작하지 않음) 디코딩 중입니다. |
build |
steps.basicauthentication.UnresolvedVariable |
500 |
디코딩 또는 인코딩에 필요한 소스 변수가 없습니다. 이 오류는 IgnoreUnresolvedVariables 가 false인 경우에만 발생할 수 있습니다. |
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 발생 상황 | 수정 |
---|---|---|
UserNameRequired |
이름이 지정된 작업에는 <User> 요소가 있어야 합니다. |
build |
PasswordRequired |
이름이 지정된 작업에는 <Password> 요소가 있어야 합니다. |
build |
AssignToRequired |
이름이 지정된 작업에는 <AssignTo> 요소가 있어야 합니다. |
build |
SourceRequired |
이름이 지정된 작업에는 <Source> 요소가 있어야 합니다. |
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | BasicAuthentication.BA-Authenticate.failed = true |
오류 응답 예시
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
오류 규칙 예시
<FaultRule name="Basic Authentication Faults"> <Step> <Name>AM-UnresolvedVariable</Name> <Condition>(fault.name Matches "UnresolvedVariable") </Condition> </Step> <Step> <Name>AM-AuthFailedResponse</Name> <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition> </Step> <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition> </FaultRule>
DecodeJWS 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jws.FailedToDecode |
401 |
정책에서 JWS를 디코딩할 수 없습니다. JWS가 손상되었을 수 있습니다. |
steps.jws.FailedToResolveVariable |
401 |
정책의 <Source> 요소에 지정된 흐름 변수가 존재하지 않는 경우 발생합니다. |
steps.jws.InvalidClaim |
401 |
소유권 클레임 누락 또는 소유권 클레임 불일치, 헤더 또는 헤더 불일치 누락일 때 발생합니다. |
steps.jws.InvalidJsonFormat |
401 |
JWS 헤더에 잘못된 JSON이 있습니다. |
steps.jws.InvalidJws |
401 |
이 오류는 JWS 서명 확인이 실패하면 발생합니다. |
steps.jws.InvalidPayload |
401 |
JWS 페이로드가 잘못되었습니다. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> 가 생략되고 JWS에 분리된 콘텐츠 페이로드가 있습니다. |
steps.jws.MissingPayload |
401 |
JWS 페이로드가 누락되었습니다. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
JWS에서 알고리즘 헤더가 생략되면 발생합니다. |
steps.jws.UnknownException |
401 |
알 수 없는 예외가 발생했습니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 발생 상황 |
---|---|
InvalidAlgorithm |
다음 값만 유효: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 |
|
기타 발생 가능한 배포 오류 |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "TokenExpired" |
JWS.failed |
모든 JWS 정책은 오류 발생 시 동일한 변수를 설정합니다. | jws.JWS-Policy.failed = true |
오류 응답 예시
오류 처리에서 오류 응답의 errorcode
부분을 트래핑하는 것이 가장 좋습니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
DecodeJWT 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.jwt.FailedToDecode |
401 |
정책이 JWT를 디코딩할 수 없는 경우에 발생합니다. JWT의 형식이 잘못되었거나 유효하지 않거나 디코딩할 수 없습니다. | build |
steps.jwt.FailedToResolveVariable |
401 |
정책의 <Source> 요소에 지정된 흐름 변수가 존재하지 않는 경우 발생합니다. |
|
steps.jwt.InvalidToken |
401 |
정책의 <Source> 요소에 지정된 흐름 변수가 범위를 벗어나거나 해결할 수 없는 경우 발생합니다. |
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidEmptyElement |
디코딩할 JWT가 포함된 흐름 변수가 정책의 <Source> 요소에 지정되지 않은 경우 발생합니다. |
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "InvalidToken" |
JWT.failed |
모든 JWT 정책은 오류 발생 시 동일한 변수를 설정합니다. | JWT.failed = true |
오류 응답 예시
오류 처리에서 권장사항은 오류 응답의 errorcode
부분을 트래핑하는 것입니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
ExtractVariables 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
이 오류는 다음과 같은 경우에 발생합니다.
|
build |
steps.extractvariables.ImmutableVariable |
500 |
정책에 사용된 변수는 변경할 수 없습니다. 정책에서 이 변수를 설정할 수 없습니다. | 해당 사항 없음 |
steps.extractvariables.InvalidJSONPath |
500 |
이 오류는 정책의 JSONPath 요소에 잘못된 JSON 경로가 사용되는 경우 발생합니다. 예를 들어 JSON 페이로드에는 Name 객체가 없지만 정책의 경로로 Name 을 지정하면 이 오류가 발생합니다. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 |
이 오류는 정책이 JSON 경로를 파싱하고 Source 요소에 지정된 흐름 변수에서 데이터를 추출할 수 없는 경우에 발생합니다. 일반적으로 Source 요소에 지정된 흐름 변수가 현재 흐름에 없으면 이 오류가 발생합니다. |
build |
steps.extractvariables.SetVariableFailed |
500 |
이 오류는 정책이 값을 변수로 설정하지 못하는 경우에 발생합니다. 이러한 오류는 일반적으로 이름이 중첩된 점으로 구분된 형식으로 된 동일한 단어로 시작하는 여러 변수에 값을 할당하려고 하면 발생합니다. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 |
이 오류는 SOAPMessageValidation 정책의 Source 요소에 지정된 message 변수가 다음 중 하나일 때 발생합니다.
|
build |
steps.extractvariables.UnableToCast |
500 |
이 오류는 정책이 추출된 값을 변수로 전송할 수 없는 경우에 발생합니다. 일반적으로 한 데이터 유형의 값을 다른 데이터 유형의 변수로 설정하려고 하면 이 오류가 발생합니다. | build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
NothingToExtract |
정책에 URIPath , QueryParam , Header , FormParam , XMLPayload 또는 JSONPayload 요소가 없으면 추출할 대상이 없기 떄문에 API 프록시 배포는 실패합니다. |
build |
NONEmptyPrefixMappedToEmptyURI |
이 오류는 정책에, XMLPayload 요소 아래의 Namespace 요소에서 정의된 프리픽스가 있지만 URI가 정의되지 않은 경우에 발생합니다. |
build |
DuplicatePrefix |
이 오류는 XMLPayload 요소 아래의 Namespace 요소에서 두 번 이상 정의된 프리픽스와 동일한 프리픽스가 정책에 있으면 발생합니다. |
build |
NoXPathsToEvaluate |
정책의 XMLPayload 요소 내에 XPath 요소가 없으면 이 오류로 인해 API 프록시 배포가 실패합니다.
|
build |
EmptyXPathExpression |
정책이 XMLPayload 요소 내에 빈 XPath 표현식을 포함하는 경우 API 프록시 배포에 실패합니다. |
build |
NoJSONPathsToEvaluate |
정책의 JSONPayload 요소 내에 JSONPath 요소가 없으면 이 오류로 인해 API 프록시 배포가 실패합니다. |
build |
EmptyJSONPathExpression |
정책이 XMLPayload 요소 내에 빈 XPath 표현식을 포함하는 경우 API 프록시 배포에 실패합니다. |
build |
MissingName |
정책이 QueryParam , Header , FormParam 또는 Variable 과 같은 정책 요소 안에 필요한 name 속성을 가지지 않는다면 API 프록시가 실패합니다. |
build |
PatternWithoutVariable |
정책에 Pattern 요소 내에 지정된 변수가 없으면 API 프록시 배포는 실패합니다. Pattern 요소에는 추출된 데이터가 저장될 변수의 이름이 필요합니다. |
build |
CannotBeConvertedToNodeset |
정책에 Variable 유형이 nodeset로 정의된 XPath 표현식이 있지만 표현식을 nodeset로 변환할 수 없으면 API 프록시 배포가 실패합니다. |
build |
JSONPathCompilationFailed |
정책에서 지정된 JSON 경로를 컴파일할 수 없습니다. | 해당 사항 없음 |
InstantiationFailed |
정책을 인스턴스화할 수 없습니다. | 해당 사항 없음 |
XPathCompilationFailed |
XPath 요소에 사용된 프리픽스 또는 값이 정책에 선언된 네임스페이스의 일부가 아닌 경우 API 프록시의 배포는 실패합니다. |
build |
InvalidPattern |
정책의 URIPath , QueryParam , Header , FormParam , XMLPayload 또는 JSONPayload 와 같은 요소에서 Pattern 요소의 정의가 잘못되었으면 API 프록시 배포가 실패합니다.
|
build |
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | extractvariables.EV-ParseJsonResponse.failed = true |
오류 응답 예시
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
오류 규칙 예시
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
GenerateJWS 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jws.GenerationFailed |
401 |
정책이 JWS를 생성하지 못했습니다. |
steps.jws.InsufficientKeyLength |
401 |
HS256 알고리즘의 키가 32바이트 미만인 경우 |
steps.jws.InvalidClaim |
401 |
소유권 클레임 누락 또는 소유권 클레임 불일치, 헤더 또는 헤더 불일치 누락일 때 발생합니다. |
steps.jws.InvalidCurve |
401 |
키에서 지정한 곡선은 타원 곡선 알고리즘에 유효하지 않습니다. |
steps.jws.InvalidJsonFormat |
401 |
JWS 헤더에 잘못된 JSON이 있습니다. |
steps.jws.InvalidPayload |
401 |
JWS 페이로드가 잘못되었습니다. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> 가 생략되고 JWS에 분리된 콘텐츠 페이로드가 있습니다. |
steps.jws.KeyIdMissing |
401 |
확인 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWS에는 헤더의 kid 속성이 포함되지 않습니다. |
steps.jws.KeyParsingFailed |
401 |
지정된 키 정보에서 공개 키를 파싱할 수 없습니다. |
steps.jws.MissingPayload |
401 |
JWS 페이로드가 누락되었습니다. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
JWS에서 알고리즘 헤더가 생략되면 발생합니다. |
steps.jws.SigningFailed |
401 |
GenerateJWS에서 HS384 또는 HS512 알고리즘의 최소 크기보다 작은 키일 때 발생합니다. |
steps.jws.UnknownException |
401 |
알 수 없는 예외가 발생했습니다. |
steps.jws.WrongKeyType |
401 |
잘못된 유형의 키가 지정되었습니다. 예를 들어 타원 곡선 알고리즘의 RSA 키를 지정하거나 RSA 알고리즘의 곡선 키를 지정하는 경우입니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 발생 상황 |
---|---|
InvalidAlgorithm |
다음 값만 유효: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 |
|
기타 발생 가능한 배포 오류 |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "TokenExpired" |
JWS.failed |
모든 JWS 정책은 오류 발생 시 동일한 변수를 설정합니다. | jws.JWS-Policy.failed = true |
오류 응답 예시
오류 처리에서 오류 응답의 errorcode
부분을 트래핑하는 것이 가장 좋습니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
GenerateJWT 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
확인 정책에 알고리즘이 여러 개 있으면 발생합니다. |
steps.jwt.AlgorithmMismatch |
401 |
생성 정책에 지정된 알고리즘이 확인 정책에서 예상되는 알고리즘과 일치하지 않습니다. 지정된 알고리즘이 일치해야 합니다. |
steps.jwt.EncryptionFailed |
401 |
비특정 이유로 암호화된 JWT를 만들 수 없음 |
steps.jwt.FailedToDecode |
401 |
정책이 JWT를 디코딩할 수 없습니다. JWT가 손상되었을 수 있습니다. |
steps.jwt.GenerationFailed |
401 |
정책이 JWT를 생성하지 못했습니다. |
steps.jwt.InsufficientKeyLength |
401 |
HS256 알고리즘은 32바이트 미만, HS386 알고리즘은 48바이트 미만, HS512 알고리즘은 64바이트 미만의 키일 때 발생합니다. |
steps.jwt.InvalidClaim |
401 |
소유권 클레임 누락 또는 소유권 클레임 불일치, 헤더 또는 헤더 불일치 누락일 때 발생합니다. |
steps.jwt.InvalidConfiguration |
401 |
<Algorithm> 및 <Algorithms> 요소가 모두 있습니다. |
steps.jwt.InvalidCurve |
401 |
키에서 지정한 곡선은 타원 곡선 알고리즘에 유효하지 않습니다. |
steps.jwt.InvalidJsonFormat |
401 |
헤더 또는 페이로드에 잘못된 JSON이 있습니다. |
steps.jwt.InvalidPasswordKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidPrivateKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidPublicKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidSecretKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidToken |
401 |
이 오류는 JWT 서명 확인이 실패하면 발생합니다. |
steps.jwt.JwtAudienceMismatch |
401 |
토큰 확인 시 잠재 고객 소유권 주장이 실패했습니다. |
steps.jwt.JwtIssuerMismatch |
401 |
발급기관 클레임이 토큰 확인에 실패했습니다. |
steps.jwt.JwtSubjectMismatch |
401 |
주체 클레임이 토큰 확인에 실패했습니다. |
steps.jwt.KeyIdMissing |
401 |
확인 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWT에는 헤더의 kid 속성이 포함되지 않습니다. |
steps.jwt.KeyParsingFailed |
401 |
지정된 키 정보에서 공개 키를 파싱할 수 없습니다. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
JWT에 알고리즘 헤더가 없으면 발생합니다. |
steps.jwt.NoMatchingPublicKey |
401 |
인증 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWT의 kid 가 JWKS에 나열되지 않습니다. |
steps.jwt.SigningFailed |
401 |
GenerateJWT 에서 HS384 또는 HS512 알고리즘의 최소 크기보다 작은 키일 때 발생합니다. |
steps.jwt.TokenExpired |
401 |
정책이 만료된 토큰을 확인하려고 시도합니다. |
steps.jwt.TokenNotYetValid |
401 |
토큰이 아직 유효하지 않습니다. |
steps.jwt.UnhandledCriticalHeader |
401 |
crit 헤더의 JWT 인증 정책에서 찾은 헤더가 KnownHeaders 에 표시되지 않습니다. |
steps.jwt.UnknownException |
401 |
알 수 없는 예외가 발생했습니다. |
steps.jwt.WrongKeyType |
401 |
잘못된 유형의 키가 지정되었습니다. 예를 들어 타원 곡선 알고리즘의 RSA 키를 지정하거나 RSA 알고리즘의 곡선 키를 지정하는 경우입니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidNameForAdditionalClaim |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임이 다음 등록된 이름 kid , iss , sub , aud , iat , exp , nbf 또는 jti 중 하나인 경우 배포가 실패합니다.
|
build |
InvalidTypeForAdditionalClaim |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임 유형이 string , number , boolean 또는 map 유형이 아닌 경우 배포가 실패합니다. |
build |
MissingNameForAdditionalClaim |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에서 클레임 이름이 지정되지 않으면 배포가 실패합니다.
|
build |
InvalidNameForAdditionalHeader |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임 이름이 alg 또는 typ 인 경우 이 오류가 발생합니다. |
build |
InvalidTypeForAdditionalHeader |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임 유형이 string , number , boolean 또는 map 유형이 아닌 경우 배포가 실패합니다. |
build |
InvalidValueOfArrayAttribute |
이 오류는 <AdditionalClaims> 요소의 하위 요소 <Claim> 에 있는 배열 속성 값이 true 또는 false 로 설정되지 않은 경우 발생합니다. |
build |
InvalidConfigurationForActionAndAlgorithm |
<PrivateKey> 요소가 HS 계열 알고리즘에서 사용되거나 <SecretKey> 요소가 RSA 계열 알고리즘에 사용되는 경우 배포가 실패합니다. |
build |
InvalidValueForElement |
<Algorithm> 요소에 지정된 값이 지원되는 값이 아니면 배포가 실패합니다.
|
build |
MissingConfigurationElement |
이 오류는 <PrivateKey> 요소가 RSA 계열 알고리즘에서 사용되지 않거나 <SecretKey> 요소가 HS 계열 알고리즘에 사용되지 않는 경우 발생합니다. |
build |
InvalidKeyConfiguration |
하위 요소 <Value> 가 <PrivateKey> 또는 <SecretKey> 요소에 정의되어 있지 않은 경우 배포가 실패합니다. |
build |
EmptyElementForKeyConfiguration |
<PrivateKey> 또는 <SecretKey> 요소의 하위 요소 <Value> 의 ref 속성이 비어 있거나 지정되지 않은 경우 배포가 실패합니다.
|
build |
InvalidVariableNameForSecret |
이 오류는 <PrivateKey> 또는 <SecretKey> 요소의 하위 요소 <Value> 에 있는 ref 속성에 지정된 흐름 변수 이름에 비공개 프리픽스 (private.) 가 포함되지 않은 경우에 발생합니다. |
build |
InvalidSecretInConfig |
이 오류는 <PrivateKey> 또는 <SecretKey> 요소의 하위 요소 <Value> 에 비공개 프리픽스 (private.) 이 포함되지 않은 경우에 발생합니다.
|
build |
InvalidTimeFormat |
<NotBefore> 요소에 지정된 값이 지원되는 형식을 사용하지 않으면 배포가 실패합니다.
|
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "InvalidToken" |
JWT.failed |
모든 JWT 정책은 오류 발생 시 동일한 변수를 설정합니다. | JWT.failed = true |
오류 응답 예시
오류 처리에서 권장사항은 오류 응답의 errorcode
부분을 트래핑하는 것입니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
JavaCallout 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.javacallout.ExecutionError |
500 |
JavaCallout policy 실행 중 자바 코드에서 예외가 발생하거나 null이 반환되면 발생합니다. |
build |
배포 오류
이런 오류는 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 오류 문자열 | HTTP 상태 | 발생 상황 |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
해당 사항 없음 | <ResourceURL> 요소에 지정된 파일이 존재하지 않습니다. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
해당 사항 없음 | <ClassName> 요소에 지정된 클래스 파일이 jar에 없습니다. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
해당 사항 없음 | 결함 문자열을 참조하세요. 지원되는 자바 버전은 Oracle JDK 7/8 및 OpenJDK 7/8입니다. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
해당 사항 없음 | 결함 문자열을 참조하세요. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
해당 사항 없음 | 결함 문자열을 참조하세요. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
해당 사항 없음 | 결함 문자열을 참조하세요. |
NoResourceForURL |
Could not locate a resource with URL [string] |
해당 사항 없음 | 결함 문자열을 참조하세요. |
오류 변수
이러한 변수는 이 정책으로 오류가 트리거될 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | javacallout.JC-GetUserData.failed = true |
오류 응답 예시
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
오류 규칙 예시
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
자바스크립트 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 |
JavaScript 정책으로 인해 여러 가지 유형의 ScriptExecutionFailed 오류가 발생할 수 있습니다. 흔히 볼 수 있는 오류 유형에는 RangeError, ReferenceError, SyntaxError, TypeError, URIError가 있습니다. |
build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 |
JavaScript 코드에서 오류가 발생했습니다. 자세한 내용은 오류 문자열을 참조하세요. |
해당 사항 없음 |
steps.javascript.ScriptSecurityError |
500 |
JavaScript 실행 시 보안 오류가 발생했습니다. 자세한 내용은 오류 문자열을 참조하세요. |
해당 사항 없음 |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidResourceUrlFormat |
JavaScript 정책의 <ResourceURL> 또는 <IncludeURL> 요소 내에서 지정된 리소스 URL 형식이 잘못된 경우 API 프록시 배포가 실패합니다. |
build |
InvalidResourceUrlReference |
<ResourceURL> 또는 <IncludeURL> 요소가 존재하지 않는 JavaScript 파일을 참조하는 경우 API 프록시 배포가 실패합니다.
참조된 소스 파일은 API 프록시, 환경 또는 조직 수준에 있어야 합니다. |
build |
WrongResourceType |
이 오류는 JavaScript 또는 <ResourceURL> 정책의 <IncludeURL> 요소가 jsc(JavaScript 파일) 이외의 리소스 유형을 참조하는 경우에 배포 중에 발생합니다. |
build |
NoResourceURLOrSource |
<ResourceURL> 요소가 선언되지 않았거나 이 요소 내에 리소스 URL이 정의되지 않은 경우 JavaScript 정책을 배포할 때 오류가 발생할 수 있습니다.
<ResourceURL> 요소는 필수 요소입니다. <IncludeURL> 요소는 선언되지만 리소스 URL은 이 요소 내에서 정의되지 않습니다. <IncludeURL> 요소는 선택사항이지만 선언된 경우 리소스 URL은 <IncludeURL> 요소 내에 지정되어야 합니다. |
build |
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | javascript.JavaScript-1.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
오류 규칙 예시
<FaultRule name="JavaScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(javascript.JavaScript-1.failed = true) </Condition> </FaultRule>
JSONThreatProtection 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 |
JSONThreatProtection 정책으로 인해 여러 가지 유형의 ExecutionFailed 오류가 발생할 수 있습니다.
이러한 오류의 대부분은 정책에 설정된 특정 임계값을 초과할 때 발생합니다. 이러한 유형의 오류에는
객체 항목 이름 길이,
객체 항목 수,
배열 요소 수,
컨테이너 깊이,
문자열 문자열 값 길이가 포함됩니다.
이 오류는 페이로드에 잘못된 JSON 객체가 포함되어 있을 때도 발생합니다.
|
build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
이 오류는 <Source> 요소에 지정된 메시지 변수가 다음 중 하나일 때 발생합니다.
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
이 오류는 <Source> 요소가 메시지 유형이 아닌 변수로 설정된 경우에 발생합니다. |
build |
배포 오류
없음
오류 변수
이러한 변수는 이 정책으로 오류가 트리거될 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | jsonattack.JTP-SecureRequest.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
오류 규칙 예시
<FaultRule name="JSONThreatProtection Policy Faults">
<Step>
<Name>AM-CustomErrorResponse</Name>
<Condition>(fault.name Matches "ExecutionFailed") </Condition>
</Step>
<Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>
JSONThreatProtection 정책 유형은 다음 오류 코드를 정의합니다.
JSONtoXML 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 |
입력 페이로드(JSON)가 비어 있거나 JSON-XML 정책에 전달되는 입력(JSON)이 무효이거나 형식이 잘못되었습니다. | build |
steps.jsontoxml.InCompatibleTypes |
500 |
이 오류는 <Source> 요소 및 <OutputVariable> 요소에 정의된 변수 유형이 동일하지 않을 때 발생합니다. <Source> 요소 및 <OutputVariable> 요소 내에 포함된 변수는 유형이 일치해야 합니다. 유효한 message 유형은 string 및 입니다. |
build |
steps.jsontoxml.InvalidSourceType |
500 |
이 오류는 <Source> 요소를 정의하기 위해 사용되는 변수 유형이 무효인 경우에 발생합니다. 유효한 변수 유형은 message 및 string 입니다. |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 |
이 오류는 <Source> JSON-XML 정책의 요소에 지정된 변수가 문자열 유형이고 <OutputVariable> 요소가 정의되지 않은 경우에 발생합니다.
<Source> 요소에 정의된 변수가 문자열 유형인 경우 <OutputVariable> 요소는 필수입니다. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
이 오류는 JSON-XML 정책의 <Source> 요소에 지정된 메시지 변수가 다음 중 하나인 경우 발생합니다.
|
build |
배포 오류
없음.
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | jsontoxml.JSON-to-XML-1.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
오류 규칙 예시
<FaultRule name="JSON To XML Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadJSON</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition> </FaultRule>
KeyValueMapOperations 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
이 오류는 |
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidIndex |
KeyValueMapOperations 정책의 <Get> 요소에 지정된 index 속성이 0 또는 음수이면 API 프록시 배포가 실패합니다. 색인은 1 에서 시작하므로 0 또는 음수인 정수의 색인은 잘못된 것으로 간주됩니다.
|
build |
KeyIsMissing |
이 오류는 <Key> 요소가 완전히 누락되거나 <Parameter> 요소가 KeyValueMapOperations 정책의 <InitialEntries> 요소 <Entry> 아래의 <Key> 요소와 함께 누락된 경우에 발생합니다.
|
build |
ValueIsMissing |
이 오류는 KeyValueMapOperations 정책 <InitialEntries> 요소의 <Entry> 요소 아래에 <Value> 요소가 누락되면 발생합니다. |
build |
MessageLogging 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 |
오류 문자열을 참조하세요. |
steps.messagelogging.InvalidGoogleCloudLogName |
500 |
이 오류는 LogName 이 projects/{project}/logs/{logid}의 유효한 형식으로 평가되지 않을 때 발생합니다. |
steps.messagelogging.InvalidJsonMessage |
500 |
이 오류는 contentType 속성 값이 application/json 으로 선택되었지만 실제 메시지 값이 유효한 JSON 문자열이 아닌 경우 발생합니다. |
steps.messagelogging.TooManyPendingLoggingRequest |
500 |
이 오류는 아직 Cloud Logging에 기록 대기 중인 요청이 2,500개를 초과하면 발생합니다. 2,500개의 한도는 각 Apigee 런타임 포드마다 적용됩니다. 예를 들어 트래픽이 Apigee 런타임 포드의 두 인스턴스에 분산되는 경우 유효 한도는 5,000개의 요청입니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidProtocol |
<Protocol> 요소 내에서 지정된 프로토콜이 유효하지 않은 경우 MessageLogging 정책의 배포가 이 오류와 함께 실패할 수 있습니다. 유효한 프로토콜은 TCP 및 UDP입니다.
TLS/SSL을 통해 syslog 메시지를 보내는 경우 TCP만 지원됩니다. |
build |
InvalidPort |
포트 번호가 <Port> 요소 내에 지정되지 않았거나 유효하지 않은 경우 MessageLogging 정책의 배포가 이 오류와 함께 실패할 수 있습니다. 포트 번호는 0보다 큰 정수여야 합니다. |
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | messagelogging.ML-LogMessages.failed = true |
오류 응답 예시
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
오류 규칙 예시
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
OASValidation 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.oasvalidation.Failed |
400 |
제공된 OpenAPI 사양에 따라 요청 메시지 본문을 확인할 수 없습니다. |
steps.oasvalidation.Failed |
500 |
제공된 OpenAPI 사양에 따라 응답 메시지 본문을 확인할 수 없습니다. |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
정책의 |
steps.oasvalidation.NonMessageVariable |
500 |
|
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | |
---|---|---|
ResourceDoesNotExist |
<OASResource> 요소에서 참조된 OpenAPI 사양이 없습니다.
|
|
ResourceCompileFailed |
배포에 포함된 OpenAPI 사양에는 컴파일할 수 없는 오류가 포함되어 있습니다. 이는 일반적으로 사양이 올바른 형식의 OpenAPI 사양 3.0이 아님을 나타냅니다. | |
BadResourceURL |
<OASResource> 요소에서 참조된 OpenAPI 사양을 처리할 수 없습니다. 파일이 JSON 또는 YAML 파일이 아니거나 파일 URL이 올바르게 지정되지 않은 경우에 발생할 수 있습니다.
|
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 설명 | 예 |
---|---|---|
fault.category |
장애 카테고리입니다. 정책이 요청을 거부하면 항상 Step 을 유지합니다. |
fault.category = "Step" |
fault.name |
위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "ResourceDoesNotExist" |
fault.reason |
오류가 발생한 이유입니다. 오류의 원인을 설명하는, 사람이 읽을 수 있는 문자열입니다. | OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]" |
fault.subcategory |
오류의 하위 카테고리입니다. 정책이 요청을 거부하면 항상 OASValidationFailure 을 유지합니다. |
fault.subcategory = "OASValidationFailure" |
OASValidation.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | OASValidation.myoaspolicy.failed = true |
PopulateCache 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 |
항목은 캐시할 수 없습니다. 캐시되는 메시지 객체는 직렬화 가능한 클래스의 인스턴스가 아닙니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidCacheResourceReference |
이 오류는 PopulateCache 정책의 <CacheResource> 요소가 API 프록시가 배포되는 환경에 존재하지 않는 이름으로 설정되는 경우에 발생합니다. |
build |
CacheNotFound |
<CacheResource> 요소에 지정된 캐시가 존재하지 않습니다. |
build |
오류 변수
이러한 변수는 이 정책으로 오류가 트리거될 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | populatecache.POP-CACHE-1.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
오류 규칙 예시
<FaultRule name="Populate Cache Fault"> <Step> <Name>AM-EntryCannotBeCached</Name> <Condition>(fault.name Matches "EntryCannotBeCached") </Condition> </Step> <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition> </FaultRule>
LookupCache 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
오류 코드 프리픽스
해당 없음
런타임 오류
이 정책은 런타임 오류를 발생시키지 않습니다.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidCacheResourceReference |
이 오류는 <CacheResource> 요소의 이름이 API 프록시가 배포되는 환경에 존재하지 않는 이름으로 설정되는 경우에 발생합니다. |
build |
InvalidTimeout |
<CacheLookupTimeoutInSeconds> 요소가 음수로 설정되면 API 프록시 배포가 실패합니다. |
build |
CacheNotFound |
이 오류는 오류 메시지에 언급된 특정 캐시가 특정 메시지 프로세서 구성요소에 생성되지 않은 경우에 발생합니다. | build |
오류 변수
해당 없음
오류 응답 예시
해당 없음
InvalidateCache 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
오류 코드 프리픽스
해당 없음
런타임 오류
이 정책은 런타임 오류를 발생시키지 않습니다.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidCacheResourceReference |
이 오류는 InvalidateCache 정책의 <CacheResource> 요소가 API 프록시가 배포되는 환경에 존재하지 않는 이름으로 설정되는 경우에 발생합니다. |
build |
CacheNotFound |
이 오류는 오류 메시지에 언급된 특정 캐시가 특정 메시지 프로세서 구성요소에 생성되지 않은 경우에 발생합니다. | build |
오류 변수
해당 없음
오류 응답 예시
해당 없음
ResponseCache 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
오류 코드 프리픽스
해당 없음
런타임 오류
이 정책은 런타임 오류를 발생시키지 않습니다.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidTimeout |
ResponseCache 정책의 <CacheLookupTimeoutInSeconds> 요소가 음수로 설정되면 API 프록시 배포가 실패합니다. |
build |
InvalidCacheResourceReference |
이 오류는 ResponseCache 정책의 <CacheResource> 요소가 API 프록시가 배포되는 환경에 존재하지 않는 이름으로 설정되는 경우에 발생합니다. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
이 오류는 동일한 ResponseCache 정책이 API 프록시의 흐름 내에서 여러 요청 경로에 연결된 경우 발생합니다. |
build |
ResponseCacheStepAttachmentNotAllowedResp |
이 오류는 동일한 ResponseCache 정책이 API 프록시의 흐름 내에서 여러 응답 경로에 연결된 경우 발생합니다. |
build |
InvalidMessagePatternForErrorCode |
이 오류는ResponseCache 정책에서 <SkipCacheLookup> 또는 <SkipCachePopulation> 요소에 잘못된 조건이 포함된 경우에 발생합니다. |
build |
CacheNotFound |
이 오류는 오류 메시지에 언급된 특정 캐시가 특정 메시지 프로세서 구성요소에 생성되지 않은 경우에 발생합니다. | build |
오류 변수
해당 없음
오류 응답 예시
해당 없음
OAuthV2 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 작업에 의해 발생 |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 |
액세스 토큰이 만료되었습니다. |
|
steps.oauth.v2.access_token_not_approved |
401 |
액세스 토큰이 취소되었습니다. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 |
요청한 리소스에 액세스 토큰과 연결된 API 제품이 없습니다. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 |
<AccessToken> 요소에 지정된 변수에서 액세스 토큰을 찾아야 하는 정책이지만 변수를 확인할 수 없습니다. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 |
<Code> 요소에 지정된 변수에서 승인 코드를 찾아야 하는 정책이지만 변수를 확인할 수 없습니다. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 |
<ClientId> 요소에 지정된 변수에서 클라이언트 ID를 찾아야 하는 정책이지만 변수를 확인할 수 없습니다. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 |
<RefreshToken> 요소에 지정된 변수에서 갱신 토큰을 찾아야 하는 정책이지만 변수를 확인할 수 없습니다. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 |
<Tokens> 요소에 지정된 변수에서 토큰을 찾아야 하는 정책이지만 변수를 확인할 수 없습니다. |
|
steps.oauth.v2.InsufficientScope |
403 | 요청에 표시된 액세스 토큰에 포함된 범위가 액세스 토큰 확인 정책에 지정된 범위와 일치하지 않습니다. 범위에 대한 자세한 내용은 OAuth2 범위 작업을 참조하세요. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 |
클라이언트에서 보낸 액세스 토큰이 잘못되었습니다. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
이 오류 이름은 정책의 |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | 이 오류 이름은 일반적으로 요청에서 전송된 매개변수가 누락되거나 잘못된 매개변수에 대해 다양한 종류의 오류에 사용됩니다. <GenerateResponse> 가 false 로 설정된 경우 오류 변수(아래 설명 참조)를 사용하여 오류 이름 및 원인 등 오류에 대한 세부정보를 검색합니다. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 |
승인 헤더에 필요한 Bearer 단어가 없습니다. 예를 들어 Authorization: Bearer your_access_token 입니다. |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
현재 실행 중인 API 프록시 또는 작업이 액세스 토큰과 연결된 제품에 없습니다. 팁: 액세스 토큰과 연결된 제품이 올바르게 구성되었는지 확인하세요. 예를 들어 리소스 경로에 와일드 카드를 사용할 경우 와일드 카드가 올바르게 사용되고 있는지 확인합니다. 자세한 내용은 API 제품 관리를 참조하세요. 이 오류의 원인에 대한 자세한 내용은 Oauth2.0 액세스 토큰 확인에서 'Invalid API call as no apiproduct match found' 오류 발생을 참조하세요. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
이 오류 이름은 정책의 |
|
steps.oauth.v2.InvalidParameter |
500 |
정책은 액세스 토큰이나 승인 코드 중 하나를 지정해야 하며 둘 다 지정할 수는 없습니다. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 |
<Tokens>/<Token> 요소를 사용하려면 토큰 유형(예: refreshtoken )을 지정해야 합니다. 클라이언트가 잘못된 유형을 전달하면 이 오류가 발생합니다. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 |
응답 유형이 token 이지만 권한 유형이 지정되지 않았습니다. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
클라이언트가 정책에서 지원하지 않는 부여 유형을 지정했습니다( |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
JWT 토큰별 런타임 오류
JWT 인증 토큰 흐름의 런타임 오류 코드 및 설명은 OAuth2 흐름 컨텍스트에 따라 다릅니다.
- 흐름 컨텍스트가 토큰 생성 또는 새로고침인 경우 아래의 JWT 토큰 생성 및 새로고침 흐름 오류 코드를 참조하세요.
- 토큰 확인 흐름은 아래의 토큰 확인 흐름 오류 코드를 참조하세요.
JWT 토큰 생성 및 새로고침 흐름 오류 코드
JWT 토큰을 생성하거나 새로 고치는 OAuth2 흐름의 경우 오류 응답은 RFC6749에 지정된 오류 응답을 준수합니다. 자세한 내용은 섹션 5.2 오류 응답을 참조하세요.
토큰 확인 흐름 오류 코드
다음 표에 나열된 오류 코드는 VerifyAccessToken 작업에만 적용됩니다.
오류 코드 | HTTP 상태 | 원인 | 작업에 의해 발생 |
---|---|---|---|
oauth.v2.JWTSigningFailed |
401 |
정책에서 JWT를 서명할 수 없습니다. |
|
oauth.v2.InvalidValueForJWTAlgorithm |
401 |
이는 JWT 액세스 토큰에 알고리즘이 없거나 값이 지원되지 않는 경우에 발생합니다. |
|
oauth.v2.InsufficientKeyLength |
401 |
JWT 생성 시 HS384 또는 HS512 알고리즘의 최소 크기보다 작은 키일 때 발생합니다. |
|
oauth.v2.JWTAlgorithmMismatch |
401 |
생성 정책에 지정된 알고리즘이 확인 정책에서 예상되는 알고리즘과 일치하지 않습니다. 지정된 알고리즘이 일치해야 합니다. |
|
oauth.v2.JWTDecodingFailed |
401 |
정책이 JWT를 디코딩할 수 없습니다. JWT가 손상되었을 수 있습니다. |
|
oauth.v2.MissingMandatoryClaimsInJWT |
401 |
Jwt 액세스 토큰에 필수 클레임이 없는 경우에 발생합니다. |
|
oauth.v2.InvalidJWTSignature |
401 |
이는 JWT 액세스 토큰의 서명을 확인할 수 없거나 서명이 유효하지 않은 경우에 발생합니다. |
|
oauth.v2.InvalidTypeInJWTHeader |
401 |
JWT 유형이 at+Jwt 가 아닌 경우에 발생합니다. |
|
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 |
---|---|
InvalidValueForExpiresIn |
|
InvalidValueForRefreshTokenExpiresIn |
<RefreshTokenExpiresIn> 요소에서 유효한 값은 양의 정수 및 -1 입니다. |
InvalidGrantType |
<SupportedGrantTypes> 요소에 잘못된 부여 유형이 지정되어 있습니다. 유효한 유형 목록은 정책 참조를 참조하세요. |
ExpiresInNotApplicableForOperation |
<Operations> 요소에 지정된 작업이 만료를 지원하는지 확인하세요. 예를 들어 VerifyToken 작업은 지원하지 않습니다. |
RefreshTokenExpiresInNotApplicableForOperation |
<Operations> 요소에 지정된 작업이 갱신 토큰 만료를 지원하는지 확인합니다. 예를 들어 VerifyToken 작업은 지원하지 않습니다. |
GrantTypesNotApplicableForOperation |
<SupportedGrantTypes> 에 지정된 부여 유형이 지정된 작업에 지원되는지 확인합니다. |
OperationRequired |
|
InvalidOperation |
|
TokenValueRequired |
<Tokens> 요소에 토큰 <Token> 값을 지정해야 합니다. |
JWT 토큰별 배포 오류
이러한 배포 오류는 JWT 토큰 작업을 사용하는 정책에만 해당됩니다.
오류 이름 | 원인 |
---|---|
InvalidValueForAlgorithm |
<Algorithm> 요소에 지정된 알고리즘이 사용 가능한 알고리즘 목록에 없거나 존재하지 않습니다. |
MissingKeyConfiguration |
사용되는 알고리즘에 따라 필수 <SecretKey> , <PrivateKey> 또는 <PublicKey> 요소가 누락되었습니다. |
EmptyValueElementForKeyConfiguration |
필수 하위 요소 <Value> 가 <PrivateKey> , <PublicKey> 또는 <SecretKey> 요소에 정의되어 있지 않습니다. |
InvalidKeyConfiguration |
<PrivateKey> 요소가 RSA 계열 알고리즘에 사용되지 않거나 <SecretKey> 요소가 HS 계열 알고리즘에 사용되지 않습니다. |
EmptyRefAttributeForKeyconfiguration |
<PrivateKey> , <PublicKey> 또는 <SecretKey> 요소의 <Value> 하위 요소에 대한 ref 속성이 비어 있습니다. |
InvalidVariableNameForKey |
<PrivateKey> , <PublicKey> 또는 <SecretKey> 요소의 하위 요소 <Value> 에 있는 ref 속성에 지정된 흐름 변수 이름에 private 프리픽스가 포함되어 있지 않습니다. |
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GenerateAccesstoken.fault.name = invalid_request
|
oauthV2.policy_name.fault.cause |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
오류 응답 예시
<GenerateResponse>
요소가 true이면 이러한 응답은 클라이언트로 다시 전송됩니다.
<GenerateResponse>
가 true이면 정책은 토큰과 코드를 생성하는 작업에 대해 이 형식의 오류를 반환합니다. 전체 목록은 OAuth HTTP 오류 응답 참조를 확인하세요.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
<GenerateResponse>
가 true이면 정책은 확인 및 유효성 검사 작업을 위해 이 형식으로 오류를 반환합니다. 전체 목록은 OAuth HTTP 오류 응답 참조를 확인하세요.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
오류 규칙 예시
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientResponse</Name> <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition> </Step> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
GetOAuthV2Info 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다. 아래의 오류 이름은 오류가 발생할 때 fault.name
변수에 할당되는 문자열입니다. 자세한 내용은 아래의 오류 변수 섹션을 참조하세요.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
정책에 전송된 액세스 토큰이 만료되었습니다. |
steps.oauth.v2.authorization_code_expired |
500 |
정책에 전송된 승인 코드가 만료되었습니다. |
steps.oauth.v2.invalid_access_token |
500 |
정책에 전송된 액세스 토큰이 잘못되었습니다. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 |
정책에 전송된 클라이언트 ID가 잘못되었습니다. |
steps.oauth.v2.invalid_refresh_token |
500 |
정책에 전송된 갱신 토큰이 잘못되었습니다. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 |
정책에 전송된 승인 코드가 잘못되었습니다. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | 이 오류의 문제 해결 방법에 대한 자세한 내용은 Oauth2.0 액세스 토큰 확인에서 'apiproduct matches not apiapi found' 오류 발생을 참조하세요. |
steps.oauth.v2.refresh_token_expired |
500 |
정책에 전송된 갱신 토큰이 만료되었습니다. |
배포 오류
배포 오류에 대한 자세한 내용은 UI에 보고된 메시지를 참조하세요.
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
오류 응답 예시
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
오류 규칙 예시
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
SetOAuthV2Info 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
정책에 전송된 액세스 토큰이 만료되었습니다. |
steps.oauth.v2.invalid_access_token |
500 |
정책에 전송된 액세스 토큰이 잘못되었습니다. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
이 오류의 문제 해결 방법에 대한 자세한 내용은 Oauth2.0 액세스 토큰 확인에서 'Invalid API call as no apiproduct match found' 오류 발생을 참조하세요. |
배포 오류
배포 오류에 대한 자세한 내용은 UI에 보고된 메시지를 참조하세요.
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
오류 응답 예시
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
오류 규칙 예시
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
DeleteOAuthV2Info 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 |
정책에 전송된 액세스 토큰이 잘못되었습니다. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 |
정책에 전송된 승인 코드가 잘못되었습니다. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
이 오류의 문제 해결 방법에 대한 자세한 내용은 Oauth2.0 액세스 토큰 확인에서 'Invalid API call as no apiproduct match found' 오류 발생을 참조하세요. |
배포 오류
배포 오류에 대한 자세한 내용은 UI에 보고된 메시지를 참조하세요.
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
오류 응답 예시
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
오류 규칙 예시
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
PythonScript 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 |
PythonScript 정책은 여러 유형의 ScriptExecutionFailed 오류를 발생시킬 수 있습니다. 흔히 볼 수 있는 오류 유형에는 NameError 및 ZeroDivisionError가 있습니다. | build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidResourceUrlFormat |
PythonScript 정책의 <ResourceURL> 또는 <IncludeURL> 요소 내에서 지정된 리소스 URL 형식이 잘못된 경우 API 프록시 배포가 실패합니다. |
build |
InvalidResourceUrlReference |
<ResourceURL> 또는 <IncludeURL> 요소가 존재하지 않는 PythonScript 파일을 참조하는 경우 API 프록시 배포가 실패합니다.
참조된 소스 파일은 API 프록시, 환경 또는 조직 수준에 있어야 합니다. |
build |
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | pythonscript.PythonScript-1.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
오류 규칙 예시
<FaultRule name="PythonScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(pythonscript.PythonScript-1.failed = true) </Condition> </FaultRule>
할당량 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 |
<Interval> 요소가 Quota 정책 내에 정의되지 않은 경우 발생합니다. 이 요소는 필수이며 할당량에 적용되는 시간 간격을 지정하는 데 사용됩니다. 시간 간격은 <TimeUnit> 요소에 정의된 대로 분, 시간, 일, 주 또는 월 단위일 수 있습니다. |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 |
<TimeUnit> 요소가 Quota 정책 내에 정의되지 않은 경우 발생합니다. 이 요소는 필수이며 할당량에 적용되는 시간 단위를 지정하는 데 사용됩니다. 시간 간격은 분, 시간, 일, 주 또는 월 단위일 수 있습니다. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
흐름 변수를 통해 지정된 <MessageWeight> 요소의 값이 잘못된 경우에(정수가 아닌 값) 발생합니다. |
build |
policies.ratelimit.QuotaViolation |
500 |
할당량 한도를 초과했습니다. | 해당 사항 없음 |
배포 오류
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidQuotaInterval |
<Interval> 요소에 지정된 할당량 간격이 정수가 아닌 경우 API 프록시 배포가 실패합니다. 예를 들어 지정된 할당량 간격이 <Interval> 요소에서 0.1이면 API 프록시 배포가 실패합니다.
|
build |
InvalidQuotaTimeUnit |
<TimeUnit> 요소에 지정된 시간 단위가 지원되지 않는 경우 API 프록시 배포가 실패합니다. 지원되는 시간 단위는 minute , hour , day , week , month 입니다.
|
build |
InvalidQuotaType |
<Quota> 요소의 type 속성에 의해 지정된 할당량 유형이 잘못된 경우 API 프록시 배포가 실패합니다. 지원되는 할당량 유형은 default , calendar , flexi , rollingwindow 입니다.
|
build |
InvalidStartTime |
<StartTime> 요소에 지정된 시간 형식이 잘못된 경우 API 프록시 배포가 실패합니다. 유효한 형식은 yyyy-MM-dd HH:mm:ss 이며 ISO 8601 날짜 및 시간 형식입니다. 예를 들어 <StartTime> 요소에 지정된 시간이 7-16-2017 12:00:00 인 경우 API 프록시 배포가 실패합니다.
|
build |
StartTimeNotSupported |
할당량 유형이 calendar 유형이 아닌 <StartTime> 요소가 지정된 경우 API 프록시 배포가 실패합니다. <StartTime> 요소는 calendar 할당량 유형에만 지원됩니다. 예를 들어 <Quota> 요소에서 type 속성이 flexi 또는 rolling window 로 설정된 경우 API 프록시 배포가 실패합니다.
|
build |
InvalidTimeUnitForDistributedQuota |
<Distributed> 요소가 true 로 설정되고 <TimeUnit> 요소가 second 로 설정된 경우 API 프록시 배포가 실패합니다. timeunit second 는 분산 할당량에 유효하지 않습니다. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Quota 정책의 <AsynchronousConfiguration> 요소 내에 있는 <SyncIntervalInSeconds> 요소에 지정된 값이 0 미만이면 API 프록시 배포가 실패합니다. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
<AsynchronousConfiguration> 요소의 값이 Quota 정책의 true 로 설정되고 또한 이 값이 <AsynchronousConfiguration> 를 사용해 정의된 비동기 구성를 보유하고 있다면 API 프록시 배포가 실패합니다. |
build |
오류 변수
이러한 변수는 이 정책으로 오류가 트리거될 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | ratelimit.QT-QuotaPolicy.failed = true |
오류 응답 예시
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
오류 규칙 예시
<FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "QuotaViolation") </Condition> </Step> <Condition>ratelimit.Quota-1.failed=true</Condition> </FaultRule> </FaultRules>
ResetQuota 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
ResetQuota 정책의 <Quota> 요소에 지정된 Quota 정책은 API 프록시에 정의되어 있지 않으므로 흐름 중에 사용할 수 없습니다. <Quota> 요소는 필수이며 ResetQuota 정책을 통해 카운터가 업데이트되어야 하는 대상 Quota 정책을 식별합니다. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
해당 없음 | 정책의 <Allow> 요소에서 허용 개수를 포함한 변수 참조를 값으로 확인할 수 없습니다. 이 요소는 필수이며 줄일 할당량 카운터의 양을 지정합니다. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
<Quota> 요소의 ref 속성에서 참조한 변수는 확인할 수 없습니다. |
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidCount |
ResetQuota 정책의 <Allow> 요소에 지정된 카운트 값이 정수가 아니면 API 프록시 배포가 실패합니다.
|
build |
RaiseFaultpolicy
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.raisefault.RaiseFault |
500 |
오류 문자열을 참조하세요. |
배포 오류
없음
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | raisefault.RF-ThrowError.failed = true |
오류 응답 예시
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
RegularExpressionProtection 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 반환되는 오류 코드 및 메시지와 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 오류를 캡처하고 자체 커스텀 오류를 발생시키려면 정책 루트 요소에서 continueOnError="true"
속성을 설정합니다.
자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | Message |
---|---|
ExecutionFailed |
Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1} |
InstantiationFailed |
Failed to instantiate the RegularExpressionProtection StepDefinition {0} |
NonMessageVariable |
Variable {0} does not resolve to a Message |
SourceMessageNotAvailable |
{0} message is not available for RegularExpressionProtection StepDefinition {1} |
ThreatDetected |
Regular Expression Threat Detected in {0}: regex: {1} input: {2} |
VariableResolutionFailed |
Failed to resolve variable {0} |
배포 오류
오류 코드 | 메시지 | 해결 |
---|---|---|
CannotBeConvertedToNodeset |
RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset.
Context {2} |
build |
DuplicatePrefix |
RegularExpressionProtection {0}: Duplicate prefix {1} |
build |
EmptyJSONPathExpression |
RegularExpressionProtection {0}: Empty JSONPath expression |
build |
EmptyXPathExpression |
RegularExpressionProtection {0}: Empty XPath expression |
build |
InvalidRegularExpression |
RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2} |
build |
JSONPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2} |
build |
NONEmptyPrefixMappedToEmptyURI |
RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty
uri |
build |
NoPatternsToEnforce |
RegularExpressionProtection {0}: No patterns to enforce in {1} |
build |
NothingToEnforce |
RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header,
FormParam, XMLPayload, JSONPayload is mandatory |
build |
XPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2} |
build |
오류 변수
이러한 변수는 이 정책으로 오류가 트리거될 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 각 항목의 의미는 다음과 같습니다. | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위 표에 나열된 오류의 이름입니다. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
SAMLAssertion 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
SourceNotConfigured |
ValidateSAMLAssertion 정책의 다음 요소 중 하나 이상이 정의되어 있지 않거나 비어 있습니다(<Source> , <XPath> , <Namespaces> , <Namespace> ).
|
build |
TrustStoreNotConfigured |
<TrustStore> 요소가 비어 있거나 ValidateSAMLAssertion 정책에 지정되지 않으면 API 프록시 배포가 실패합니다.
유효한 트러스트 저장소가 필요합니다.
|
build |
NullKeyStoreAlias |
하위 요소 <Alias> 이 비어 있거나 GenerateSAMLAssertion 정책의 <Keystore> 요소에 지정되지 않으면 API 프록시 배포가 실패합니다. 유효한 키 저장소 별칭은 필수 항목입니다.
|
build |
NullKeyStore |
하위 요소 <Name> 이 비어 있거나 GenerateSAMLAssertion 정책의 <Keystore> 요소에 지정되지 않으면 API 프록시 배포가 실패합니다. 유효한 키 저장소 이름은 필수 항목입니다.
|
build |
NullIssuer |
<Issuer> 요소가 비어 있거나 GenerateSAMLAssertion 정책에 지정되지 않으면 API 프록시 배포가 실패합니다. 유효한 <Issuer> 값은 필수 항목입니다.
|
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 오류의 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
SAML 어설션 정책 구성을 검증하기 위한 오류 프리픽스는 ValidateSAMLAssertion 입니다. |
GenerateSAMLAssertion.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
오류 규칙 예시
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
ServiceCallout 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
이 오류는 다음과 같은 때에 발생할 수 있습니다.
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 |
정책에 지정된 Request 변수가 Message 유형이 아닙니다. 예를 들어 문자열이거나 기타 메시지 외 유형인 경우 이 오류가 표시됩니다. |
build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 |
정책에 지정된 Request 변수가 RequestMessage 유형이 아닙니다. 예를 들어 응답 유형인 경우 이 오류가 표시됩니다. |
build |
googletoken.EmptyIDTokenAudience |
500 |
|
|
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
이 오류는 API 프록시가 <Authentication> 요소로 구성된 경우에 발생할 수 있습니다. 원인은 다음과 같습니다.
<GoogleAccessToken> 요소가 사용되고 잘못된 범위가 하나 이상 제공됩니다. 예를 들어 오타나 빈 범위가 있는지 확인합니다.
Apigee Hybrid의 경우 문제 디버깅에 도움이 될 수 있는 보다 자세한 오류 메시지를 찾으려면 런타임 컨테이너 로그에서 |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
URLMissing |
<HTTPTargetConnection> 내의 <URL> 요소가 없거나 비어 있습니다. |
build |
ConnectionInfoMissing |
이 오류는 정책에 <HTTPTargetConnection> 또는 <LocalTargetConnection> 요소가 없는 경우 발생합니다. |
build |
InvalidTimeoutValue |
이 오류는 <Timeout> 값이 음수이거나 0이면 발생합니다. |
build |
FAILED_PRECONDITION |
이 오류는 프록시가 <Authentication> 태그로 구성되었을 때 서비스 계정이 누락된 경우에 발생합니다.
예를 들면 다음과 같습니다. Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service account identity, but one was not provided with the request. |
|
PERMISSION_DENIED |
이 오류는 프록시가 <Authentication> 태그로 구성된 경우 서비스 계정에 권한 문제가 있으면 발생합니다. 가능한 원인은 다음과 같습니다.
|
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | servicecallout.SC-GetUserData.failed = true |
오류 응답 예시
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
오류 규칙 예시
<FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
SOAPMessageValidation 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
이 오류는 정책의
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
이 오류는 SOAPMessageValidation 정책의 메시지 유형 변수는 전체 HTTP 요청 및 응답을 나타냅니다. 기본 제공 Apigee 흐름 변수 |
build |
steps.messagevalidation.Failed |
500 | 이 오류는 SOAPMessageValidation 정책이 XSD 스키마 또는 WSDL 정의에 대해 입력 메시지 페이로드의 유효성을 검사하는 데 실패하는 경우 발생합니다. 페이로드 메시지에 잘못된 JSON 또는 XML이 있는 경우에도 이 오류가 발생합니다. | build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidResourceType |
SOAPMessageValidation 정책의 <ResourceURL> 요소는 정책에서 지원하지 않는 리소스 유형으로 설정됩니다.
|
build |
ResourceCompileFailed |
SOAPMessageValidation 정책의 <ResourceURL> 요소에서 참조하는 리소스 스크립트에 컴파일하지 못하도록 하는 오류가 포함되어 있습니다.
|
build |
RootElementNameUnspecified |
SOAPMessageValidation 정책의 <Element> 요소에 루트 요소의 이름이 포함되지 않습니다. |
build |
InvalidRootElementName |
SOAPMessageValidation 정책의 <Element> 요소에는 유효한 요소 이름을 지정할 때 XML 규칙을 준수하지 않는 루트 요소 이름이 포함되어 있습니다. |
build |
SpikeArrest 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
이 오류는 <Rate> 요소 내에 속도 설정이 포함된 변수의 참조를 SpikeArrest 정책에서의 값으로 확인할 수 없는 경우에 발생합니다. 이 요소는 필수이며 intpm 또는 intps 형식으로 급증 저지 속도를 지정하는 데 사용됩니다. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
이 오류는 흐름 변수를 통해 <MessageWeight> 요소에 지정된 값이 잘못된 경우에(정수가 아닌 값) 발생합니다. |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
비율 제한이 초과되었습니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidAllowedRate |
SpikeArrest 정책의 <Rate> 요소에 지정된 급증 저지 비율이 정수가 아니거나 속도에 ps 또는 pm 서픽스가 없는 경우 API 프록시 배포가 실패합니다. |
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | ratelimit.SA-SpikeArrestPolicy.failed = true |
오류 응답 예시
다음은 오류 응답의 예시입니다.
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
오류 규칙 예시
다음은 SpikeArrestViolation
오류를 처리하기 위한 오류 규칙의 예시입니다.
<FaultRules> <FaultRule name="Spike Arrest Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "SpikeArrestViolation") </Condition> </Step> <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition> </FaultRule> </FaultRules>
VerifyAPIKey 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
keymanagement.service.consumer_key_missing_api_product_association |
400 |
애플리케이션 사용자 인증 정보에 API 제품 연결이 없습니다. 키의 애플리케이션을 API 제품과 연결하세요. 이는 개발자 앱 및 AppGroup 앱과 같은 모든 애플리케이션 유형에 적용됩니다. |
keymanagement.service.DeveloperStatusNotActive |
401 |
사용 중인 API 키가 있는 개발자 앱을 만든 개발자가 비활성 상태입니다. 앱 개발자의 상태가 비활성으로 설정되면 해당 개발자에 의해 생성된 모든 개발자 앱은 비활성화됩니다. 적절한 권한을 가진 관리자(예: 조직 관리자)는 다음과 같은 방법으로 개발자 상태를 변경할 수 있습니다. |
keymanagement.service.invalid_client-app_not_approved |
401 |
API 키와 연결된 개발자 앱이 취소되었습니다. 취소된 앱은 API 제품에 액세스할 수 없으며 Apigee에서 관리하는 API를 호출할 수 없습니다. 조직 관리자는 Apigee API를 사용하여 개발자 앱의 상태를 변경할 수 있습니다. 자세한 내용은 키 쌍 생성 또는 개발자 앱 상태 업데이트를 참조하세요. |
oauth.v2.FailedToResolveAPIKey |
401 |
정책은 정책의 <APIKey> 요소에 지정된 변수에서 API 키를 찾습니다.이 오류는 예상 변수가 존재하지 않는 경우 발생합니다(해결할 수 없음). |
oauth.v2.InvalidApiKey |
401 |
Apigee에서 잘못된 API 키를 수신했습니다. Apigee가 데이터베이스에서 키를 조회할 때, 이는 요청에서 전송된 것과 정확하게 일치해야 합니다. API가 이전에 작동했다면 키가 다시 생성되지 않았는지 확인합니다. 키가 다시 생성된 경우 이전 키를 사용하려고 하면 이 오류가 표시됩니다. 자세한 내용은 앱을 등록하여 API에 대한 액세스 제어를 참조하세요. |
oauth.v2.InvalidApiKeyForGivenResource |
401 |
Apigee에서 API 키를 수신했으며 유효한 상태이지만 제품을 통해 API 프록시와 연결된 개발자 앱의 승인된 키와 일치하지 않습니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 |
---|---|
SpecifyValueOrRefApiKey |
<APIKey> 요소에 지정된 값 또는 키가 없습니다. |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.VK-VerifyAPIKey.failed = true |
오류 응답 예시
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
오류 규칙 예시
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
JWS 정책 인증
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 |
확인 정책에 알고리즘이 여러 개 있으면 발생합니다. |
steps.jws.AlgorithmMismatch |
401 |
Generate 정책에 의해 헤더에 지정된 알고리즘이 Verify 정책에서 예상한 알고리즘과 일치하지 않습니다. 지정된 알고리즘이 일치해야 합니다. |
steps.jws.ContentIsNotDetached |
401 |
<DetachedContent> 는 JWS에 분리된 콘텐츠 페이로드가 포함되어 있지 않으면 지정됩니다. |
steps.jws.FailedToDecode |
401 |
정책에서 JWS를 디코딩할 수 없습니다. JWS가 손상되었을 수 있습니다. |
steps.jws.InsufficientKeyLength |
401 |
HS256 알고리즘의 키가 32바이트 미만인 경우 |
steps.jws.InvalidClaim |
401 |
소유권 클레임 누락 또는 소유권 클레임 불일치, 헤더 또는 헤더 불일치 누락일 때 발생합니다. |
steps.jws.InvalidCurve |
401 |
키에서 지정한 곡선은 타원 곡선 알고리즘에 유효하지 않습니다. |
steps.jws.InvalidJsonFormat |
401 |
JWS 헤더에 잘못된 JSON이 있습니다. |
steps.jws.InvalidJws |
401 |
이 오류는 JWS 서명 확인이 실패하면 발생합니다. |
steps.jws.InvalidPayload |
401 |
JWS 페이로드가 잘못되었습니다. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> 가 생략되고 JWS에 분리된 콘텐츠 페이로드가 있습니다. |
steps.jws.KeyIdMissing |
401 |
Verify 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWS에는 헤더의 kid 속성이 포함되지 않습니다. |
steps.jws.KeyParsingFailed |
401 |
지정된 키 정보에서 공개 키를 파싱할 수 없습니다. |
steps.jws.MissingPayload |
401 |
JWS 페이로드가 누락되었습니다. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
JWS에서 알고리즘 헤더가 생략되면 발생합니다. |
steps.jws.NoMatchingPublicKey |
401 |
Verify 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWS의 kid 는 JWKS에 나열되지 않습니다. |
steps.jws.UnhandledCriticalHeader |
401 |
crit 헤더의 JWS 확인 정책에서 발견한 헤더는 KnownHeaders 에 나열되지 않습니다. |
steps.jws.UnknownException |
401 |
알 수 없는 예외가 발생했습니다. |
steps.jws.WrongKeyType |
401 |
잘못된 유형의 키가 지정되었습니다. 예를 들어 타원 곡선 알고리즘의 RSA 키를 지정하거나 RSA 알고리즘의 곡선 키를 지정하는 경우입니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 발생 상황 |
---|---|
InvalidAlgorithm |
다음 값만 유효: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 |
|
기타 발생 가능한 배포 오류 |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "TokenExpired" |
JWS.failed |
모든 JWS 정책은 오류 발생 시 동일한 변수를 설정합니다. | jws.JWS-Policy.failed = true |
오류 응답 예시
오류 처리에서 오류 응답의 errorcode
부분을 트래핑하는 것이 가장 좋습니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
VerifyJWT 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
확인 정책에 알고리즘이 여러 개 있으면 발생합니다. |
steps.jwt.AlgorithmMismatch |
401 |
Generate 정책에 지정된 알고리즘이 Verify 정책에 예상되는 알고리즘과 일치하지 않습니다. 지정된 알고리즘이 일치해야 합니다. |
steps.jwt.FailedToDecode |
401 |
정책이 JWT를 디코딩할 수 없습니다. JWT가 손상되었을 수 있습니다. |
steps.jwt.GenerationFailed |
401 |
정책이 JWT를 생성하지 못했습니다. |
steps.jwt.InsufficientKeyLength |
401 |
HS256 알고리즘은 32바이트 미만, HS386 알고리즘은 48바이트 미만, HS512 알고리즘은 64바이트 미만의 키일 때 발생합니다. |
steps.jwt.InvalidClaim |
401 |
소유권 클레임 누락 또는 소유권 클레임 불일치, 헤더 또는 헤더 불일치 누락일 때 발생합니다. |
steps.jwt.InvalidConfiguration |
401 |
<Algorithm> 및 <Algorithms> 요소가 모두 있습니다. |
steps.jwt.InvalidCurve |
401 |
키에서 지정한 곡선은 타원 곡선 알고리즘에 유효하지 않습니다. |
steps.jwt.InvalidIterationCount |
401 |
암호화된 JWT에 사용된 반복 수가 VerifyJWT 정책 구성에 지정된 반복 수와 동일하지 않습니다. 이는 <PasswordKey> 를 사용하는 JWT에만 적용됩니다. |
steps.jwt.InvalidJsonFormat |
401 |
헤더 또는 페이로드에 잘못된 JSON이 있습니다. |
steps.jwt.InvalidKeyConfiguration |
401 |
<PublicKey> 요소의 JWKS 이 잘못되었습니다. Apigee 인스턴스에서 JWKS URI 엔드포인트에 연결할 수 없기 때문일 수 있습니다. 패스 스루 프록시를 만들고 JWKS 엔드포인트를 대상으로 사용하여 엔드포인트에 대한 연결을 테스트합니다. |
steps.jwt.InvalidSaltLength |
401 |
암호화된 JWT에 사용된 솔트 길이가 VerifyJWT 정책 구성에 지정된 솔트 길이와 동일하지 않습니다. 이는 <PasswordKey> 를 사용하는 JWT에만 적용됩니다. |
steps.jwt.InvalidPasswordKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidPrivateKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidPublicKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidSecretKey |
401 |
지정된 키가 요구사항을 충족하지 않습니다. |
steps.jwt.InvalidToken |
401 |
이 오류는 JWT 서명 확인이 실패하면 발생합니다. |
steps.jwt.JwtAudienceMismatch |
401 |
토큰 확인 시 잠재 고객 소유권 주장이 실패했습니다. |
steps.jwt.JwtIssuerMismatch |
401 |
발급기관 클레임이 토큰 확인에 실패했습니다. |
steps.jwt.JwtSubjectMismatch |
401 |
주체 클레임이 토큰 확인에 실패했습니다. |
steps.jwt.KeyIdMissing |
401 |
Verify 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWT에는 헤더의 kid 속성이 포함되지 않습니다. |
steps.jwt.KeyParsingFailed |
401 |
지정된 키 정보에서 공개 키를 파싱할 수 없습니다. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
JWT에 알고리즘 헤더가 없으면 발생합니다. |
steps.jwt.NoMatchingPublicKey |
401 |
Verify 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWT의 kid 가 JWKS에 나열되지 않습니다. |
steps.jwt.SigningFailed |
401 |
GenerateJWT에서, HS384 또는 HS512 알고리즘의 최소 크기보다 작은 키일 때 발생합니다. |
steps.jwt.TokenExpired |
401 |
정책이 만료된 토큰을 확인하려고 시도합니다. |
steps.jwt.TokenNotYetValid |
401 |
토큰이 아직 유효하지 않습니다. |
steps.jwt.UnhandledCriticalHeader |
401 |
crit 헤더의 JWT 인증 정책에서 찾은 헤더가 KnownHeaders 에 표시되지 않습니다. |
steps.jwt.UnknownException |
401 |
알 수 없는 예외가 발생했습니다. |
steps.jwt.WrongKeyType |
401 |
잘못된 유형의 키가 지정되었습니다. 예를 들어 타원 곡선 알고리즘의 RSA 키를 지정하거나 RSA 알고리즘의 곡선 키를 지정하는 경우입니다. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidNameForAdditionalClaim |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임이 다음 등록된 이름 kid , iss , sub , aud , iat , exp , nbf 또는 jti 중 하나인 경우 배포가 실패합니다.
|
build |
InvalidTypeForAdditionalClaim |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임 유형이 string , number , boolean 또는 map 유형이 아닌 경우 배포가 실패합니다. |
build |
MissingNameForAdditionalClaim |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에서 클레임 이름이 지정되지 않으면 배포가 실패합니다.
|
build |
InvalidNameForAdditionalHeader |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임 이름이 alg 또는 typ 인 경우 이 오류가 발생합니다. |
build |
InvalidTypeForAdditionalHeader |
<AdditionalClaims> 요소의 하위 요소 <Claim> 에 사용된 클레임 유형이 string , number , boolean 또는 map 유형이 아닌 경우 배포가 실패합니다. |
build |
InvalidValueOfArrayAttribute |
이 오류는 <AdditionalClaims> 요소의 하위 요소 <Claim> 에 있는 배열 속성 값이 true 또는 false 로 설정되지 않은 경우 발생합니다. |
build |
InvalidValueForElement |
<Algorithm> 요소에 지정된 값이 지원되는 값이 아니면 배포가 실패합니다.
|
build |
MissingConfigurationElement |
이 오류는 <PrivateKey> 요소가 RSA 계열 알고리즘에서 사용되지 않거나 <SecretKey> 요소가 HS 계열 알고리즘에 사용되지 않는 경우 발생합니다. |
build |
InvalidKeyConfiguration |
하위 요소 <Value> 가 <PrivateKey> 또는 <SecretKey> 요소에 정의되어 있지 않은 경우 배포가 실패합니다. |
build |
EmptyElementForKeyConfiguration |
<PrivateKey> 또는 <SecretKey> 요소의 하위 요소 <Value> 의 ref 속성이 비어 있거나 지정되지 않은 경우 배포가 실패합니다.
|
build |
InvalidConfigurationForVerify |
이 오류는 <Id> 요소가 <SecretKey> 요소 내에 정의된 경우에 발생합니다.
|
build |
InvalidEmptyElement |
이 오류는 JWT 확인 정책의 <Source> 요소가 비어 있는 경우에 발생합니다. 이 요소가 있는 경우 Apigee 흐름 변수 이름으로 정의해야 합니다.
|
build |
InvalidPublicKeyValue |
<PublicKey> 요소의 하위 요소 <JWKS> 에 사용된 값이 RFC 7517에 지정된 유효한 형식을 사용하지 않는 경우 배포가 실패합니다. |
build |
InvalidConfigurationForActionAndAlgorithm |
<PrivateKey> 요소가 HS 계열 알고리즘에서 사용되거나 <SecretKey> 요소가 RSA 계열 알고리즘에 사용되는 경우 배포가 실패합니다. |
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "InvalidToken" |
JWT.failed |
모든 JWT 정책은 오류 발생 시 동일한 변수를 설정합니다. | JWT.failed = true |
오류 응답 예시
오류 처리에서 권장사항은 오류 응답의 errorcode
부분을 트래핑하는 것입니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
XMLThreatProtection 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 |
XMLThreatProtection 정책으로 인해 여러 가지 유형의 ExecutionFailed 오류가 발생할 수 있습니다.
이러한 오류의 대부분은 정책에 설정된 특정 임계값을 초과할 때 발생합니다. 이러한 오류의 유형에는 요소 이름 길이, 하위 요소 수, 노드 깊이, 속성 수, 속성 이름 길이 등이 포함됩니다. XMLThreatProtection 정책 런타임 오류 문제 해결 주제에서 전체 목록을 확인할 수 있습니다.
|
build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
이 오류는 XMLThreatProtection 정책의 <Source> 요소에서 지정한 입력 메시지 페이로드가 유효한 XML 문서가 아닌 경우 발생합니다. |
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
이 오류는 <Source> 요소에 지정된 메시지 변수가 다음 중 하나일 때 발생합니다.
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
이 오류는 <Source> 요소가 메시지 유형이 아닌 변수로 설정된 경우에 발생합니다. |
build |
배포 오류
없음.
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | xmlattack.XPT-SecureRequest.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
오류 규칙 예시
<FaultRule name="XML Threat Protection Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ExecutionFailed") </Condition> </Step> <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition> </FaultRule>
XMLtoJSON 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
ExecutionFailed |
이 오류는 입력 페이로드(XML)가 비어 있거나 입력 XML이 무효 또는 잘못된 경우에 발생합니다. | build |
steps.xmltojson.InCompatibleTypes |
ExecutionFailed |
이 오류는 <Source> 요소 및 <OutputVariable> 요소에 정의된 변수 유형이 동일하지 않을 때 발생합니다. <Source> 요소 및 <OutputVariable> 요소 내에 포함된 변수는 유형이 일치해야 합니다.
|
build |
steps.xmltojson.InvalidSourceType |
ExecutionFailed |
이 오류는 <Source> 요소를 정의하기 위해 사용되는 변수 유형이 무효인 경우에 발생합니다. 유효한 변수 유형은 메시지 및 문자열입니다. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
ExecutionFailed |
이 오류는 XML to JSON 정책의 <Source> 요소에 지정된 변수가 문자열 유형이고 <OutputVariable> 요소가 정의되지 않은 경우에 발생합니다.
<Source> 요소에 정의된 변수가 문자열 유형인 경우 <OutputVariable> 요소는 필수입니다. |
build |
steps.xmltojson.SourceUnavailable |
ExecutionFailed |
이 오류는 XML to JSON 정책의 <Source> 요소에 지정된 메시지 변수가 다음 중 하나일 때 발생합니다.
|
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
EitherOptionOrFormat |
<Options> 또는 <Format> 요소 중 하나가 XML to JSON 정책에 선언되지 않으면 API 프록시 배포에 실패합니다. |
build |
UnknownFormat |
XML to JSON 정책의 <Format> 요소에 알 수 없는 형식이 정의되어 있으면 API 프록시 배포에 실패합니다. 사전 정의된 형식에는 xml.com , yahoo , google , badgerFish 가 있습니다.
|
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | xmltojson.XMLtoJSON-1.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
오류 규칙 예시
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
XSLTransform 정책
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
이 오류는 XSLTransform 정책의 <Source> 요소에 지정된 메시지 또는 문자열 변수가 범위를 벗어난 경우(정책이 실행 중인 특정 흐름에서 사용할 수 없음) 또는 확인할 수 없는 경우(정의되지 않음)일 때 발생합니다.
|
build |
steps.xsl.XSLEvaluationFailed |
500 |
이 오류는 입력 XML 페이로드를 사용할 수 없거나 형식이 잘못되었거나, XSLTransform 정책이 실패하거나 XSL 파일에 제공된 변환 규칙에 따라 입력 XML 파일을 변환할 수 없는 경우에 발생합니다. XSLTransform 정책이 실패하는 원인은 여러 가지가 있습니다. 오류 메시지의 결함 이유를 통해 원인에 대한 자세한 정보를 얻을 수 있습니다. | build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
XSLEmptyResourceUrl |
XSLTransform 정책의 <ResourceURL> 요소가 비어 있으면 API 프록시 배포가 실패합니다. |
build |
XSLInvalidResourceType |
XSLTransform 정책의 <ResourceURL> 요소에 지정된 리소스 유형이 xsl 유형이 아니면 API 프록시 배포가 실패합니다. |
build |