Apigee Edge 문서입니다.
Apigee X 문서로 이동 정보
AccessControl 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | 클라이언트 IP 주소 또는 API 요청에서 전달된 IP 주소가 액세스 제어 정책의 <MatchRule> 요소 내 <SourceAddress> 요소에 지정된 IP 주소와 일치하며 <MatchRule> 요소의 action 속성이 DENY 로 설정됩니다. |
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류 관련 변수를 참조하세요.
변수 | 위치 | 예 |
---|---|---|
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":"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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | 정책을 통해 변수를 설정할 수 없습니다. 확인되지 않은 변수의 이름은 오류 문자열을 참조하세요. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
이 오류는 메시지 유형 변수는 전체 HTTP 요청 및 응답을 나타냅니다. 내장된 Edge
흐름 변수 |
build |
steps.assignmessage.UnresolvedVariable |
500 |
이 오류는 메시지 할당 정책에 지정된 변수가 다음 중 하나인 경우에 발생합니다.
|
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidIndex |
메시지 할당 정책의 <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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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>
ConcurrentRateLimit 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
ConcurrentRatelimit 연결을 초과했습니다. 연결 한도는 {0}입니다. 참고: 왼쪽에 표시된 오류 코드는 맞춤법 오류('limt')가 포함된 경우에도 정확합니다. 이 오류를 포착하기 위한 오류 규칙을 만들 때는 여기에 표시된 대로 정확히 코드를 사용해야 합니다. |
배포 오류
오류 이름 | 발생 상황 |
---|---|
InvalidCountValue |
ConcurrentRatelimit 잘못된 계산 값이 지정되었습니다. |
ConcurrentRatelimitStepAttachment\ |
프록시에서 동시 비율 제한 정책 {0} 연결은 허용되지 않습니다. 오류 경로. 이 정책은 대상 엔드포인트에 배치되어야 합니다. |
ConcurrentRatelimitStepAttachment\ |
대상 요청/응답/오류에서 동시 비율 제한 정책 {0} 연결이 누락되었습니다. 학습합니다. 이 정책은 대상 요청 Preflow, 대상 응답 Postflow, DefaultFaultRule에 배치되어야 합니다. |
InvalidTTLForMessageTimeOut |
메시지 제한 시간 동안 지정된 ConcurrentRatelimit 잘못된 ttl 값입니다. 양의 정수여야 합니다. |
오류 변수
이러한 변수는 이 정책으로 오류가 트리거될 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 위치 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "ConcurrentRatelimtViolation"
참고: 예에 표시된 오류 코드는 맞춤법 오류('limt')가 포함된 경우에도 정확합니다. 이 오류를 포착하기 위한 오류 규칙을 만들 때는 여기에 표시된 대로 정확히 코드를 사용해야 합니다. |
concurrentratelimit.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
오류 응답 예시
비율 제한을 초과하면 정책이 클라이언트에 HTTP 상태 503만 반환합니다.
오류 규칙 예시
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition> </Step> <Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition> </FaultRule> </FaultRules>
DecodeJWS 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 "TokenExpired" |
JWT.failed |
모든 JWT 정책은 오류 발생 시 동일한 변수를 설정합니다. | JWT.failed = true |
오류 응답 예시
오류 처리에서 권장사항은 오류 응답의 errorcode
부분을 트래핑하는 것입니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
ExtractVariables 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | 확인 정책에 알고리즘이 여러 개 있으면 발생합니다. |
steps.jwt.AlgorithmMismatch |
401 | 생성 정책에 지정된 알고리즘이 확인 정책에서 예상되는 알고리즘과 일치하지 않습니다. 지정된 알고리즘이 일치해야 합니다. |
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.InvalidCurve |
401 | 키에서 지정한 곡선은 타원 곡선 알고리즘에 유효하지 않습니다. |
steps.jwt.InvalidJsonFormat |
401 | 헤더 또는 페이로드에 잘못된 JSON이 있습니다. |
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 Family 알고리즘과 함께 사용되거나 <SecretKey> 요소가 RSA Family 알고리즘과 함께 사용되면 배포가 실패합니다.
|
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 "TokenExpired" |
JWT.failed |
모든 JWT 정책은 오류 발생 시 동일한 변수를 설정합니다. | JWT.failed = true |
오류 응답 예시
오류 처리에서 권장사항은 오류 응답의 errorcode
부분을 트래핑하는 것입니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
JavaCallout 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.javacallout.ExecutionError |
500 | Java콜아웃 정책을 실행하는 동안 Java 코드에서 예외가 발생하거나 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] |
해당 없음 | 오류 문자열을 참조하세요. 지원됨 소프트웨어 및 지원되는 버전을 참고하세요. |
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>
자바스크립트 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 오류 변수를 설명합니다. 이 정책이 오류를 트리거할 때 Edge에서 설정되는 값 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | 자바스크립트 정책으로 인해 다양한 유형의 ScriptExecutionFailed 오류가 발생할 수 있습니다. 자주 볼 수 있는 오류 유형에는 RangeError, ReferenceError, SyntaxError, TypeError, URIError | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | JavaScript 코드에서 오류가 발생했습니다. 자세한 내용은 오류 문자열을 참조하세요. | 해당 사항 없음 |
steps.javascript.ScriptSecurityError |
500 | JavaScript를 실행할 때 보안 오류가 발생했습니다. 자세한 내용은 오류 문자열을 참조하세요. | 해당 없음 |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidResourceUrlFormat |
자바스크립트 정책의 <ResourceURL> 또는 <IncludeURL> 요소 내에서 지정된 리소스 URL 형식이 잘못된 경우 API 프록시 배포가 실패합니다. |
build |
InvalidResourceUrlReference |
<ResourceURL> 또는 <IncludeURL> 요소가
존재하지 않는 JavaScript 파일을 참조하는 경우 API 프록시 배포가 실패합니다.
참조된 소스 파일은 API 프록시, 환경 또는 조직 수준에 있어야 합니다. |
build |
WrongResourceType |
이 오류는 배포 중에 <ResourceURL> 또는 <IncludeURL>
JavaScript 정책의 요소는 jsc (JavaScript 파일) 이외의 리소스 유형을 참조합니다. |
build |
NoResourceURLOrSource |
<ResourceURL>
요소가 선언되지 않았거나 리소스 URL이 이 요소 내에 정의되지 않은 경우.
<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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
이 오류는 암호화된 키 값 맵에서 값을 검색하려 하고 이름에 |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
이 오류는 키 값 맵 작업 정책에서 |
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidIndex |
키 값 맵 작업 정책의 <Get> 요소에 지정된 index 속성이 0 또는 음수이면 API 프록시 배포에 실패합니다. 색인은 1 에서 시작하므로 0 또는 음수인 정수의 색인은 잘못된 것으로 간주됩니다.
|
build |
KeyIsMissing |
이 오류는 <Key> 요소가 완전히 누락되었거나 키 값 맵 작업 정책의 <InitialEntries> 요소 <Entry> 아래 <Key> 요소 내에서 <Parameter> 요소가 누락된 경우에 발생합니다.
|
build |
ValueIsMissing |
이 오류는 키 값 맵 작업 정책의 <InitialEntries> 요소의 <Entry> 요소 아래에 <Value> 요소가 누락된 경우에 발생합니다. |
build |
LDAP 정책
이 정책은 다음 오류 코드를 사용합니다.
오류 코드 | 메시지 |
---|---|
InvalidAttributeName |
Invalid attribute name {0}. |
InvalidSearchBase |
Search base can not be empty. |
InvalidValueForPassword |
Invalid value for password field. It can not be empty. |
InvalidSearchScope |
Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials |
Invalid user credentials. |
InvalidExternalLdapReference |
Invalid external ldap reference {0}. |
LdapResourceNotFound |
Ldap resource {0} not found. |
BaseDNRequired |
Base DN required. |
OnlyReferenceOrValueIsAllowed |
Only value or reference is allowed for {0}. |
AttributesRequired |
At least one attribute required for search action. |
UserNameIsNull |
User name is null. |
SearchQueryAndUserNameCannotBePresent |
Both search query and username can not be present in the authentication action.
Please specify either one of them. |
MessageLogging 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | 오류 문자열을 참조하세요. |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | 제공된 OpenAPI 사양에 따라 요청 메시지 본문을 확인할 수 없습니다. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
정책의 |
|
steps.oasvalidation.NotMessageVariable |
500 |
|
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | |
---|---|---|
ResourceDoesNotExist |
<OASResource> 요소에서 참조된 OpenAPI 사양이 없습니다.
|
|
ResourceCompileFailed |
배포에 포함된 OpenAPI 사양에는 컴파일할 수 없는 오류가 포함되어 있습니다. 이는 일반적으로 사양이 올바른 형식의 OpenAPI 사양 3.0이 아님을 나타냅니다. | |
BadResourceURL |
<OASResource> 요소에 참조된 OpenAPI 사양을 처리할 수 없습니다. 이 문제는 파일이 JSON 또는 YAML 파일이 아니거나 파일 URL이 올바르게 지정되지 않은 경우에 발생할 수 있습니다.
|
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 각 항목의 의미는 다음과 같습니다. | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oasvalidation.myoaspolicy.failed = true |
PopulateCache 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
오류 코드 프리픽스
N/A
런타임 오류
이 정책은 런타임 오류를 발생시키지 않습니다.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidCacheResourceReference |
이 오류는 <CacheResource> 요소의 이름이 API 프록시가 배포되는 환경에 존재하지 않는 이름으로 설정되는 경우에 발생합니다. |
build |
InvalidTimeout |
<CacheLookupTimeoutInSeconds> 요소가 음수로 설정되면 API 프록시 배포가 실패합니다. |
build |
CacheNotFound |
이 오류는 오류 메시지에 언급된 특정 캐시가 특정 메시지 프로세서 구성요소에 생성되지 않은 경우에 발생합니다. | build |
오류 변수
해당 없음
오류 응답 예시
N/A
InvalidateCache 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
오류 코드 프리픽스
N/A
런타임 오류
이 정책은 런타임 오류를 발생시키지 않습니다.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
InvalidCacheResourceReference |
이 오류는 InvalidateCache 정책의 <CacheResource> 요소가 API 프록시가 배포되는 환경에 존재하지 않는 이름으로 설정되는 경우에 발생합니다. |
build |
CacheNotFound |
이 오류는 오류 메시지에 언급된 특정 캐시가 특정 메시지 프로세서 구성요소에 생성되지 않은 경우에 발생합니다. | build |
오류 변수
해당 없음
오류 응답 예시
N/A
ResponseCache 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
오류 코드 프리픽스
N/A
런타임 오류
이 정책은 런타임 오류를 발생시키지 않습니다.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
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 |
오류 변수
해당 없음
오류 응답 예시
N/A
OAuthV2 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Edge에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 작업에 의해 발생 |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | 액세스 토큰이 만료되었습니다. |
VerifyAccessToken |
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> 요소에 지정된 변수에서 토큰을 찾아야 하는 정책이지만 변수를 확인할 수 없습니다. |
ValidateToken |
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.InvalidRequest |
400 | 이 오류 이름은 일반적으로 요청에서 전송된 매개변수가 누락되거나 잘못된 매개변수에 대해 다양한 종류의 오류에 사용됩니다. <GenerateResponse> 가 false 로 설정된 경우 오류 변수(아래 설명 참조)를 사용하여 오류 이름 및 원인 등 오류에 대한 세부정보를 검색합니다. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | 승인 헤더에 필요한 'Bearer' 단어가 없습니다. 예: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
API 프록시가 액세스 토큰과 연결된 제품에 없습니다. 팁: 액세스 토큰과 연결된 제품이 올바르게 구성되었는지 확인하세요. 예를 들어 리소스 경로에 와일드 카드를 사용할 경우 와일드 카드가 올바르게 사용되고 있는지 확인합니다. 자세한 내용은 API 제품 만들기를 참고하세요. 이 오류의 원인에 대한 자세한 내용은 이 Apigee 커뮤니티 게시물을 참고하세요. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
이 오류 이름은 정책의 |
GenerateAccessToken |
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 |
클라이언트가 정책에서 지원하지 않는 권한 유형을 지정했습니다(<SupportedGrantTypes> 요소에 나열되지 않음). 참고: 현재 지원되지 않는 권한 유형 오류가 올바르게 발생하지 않는 버그가 있습니다. 지원되지 않는 권한 유형 오류가 발생하면 프록시는 예상대로 오류 흐름을 입력하지 않습니다. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 |
---|---|
InvalidValueForExpiresIn |
|
InvalidValueForRefreshTokenExpiresIn |
<RefreshTokenExpiresIn> 요소에서 유효한 값은 양의 정수 및 -1 입니다. |
InvalidGrantType |
<SupportedGrantTypes> 요소에 잘못된 부여 유형이 지정되어 있습니다. 유효한 유형 목록은 정책 참조를 참조하세요. |
ExpiresInNotApplicableForOperation |
<Operations> 요소에 지정된 작업이 만료를 지원하는지 확인합니다. 예를 들어 VerifyToken 작업은 지원하지 않습니다. |
RefreshTokenExpiresInNotApplicableForOperation |
<Operations> 요소에 지정된 작업이 갱신 토큰 만료를 지원하는지 확인합니다. 예를 들어 VerifyToken 작업은 지원하지 않습니다. |
GrantTypesNotApplicableForOperation |
<SupportedGrantTypes>에 지정된 권한 유형이 지정된 연산에서 지원되는지 확인합니다. |
OperationRequired |
참고: |
InvalidOperation |
참고: |
TokenValueRequired |
<Tokens> 요소에 토큰 <Token> 값을 지정해야 합니다. |
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다.
변수 | 장소 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
참고: VerifyAccessToken 작업의 경우 오류 이름에 다음 접미사가 포함됩니다. |
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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다. 아래의 오류 이름은 오류가 발생할 때 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 | 이 오류 문제 해결에 대한 자세한 내용은 Apigee 커뮤니티 게시물을 참조하세요. |
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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | 정책에 전송된 액세스 토큰이 만료되었습니다. |
steps.oauth.v2.invalid_access_token |
500 | 정책에 전송된 액세스 토큰이 잘못되었습니다. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | 이 오류 문제 해결에 대한 자세한 내용은 Apigee 커뮤니티 게시물을 참조하세요. |
배포 오류
배포 오류에 대한 자세한 내용은 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 | 정책에 전송된 액세스 토큰이 잘못되었습니다. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | 정책에 전송된 승인 코드가 잘못되었습니다. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | 이 오류 문제 해결에 대한 자세한 내용은 Apigee 커뮤니티 게시물을 참조하세요. |
배포 오류
배포 오류에 대한 자세한 내용은 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>
OAuthv1.0a 정책
OAuthV1 정책 유형은 다음 오류 코드를 정의합니다.
OAuth 관련 HTTP 오류 코드는 OAuth HTTP 오류 응답 참조를 확인하세요.
오류 코드 | 메시지 |
---|---|
AppKeyNotResolved |
Could not resolve the app key with variable {0} |
ConsumerKeyNotResolved |
Could not resolve the consumer key with variable {0} |
RequestTokenNotResolved |
Could not resolve the request token with the variable {0} |
AccessTokenNotResolved |
Could not resolve the access token with the variable {0} |
ResponseGenerationError |
Error while generating response : {0} |
UnableToDetermineOperation |
Unable to determine an operation for stepDefinition {0} |
UnableToResolveOAuthConfig |
Unable to resolve the OAuth configuration for {0} |
AtLeastOneParamRequired |
At least one of AccessToken, RequestToken or ConsumerKey must be specified in
stepDefinition {0} |
SpecifyValueOrRefReqToken |
Specify Request Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefAccToken |
Specify Access Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefConKey |
Specify Consumer Key as value or ref in stepDefinition {0} |
SpecifyValueOrRefAppKey |
Specify App Key as value or ref in stepDefinition {0} |
ExpiresInNotApplicableForOperation |
ExpiresIn element is not valid for operation {0} |
InvalidValueForExpiresIn |
Invalid value for ExpiresIn element for operation {0} |
FailedToFetchApiProduct |
Failed to fetch api product for key {0} |
InvalidTokenType |
Valid token types : {0}, Invalid toke type {1} in stepDefinition {2} |
TokenValueRequired |
Token value is required in stepDefinition {0} |
FailedToResolveRealm |
Failed to resolve realm {0} |
GetOAuthV1Info 정책
OAuth v1.0a 정보 가져오기 정책에 지정된 오류 코드가 없습니다.
DeleteOAuthV1Info 정책
성공하면 정책이 200 상태를 반환합니다.
실패하면 정책이 404를 반환하고 다음과 유사한 출력을 반환합니다. 삭제하시기 바랍니다.
HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 144 Connection: keep-alive {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}
PythonScript 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 오류 변수를 설명합니다. 이 정책이 오류를 트리거할 때 Edge에서 설정되는 값 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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>
할당량 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | <Interval> 요소가 할당량 정책 내에 정의되지 않은 경우 발생합니다. 이 요소는 필수이며 할당량에 적용되는 시간 간격을 지정하는 데 사용됩니다. 시간 간격
<TimeUnit> 요소로 정의된 대로 분, 시간, 일, 주, 월이 될 수 있습니다. |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | <TimeUnit> 요소가 할당량 정책 내에 정의되지 않은 경우 발생합니다. 이 요소는 필수이며 할당량에 적용되는 시간 단위를 지정하는 데 사용됩니다. 시간 간격은 분, 시간, 일, 주 또는 월 단위일 수 있습니다. |
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 정책에서 <AsynchronousConfiguration> 요소의 값이 true 로 설정된 경우 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | 할당량 재설정 정책의 <Quota> 요소에 지정된 할당량 정책은 API 프록시에 정의되어 있지 않으므로 흐름 중에 사용할 수 없습니다. <Quota> 요소는 필수이며 할당량 재설정 정책을 통해 카운터를 업데이트해야 하는 대상 할당량 정책을 식별합니다. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | 정책의 <Allow> 요소에서 허용 개수를 포함한 변수 참조를 값으로 확인할 수 없습니다. 이 요소는 필수이며 줄일 할당량 카운터의 양을 지정합니다. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | <Quota> 요소의 ref 속성에서 참조한 변수는 확인할 수 없습니다. |
build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidCount |
할당량 재설정 정책의 <Allow> 요소에 지정된 개수 값이 정수가 아니면 API 프록시 배포가 실패합니다.
|
build |
RaiseFault 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 오류 변수를 설명합니다. 이 정책이 오류를 트리거할 때 Edge에서 설정되는 값 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 정책
이 섹션에서는 정책이 오류를 트리거할 때 Edge에서 설정한 오류 코드, 오류 메시지, 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 오류를 캡처하고 자체 커스텀 오류를 발생시키려면 정책 루트 요소에서 continueOnError="true"
속성을 설정합니다.
자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
에지 정책에서 반환되는 오류는 오류 코드 참조에 설명된 일관된 형식을 따릅니다.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 메시지 |
---|---|
ExecutionFailed | RegularExpressionProtection StepDefinition {0} 실행할 수 없음. 이유: {1} |
InstantiationFailed | RegularExpressionProtection StepDefinition {0} 인스턴스화할 수 없음. |
NonMessageVariable | {0} 변수가 메시지로 확인되지 않습니다. |
SourceMessageNotAvailable | {0} 메시지는 RegularExpressionProtection StepDefinition {1}에서 사용할 수 없음 |
ThreatDetected | {0}에서 정규 표현식 위협이 감지됨: 정규식: {1} 입력: {2} |
VariableResolutionFailed | {0} 변수를 확인할 수 없음 |
배포 오류
오류 코드 | 메시지 | 해결 |
---|---|---|
CannotBeConvertedToNodeset | RegularExpressionProtection {0}: xpath {1}의 결과를 노드 집합으로 변환할 수 없습니다. 컨텍스트 {2} | build |
DuplicatePrefix | RegularExpressionProtection {0}: 중복된 접두사 {1} | build |
EmptyJSONPathExpression | RegularExpressionProtection {0}: 빈 JSONPath 표현식 | build |
EmptyXPathExpression | RegularExpressionProtection {0}: 빈 XPath 표현식 | build |
InvalidRegularExpression | RegularExpressionProtection {0}: 잘못된 정규 표현식 {1}, 컨텍스트 {2} | build |
JSONPathCompilationFailed | RegularExpressionProtection {0}: jsonpath {1} 컴파일할 수 없음. 컨텍스트 {2} | build |
NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: 빈 URI에 비어 있지 않은 프리픽스 {1} 매핑할 수 없음 | build |
NoPatternsToEnforce | RegularExpressionProtection {0}: {1}에 적용할 패턴이 없습니다. | build |
NothingToEnforce | RegularExpressionProtection {0}: URIPath, QueryParam, Header, FormParam, XML 로드, JSON페이 중 하나 이상이 필수임 | build |
XPathCompilationFailed | RegularExpressionProtection {0}: xpath {1} 컴파일할 수 없음. 컨텍스트 {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 |
SOAPMessageValidation 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
이 오류는 정책의
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
이 오류는 SOAPMessageValidation 정책의 메시지 유형 변수는 전체 HTTP 요청 및 응답을 나타냅니다. 기본 제공되는 Edge 흐름 변수 |
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 |
SAMLAssertion 정책
이 섹션에서는 반환되는 오류 코드와 오류 메시지를 설명합니다. 및 오류 변수가 포함됩니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 해결 |
---|---|---|
SourceNotConfigured |
Validate SAML Assertion 정책의 다음 요소 중 하나 이상이 정의되지 않거나 비어 있습니다(<Source> , <XPath> , <Namespaces> , <Namespace> ). |
build |
TrustStoreNotConfigured |
<TrustStore> 요소가 비어 있거나 ValidateSAMLAssertion 정책에 지정되지 않으면 API 프록시 배포가 실패합니다.
유효한 트러스트 저장소가 필요합니다.
|
build |
NullKeyStoreAlias |
하위 요소 <Alias> 가 비어 있거나 Generate SAML Assertion 정책의 <Keystore> 요소에 지정되지 않은 경우 API 프록시의 배포가 실패합니다. 유효한 키 저장소 별칭은 필수 항목입니다.
|
build |
NullKeyStore |
하위 요소 <Name> 이 비어 있거나 GenerateSAMLAssertion 정책의 <Keystore> 요소에 지정되지 않은 경우 API 프록시 배포가 실패합니다. 유효한 키 저장소 이름은 필수 항목입니다.
|
build |
NullIssuer |
<Issuer> 요소가 비어 있거나 Generate SAML Assertion 정책에 지정되지 않은 경우 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
이 오류는 다음과 같은 때에 발생할 수 있습니다.
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | 정책에 지정된 요청 변수가 메시지 유형이 아닙니다. 예를 들어 문자열이거나 기타 메시지 외 유형인 경우 이 오류가 표시됩니다. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | 정책에 지정된 요청 변수가 요청 메시지 유형이 아닙니다. 예를 들어 응답 유형인 경우 이 오류가 표시됩니다. | build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
URLMissing |
<HTTPTargetConnection> 내의 <URL> 요소가 없거나 비어 있습니다. |
build |
ConnectionInfoMissing |
이 오류는 정책에 <HTTPTargetConnection> 또는 <LocalTargetConnection> 요소가 없는 경우 발생합니다. |
build |
InvalidTimeoutValue |
이 오류는 <Timeout> 값이 음수이거나 0이면 발생합니다. |
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 위치 | 예 |
---|---|---|
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="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
SpikeArrest 정책
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 오류 변수를 설명합니다. 이 정책이 오류를 트리거할 때 Edge에서 설정되는 값 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 수정 |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
이 오류는 <Rate> 요소 내에 속도 설정이 포함된 변수의 참조를 급증 저지 정책에서의 값으로 확인할 수 없는 경우에 발생합니다. 이 요소는 필수이며 intpm 또는 intps 형식으로 급증 저지 속도를 지정하는 데 사용됩니다. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
이 오류는 흐름 변수를 통해 <MessageWeight> 요소에 지정된 값이 잘못된 경우에(정수가 아닌 값) 발생합니다. |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
비율 제한을 초과했습니다. <ph type="x-smartling-placeholder"> |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
InvalidAllowedRate |
급증 저지 정책의 <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>
StatisticsCollector 정책
이 섹션에서는 이 정책이 오류를 트리거할 때 설정되는 오류 메시지 및 흐름 변수에 대해 설명합니다. 이 정보는 프록시에 대한 오류 규칙을 개발하는 중이라면 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
없음
배포 오류
오류 이름 | 원인 | 수정 |
---|---|---|
UnsupportedDatatype |
Statistics Collector 정책의 <Statistic> 요소에 ref 속성으로 지정된 변수 유형이 지원되지 않으면 API 프록시 배포가 실패합니다. 지원되는 데이터 유형은 string , integer , float , long , double , boolean 입니다. |
build |
InvalidName |
Statistics Collector 정책의 <Statistic> 요소 내에서 정의된 지정된 변수에 대해 수집된 데이터를 참조하는 이름이 시스템 정의 변수와 충돌하는 경우 API 프록시 배포가 실패합니다. 알려진 시스템 정의 변수 중 일부는 organization 및 environment 입니다. |
build |
DatatypeMissing |
Statistics Collector 정책의 <Statistic> 요소 내 ref 속성으로 지정된 변수 유형이 없으면 API 프록시 배포가 실패합니다. |
build |
오류 변수
없음
VerifyAPIKey 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | 사용 중인 API 키가 있는 개발자 앱과 연결된 회사가 비활성 상태입니다. 회사의 상태가 비활성으로 설정되면 해당 회사와 연결된 개발자 또는 앱에 액세스할 수 없습니다. 조직 관리자는 회사 상태를 변경할 수 있습니다. 관리할 수 있습니다. 회사의 상태 설정을 참조하세요. |
keymanagement.service.DeveloperStatusNotActive |
401 |
사용 중인 API 키가 있는 개발자 앱을 만든 개발자가 비활성 상태입니다. 앱 개발자의 상태가 비활성으로 설정되면 해당 개발자에 의해 생성된 모든 개발자 앱은 비활성화됩니다. 적절한 권한을 가진 관리자(예: 조직 관리자)는 다음과 같은 방법으로 개발자 상태를 변경할 수 있습니다. |
keymanagement.service.invalid_client-app_not_approved |
401 | API 키와 연결된 개발자 앱이 취소되었습니다. 취소된 앱은 모든 API 제품에 액세스할 수 있으며 Apigee Edge에서 관리하는 API를 호출할 수 없습니다. 조직 관리자는 다음을 수행할 수 있습니다. 관리 API를 사용하여 개발자 앱의 상태 변경 개발자 앱 승인 또는 취소를 참조하세요. |
oauth.v2.FailedToResolveAPIKey |
401 | 정책은 정책의 <APIKey> 요소에 지정된 변수에서 API 키를 찾습니다.이 오류는 예상 변수가 존재하지 않는 경우 발생합니다(해결할 수 없음). |
oauth.v2.InvalidApiKey |
401 | Edge에서 API 키를 수신했지만 유효하지 않습니다. Edge가 데이터베이스에서 요청을 전송할 때 요청에서 전송된 와 정확하게 일치해야 합니다. API가 이전에 작동했다면 키가 다시 생성되지 않았는지 확인합니다. 키가 다시 생성된 경우 이전 키를 사용하려고 하면 이 오류가 표시됩니다. 자세한 내용은 앱 등록 및 API 키 관리를 참조하세요. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge에서 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 정책 인증
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 | 확인 정책에 알고리즘이 여러 개 있으면 발생합니다. |
steps.jws.AlgorithmMismatch |
401 | 생성 정책에 의해 헤더에 지정된 알고리즘이 확인 정책에서 예상한 알고리즘과 일치하지 않습니다. 지정된 알고리즘이 일치해야 합니다. |
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 | 인증 정책은 JWKS를 공개 키의 소스로 사용하지만 서명된 JWS의 헤더에 kid 속성이 포함되어 있지 않습니다. |
steps.jws.KeyParsingFailed |
401 | 주어진 키 정보에서 공개 키를 파싱할 수 없습니다. |
steps.jws.MissingPayload |
401 | JWS 페이로드가 누락되었습니다. |
steps.jws.NoAlgorithmFoundInHeader |
401 | JWS에서 알고리즘 헤더가 생략되면 발생합니다. |
steps.jws.NoMatchingPublicKey |
401 | 확인 정책은 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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 발생 상황 |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | 확인 정책에 알고리즘이 여러 개 있으면 발생합니다. |
steps.jwt.AlgorithmMismatch |
401 | 생성 정책에 지정된 알고리즘이 확인 정책에서 예상되는 알고리즘과 일치하지 않습니다. 지정된 알고리즘이 일치해야 합니다. |
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.InvalidCurve |
401 | 키에서 지정한 곡선은 타원 곡선 알고리즘에 유효하지 않습니다. |
steps.jwt.InvalidJsonFormat |
401 | 헤더 또는 페이로드에 잘못된 JSON이 있습니다. |
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 |
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> 요소가 비어 있는 경우에 발생합니다. 있는 경우 에지 흐름 변수 이름으로 정의해야 합니다.
|
build |
InvalidPublicKeyValue |
<PublicKey> 요소의 하위 요소 <JWKS> 에 사용된 값이 RFC 7517에 지정된 유효한 형식을 사용하지 않으면 배포가 실패합니다.
|
build |
InvalidConfigurationForActionAndAlgorithm |
<PrivateKey> 요소가 HS Family 알고리즘과 함께 사용되거나 <SecretKey> 요소가 RSA Family 알고리즘과 함께 사용되면 배포가 실패합니다.
|
build |
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 위치 | 예 |
---|---|---|
fault.name="fault_name" |
fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "TokenExpired" |
JWT.failed |
모든 JWT 정책은 오류 발생 시 동일한 변수를 설정합니다. | JWT.failed = true |
오류 응답 예시
오류 처리에서 권장사항은 오류 응답의 errorcode
부분을 트래핑하는 것입니다. 변경될 수 있으므로 faultstring
의 텍스트에 의존하지 마세요.
오류 규칙 예시
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
XMLThreatProtection 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | 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 |
참고:
- 오류 이름 ExecutionFailed는 기본 오류 이름이며 감지된 오류 유형 하지만 이 기본값을 변경하려면 조직 수준 속성을 사용할 수 있습니다. 이 속성을 설정하면 오류 이름에 오류가 발생했습니다. 예: 'TextExceeded' 또는 'AttrValueExceeded'입니다. 사용 참고사항에서 다음을 참조하세요. 확인하세요.
- 500 HTTP 상태가 기본값입니다. HTTP 상태를 400으로 변경하여 요청 흐름 오류를 방지할 수 있습니다. 사용 참고사항에서 다음을 참조하세요. 확인하세요.
배포 오류
없음
오류 변수
이러한 변수는 런타임 오류가 발생하면 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 위치 | 예 |
---|---|---|
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 정책
이 섹션에서는 반환되는 오류 코드, 오류 메시지, 그리고 이 정책이 오류를 트리거할 때 Edge에서 설정하는 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 | 해결 |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | 이 오류는 입력 페이로드(XML)가 비어 있거나 입력 XML이 무효 또는 잘못된 경우에 발생합니다. | build |
steps.xmltojson.InCompatibleType |
500 | 이 오류는 <Source> 요소 및 <OutputVariable> 요소에 정의된 변수 유형이 동일하지 않을 때 발생합니다. <Source> 요소 및 <OutputVariable> 요소 내에 포함된 변수는 유형이 일치해야 합니다.
|
build |
steps.xmltojson.InvalidSourceType |
500 | 이 오류는 <Source> 요소를 정의하기 위해 사용되는 변수 유형이 무효인 경우에 발생합니다. 유효한 변수 유형은 메시지 및 문자열입니다. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | 이 오류는 XML to JSON 정책의 <Source> 요소에 지정된 변수가 문자열 유형이고 <OutputVariable> 요소가 정의되지 않은 경우에 발생합니다.
<Source> 요소에 정의된 변수가 문자열 유형인 경우 <OutputVariable> 요소는 필수입니다. |
build |
steps.xmltojson.SourceUnavailable |
500 | 이 오류는 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 |
이 오류는 XSL 변환 정책의 <Source> 요소에 지정된 메시지 또는 문자열 변수가 범위를 벗어나거나 (정책이 실행되는 특정 흐름에서 사용할 수 없음) 해결할 수 없는 경우 (정의되지 않음)에 발생합니다.
|
build |
steps.xsl.XSLEvaluationFailed |
500 | 이 오류는 입력 XML 페이로드를 사용할 수 없거나 형식이 잘못되었거나, XSLTransform 정책이 실패하거나 XSL 파일에 제공된 변환 규칙에 따라 입력 XML 파일을 변환할 수 없는 경우에 발생합니다. XSLTransform 정책이 실패하는 원인은 여러 가지가 있습니다. 오류 메시지의 결함 이유를 통해 원인에 대한 자세한 정보를 얻을 수 있습니다. | build |
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 | 수정 |
---|---|---|
XSLEmptyResourceUrl |
XSL 변환 정책의 <ResourceURL> 요소가 비어 있으면 API 프록시 배포가 실패합니다. |
build |
XSLInvalidResourceType |
XSL 변환 정책의 <ResourceURL> 요소에 지정된 리소스 유형이 xsl 유형이 아니면 API 프록시 배포가 실패합니다. |
build |