Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d' Apigee Edge.
Règle AccessControl
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 |
L'adresse IP du client ou une adresse IP transmise dans la requête API correspond à une adresse IP spécifiée dans l'élément <SourceAddress> de l'élément <MatchRule> de la règle de contrôle d'accès AccessControl, et l'attribut action de l'élément <MatchRule> est défini sur DENY . |
build |
accesscontrol.InvalidIPAddressInVariable |
500 |
La variable de flux dans <ClientIPVariable> contient une adresse IP non valide. |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour plus d'informations, consultez la section Variables spécifiques aux erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur pour la règle qui a généré l'erreur. | acl.AC-AllowAccess.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"steps.accesscontrol.IPDeniedAccess" } } }
Exemple de règle de défaillance
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
Règle AccessEntity
Pour en savoir plus, consultez les articles Ce que vous devez savoir sur les erreurs liées aux règles et la gestion des erreurs.
Erreurs d'exécution
Aucune
Erreurs de déploiement
Nom de l'erreur | Chaîne d'erreur | État HTTP | Se produit quand |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
ND | Le type d'entité utilisé doit correspondre à l'un des types acceptés. |
Règle AssignMessage
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 |
La règle n'a pas pu définir de variable. Consultez la chaîne d'erreur pour le nom de la variable non résolue. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Cette erreur se produit si l'attribut Les variables de type Message représentent des requêtes et des réponses HTTP entières. Les variables de flux Apigee intégrées |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Cette erreur se produit si une variable spécifiée dans la règle AssignMessage est :
|
build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidIndex |
Si l'index spécifié dans les éléments <Copy> et/ou <Remove> de la règle AssignMessage est 0 ou un nombre négatif, le déploiement du proxy d'API échoue.
|
build |
InvalidVariableName |
Si l'élément enfant <Name> est vide ou non spécifié dans l'élément <AssignVariable> , le déploiement du proxy d'API échoue, car il n'existe pas de nom de variable valide auquel attribuer une valeur. Vous devez indiquer un nom de variable valide.
|
build |
InvalidPayload |
Une charge utile spécifiée dans la règle n'est pas valide. |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "UnresolvedVariable" |
assignmessage.POLICY_NAME.failed |
POLICY_NAME est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | assignmessage.AM-SetResponse.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Exemple de règle de défaillance
<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>
Règle BasicAuthentication
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les erreurs. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 |
Sur un décodage lorsque la chaîne entrante encodée en Base64 ne contient pas de valeur valide ou si l'en-tête est incorrect (par exemple, ne commence pas par Basic ). |
build |
steps.basicauthentication.UnresolvedVariable |
500 |
Les variables source requises pour le décodage ou l'encodage ne sont pas présentes. Cette erreur ne peut se produire que si la valeur de IgnoreUnresolvedVariables est "false". |
build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Se produit quand | Corriger |
---|---|---|
UserNameRequired |
L'élément <User> doit être présent pour l'opération nommée. |
build |
PasswordRequired |
L'élément <Password> doit être présent pour l'opération nommée. |
build |
AssignToRequired |
L'élément <AssignTo> doit être présent pour l'opération nommée. |
build |
SourceRequired |
L'élément <Source> doit être présent pour l'opération nommée. |
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | BasicAuthentication.BA-Authenticate.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Exemple de règle de défaillance
<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>
Règle DecodeJWS
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Se produit quand |
---|---|---|
steps.jws.FailedToDecode |
401 |
La règle n'a pas pu décoder le jeton JWS. Le jeton JWS est peut-être corrompu. |
steps.jws.FailedToResolveVariable |
401 |
Cette erreur se produit si la variable de flux spécifiée dans l'élément <Source> de la règle n'existe pas. |
steps.jws.InvalidClaim |
401 |
En cas de problème de revendication ou de revendication manquante, de problème d'en-tête ou d'en-tête manquant. |
steps.jws.InvalidJsonFormat |
401 |
JSON non valide trouvé dans l'en-tête JWS. |
steps.jws.InvalidJws |
401 |
Cette erreur se produit en cas d'échec de la validation de la signature du jeton JWS. |
steps.jws.InvalidPayload |
401 |
La charge utile JWS n'est pas valide. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> est omis et le jeton JWS possède une charge utile de contenu dissociée. |
steps.jws.MissingPayload |
401 |
La charge utile JWS est manquante. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Cette erreur produit lorsque le jeton JWS omet l'en-tête de l'algorithme. |
steps.jws.UnknownException |
401 |
Une exception inconnue s'est produite. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Se produit quand |
---|---|
InvalidAlgorithm |
Les seules valeurs valides sont : RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Autres erreurs de déploiement possibles. |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "TokenExpired" |
JWS.failed |
Toutes les règles JWS définissent la même variable en cas d'échec. | jws.JWS-Policy.failed = true |
Exemple de réponse d'erreur
Pour le traitement des exceptions, la meilleure pratique consiste à intercepter la partie errorcode
de la réponse. Ne vous fiez pas au texte dans faultstring
, car il pourrait changer.
Exemple de règle de défaillance
<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>
Règle DecodeJWT
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.jwt.FailedToDecode |
401 |
Se produit lorsque la règle ne parvient pas à décoder le jeton JWT. Le jeton JWT peut être incorrect, non valide ou indécodable. | build |
steps.jwt.FailedToResolveVariable |
401 |
Cette erreur se produit si la variable de flux spécifiée dans l'élément <Source> de la règle n'existe pas. |
|
steps.jwt.InvalidToken |
401 |
Se produit lorsque la variable de flux spécifiée dans l'élément <Source> de la règle est hors champ d'application ou ne peut être résolue. |
build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidEmptyElement |
Se produit lorsque la variable de flux contenant le jeton JWT à décoder n'est pas spécifiée dans l'élément <Source> de la règle.
|
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "InvalidToken" |
JWT.failed |
Toutes les règles JWT définissent la même variable en cas d'échec. | JWT.failed = true |
Exemple de réponse d'erreur
Pour le traitement des erreurs, la meilleure pratique consiste à intercepter la partie errorcode
de la réponse. Ne vous fiez pas au texte dans faultstring
, car il pourrait changer.
Exemple de règle de défaillance
<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>
Règle Extract Variables
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
Cette erreur se produit dans les cas suivants :
|
build |
steps.extractvariables.ImmutableVariable |
500 |
Une variable utilisée dans la règle est immuable. La règle n'a pas pu définir cette variable. | N/A |
steps.extractvariables.InvalidJSONPath |
500 |
Cette erreur se produit si un chemin JSON non valide est utilisé dans l'élément JSONPath de la règle. Par exemple, si une charge utile JSON ne contient pas l'objet Name , mais vous spécifiez Name comme chemin d'accès dans la règle, cette erreur se produit. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 |
Cette erreur se produit lorsque la règle ne peut pas analyser un chemin JSON et extraire les données de la variable de flux spécifiée dans l'élément Source . Cela se produit généralement si la variable de flux spécifiée dans l'élément Source n'existe pas dans le flux actuel. |
build |
steps.extractvariables.SetVariableFailed |
500 |
Cette erreur se produit si la règle n'a pas pu définir la valeur sur une variable. L'erreur se produit généralement si vous essayez d'attribuer des valeurs à plusieurs variables dont les noms commencent par les mêmes mots dans un format imbriqué, séparés par un point. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 |
Cette erreur se produit si la variable message spécifiée dans l'élément Source de la règle est :
|
build |
steps.extractvariables.UnableToCast |
500 |
Cette erreur se produit si la règle n'a pas pu convertir la valeur extraite en variable. Cela se produit généralement si vous tentez de définir la valeur d'un type de données sur une variable d'un autre type de données. | build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
NothingToExtract |
Si la règle ne comporte aucun des éléments URIPath , QueryParam , Header , FormParam , XMLPayload ou JSONPayload , le déploiement du proxy d'API échoue, car il n'y a rien à extraire. |
build |
NONEmptyPrefixMappedToEmptyURI |
Cette erreur se produit si la règle comporte un préfixe défini dans l'élément Namespace sous l'élément XMLPayload , mais qu'aucun URI n'est défini. |
build |
DuplicatePrefix |
Cette erreur se produit si le même préfixe est défini plusieurs fois dans l'élément Namespace sous l'élément XMLPayload . |
build |
NoXPathsToEvaluate |
Si la règle ne contient pas l'élément XPath au sein de l'élément XMLPayload , le déploiement du proxy d'API échoue avec cette erreur.
|
build |
EmptyXPathExpression |
Si la règle contient une expression XPath vide dans l'élément XMLPayload , le déploiement du proxy d'API échoue. |
build |
NoJSONPathsToEvaluate |
Si la règle ne contient pas l'élément JSONPath au sein de l'élément JSONPayload , le déploiement du proxy d'API échoue avec cette erreur. |
build |
EmptyJSONPathExpression |
Si la règle contient une expression XPath vide dans l'élément XMLPayload , le déploiement du proxy d'API échoue. |
build |
MissingName |
Si la règle ne comporte pas l'attribut name dans aucun des ses éléments, tels que QueryParam , Header , FormParam ou Variable , le cas échéant, le déploiement du proxy d'API échoue. |
build |
PatternWithoutVariable |
Si la règle ne comporte aucune variable spécifiée dans l'élément Pattern , le déploiement du proxy d'API échoue. L'élément Pattern requiert le nom de la variable dans laquelle les données extraites seront stockées. |
build |
CannotBeConvertedToNodeset |
Si la règle contient une expression XPath où le type Variable est défini sur nodeset, mais que l'expression ne peut pas être convertie en ensemble de nœuds, le déploiement du proxy d'API échoue. |
build |
JSONPathCompilationFailed |
La règle n'a pas pu compiler un chemin JSON spécifié. | N/A |
InstantiationFailed |
Impossible d'instancier la règle. | N/A |
XPathCompilationFailed |
Si le préfixe ou la valeur utilisée dans l'élément XPath ne fait partie d'aucun des espaces de noms déclarés dans la règle, le déploiement du proxy d'API échoue. |
build |
InvalidPattern |
Si la définition de l'élément Pattern est non valide dans les éléments tels que URIPath , QueryParam , Header , FormParam , XMLPayload ou JSONPayload contenus dans la règle, le déploiement du proxy d'API échoue.
|
build |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | extractvariables.EV-ParseJsonResponse.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Exemple de règle de défaillance
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
Règle GenerateJWS
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Se produit quand |
---|---|---|
steps.jws.GenerationFailed |
401 |
La règle n'a pas pu générer le jeton JWS. |
steps.jws.InsufficientKeyLength |
401 |
Pour une clé inférieure à 32 octets pour l'algorithme HS256 |
steps.jws.InvalidClaim |
401 |
En cas de problème de revendication ou de revendication manquante, de problème d'en-tête ou d'en-tête manquant. |
steps.jws.InvalidCurve |
401 |
La courbe spécifiée par la clé n'est pas valide pour l'algorithme à courbe elliptique. |
steps.jws.InvalidJsonFormat |
401 |
JSON non valide trouvé dans l'en-tête JWS. |
steps.jws.InvalidPayload |
401 |
La charge utile JWS n'est pas valide. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> est omis et le fichier JWS possède une charge utile de contenu dissociée. |
steps.jws.KeyIdMissing |
401 |
La règle de vérification utilise un JWKS en tant que source pour les clés publiques, mais le jeton JWS signé n'inclut pas la propriété kid dans l'en-tête. |
steps.jws.KeyParsingFailed |
401 |
Impossible d'analyser la clé publique à partir des informations de clé fournies. |
steps.jws.MissingPayload |
401 |
La charge utile JWS est manquante. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Se produit lorsque le jeton JWS omet l'en-tête de l'algorithme. |
steps.jws.SigningFailed |
401 |
Dans GenerateJWS, pour une clé inférieure à la taille minimale des algorithmes HS384 ou HS512 |
steps.jws.UnknownException |
401 |
Une exception inconnue s'est produite. |
steps.jws.WrongKeyType |
401 |
Type de clé spécifié incorrect. Par exemple, si vous spécifiez une clé RSA pour un algorithme à courbe elliptique ou une clé à courbe elliptique pour un algorithme RSA. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Se produit quand |
---|---|
InvalidAlgorithm |
Les seules valeurs valides sont : RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Autres erreurs de déploiement possibles. |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "TokenExpired" |
JWS.failed |
Toutes les règles JWS définissent la même variable en cas d'échec. | jws.JWS-Policy.failed = true |
Exemple de réponse d'erreur
Pour le traitement des exceptions, la meilleure pratique consiste à intercepter la partie errorcode
de la réponse. Ne vous fiez pas au texte dans faultstring
, car il pourrait changer.
Exemple de règle de défaillance
<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>
Stratégie GenerateJWT
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Se produit quand |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Se produit lorsque la règle de validation comporte plusieurs algorithmes. |
steps.jwt.AlgorithmMismatch |
401 |
L'algorithme spécifié dans la règle "Générer" ne correspond pas à celui attendu dans la règle "Vérifier". Les algorithmes spécifiés doivent correspondre. |
steps.jwt.EncryptionFailed |
401 |
Échec de la création d'un jeton JWT chiffré pour une raison non spécifique |
steps.jwt.FailedToDecode |
401 |
La règle n'a pas pu décoder le jeton JWT. Le jeton JWT est peut-être corrompu. |
steps.jwt.GenerationFailed |
401 |
La règle n'a pas pu générer le jeton JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Pour une clé inférieure à 32 octets pour l'algorithme HS256, inférieure à 48 octets pour l'algorithme HS386 et inférieure à 64 octets pour l'algorithme HS512. |
steps.jwt.InvalidClaim |
401 |
En cas de problème de revendication ou de revendication manquante, de problème d'en-tête ou d'en-tête manquant. |
steps.jwt.InvalidConfiguration |
401 |
Les éléments <Algorithm> et <Algorithms> sont présents. |
steps.jwt.InvalidCurve |
401 |
La courbe spécifiée par la clé n'est pas valide pour l'algorithme à courbe elliptique. |
steps.jwt.InvalidJsonFormat |
401 |
JSON non valide trouvé dans l'en-tête ou la charge utile. |
steps.jwt.InvalidPasswordKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidPrivateKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidPublicKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidSecretKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidToken |
401 |
Cette erreur se produit en cas d'échec de la validation de la signature du jeton JWT. |
steps.jwt.JwtAudienceMismatch |
401 |
La revendication d'audience a échoué lors de la vérification du jeton. |
steps.jwt.JwtIssuerMismatch |
401 |
La revendication d'émetteur a échoué lors de la vérification du jeton. |
steps.jwt.JwtSubjectMismatch |
401 |
La revendication de sujet a échoué lors de la vérification du jeton. |
steps.jwt.KeyIdMissing |
401 |
La règle de vérification utilise un JWKS en tant que source pour les clés publiques, mais le jeton JWT signé n'inclut pas la propriété kid dans l'en-tête. |
steps.jwt.KeyParsingFailed |
401 |
Impossible d'analyser la clé publique à partir des informations de clé fournies. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Se produit lorsque le jeton JWT ne contient pas d'en-tête d'algorithme. |
steps.jwt.NoMatchingPublicKey |
401 |
La règle de vérification utilise un JWKS en tant que source pour les clés publiques, mais le kid du jeton JWT signé n'est pas répertorié dans le JWKS. |
steps.jwt.SigningFailed |
401 |
Dans GenerateJWT , pour une clé inférieure à la taille minimale des algorithmes HS384 ou HS512 |
steps.jwt.TokenExpired |
401 |
La règle tente de vérifier un jeton expiré. |
steps.jwt.TokenNotYetValid |
401 |
Le jeton n'est pas encore valide. |
steps.jwt.UnhandledCriticalHeader |
401 |
Un en-tête trouvé par la règle de vérification JWT dans l'en-tête crit n'est pas répertorié dans KnownHeaders . |
steps.jwt.UnknownException |
401 |
Une exception inconnue s'est produite. |
steps.jwt.WrongKeyType |
401 |
Type de clé spécifié incorrect. Par exemple, si vous spécifiez une clé RSA pour un algorithme à courbe elliptique ou une clé à courbe elliptique pour un algorithme RSA. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidNameForAdditionalClaim |
Le déploiement échouera si la revendication utilisée dans l'élément enfant <Claim> de l'élément <AdditionalClaims> correspond à l'un des noms enregistrés suivants :
kid , iss , sub , aud , iat , exp , nbf ou jti ). |
build |
InvalidTypeForAdditionalClaim |
Si la revendication utilisée dans l'élément enfant <Claim> de l'élément <AdditionalClaims> n'est pas de type string , number , boolean ou map , le déploiement échouera. |
build |
MissingNameForAdditionalClaim |
Si le nom de la revendication n'est pas spécifié dans l'élément enfant <Claim> de l'élément <AdditionalClaims> , le déploiement échouera. |
build |
InvalidNameForAdditionalHeader |
Cette erreur se produit lorsque le nom de la revendication utilisé dans l'élément enfant <Claim> de l'élément <AdditionalClaims> est alg ou typ . |
build |
InvalidTypeForAdditionalHeader |
Si la revendication utilisée dans l'élément enfant <Claim> de l'élément <AdditionalClaims> n'est pas de type string , number , boolean ou map , le déploiement échouera. |
build |
InvalidValueOfArrayAttribute |
Cette erreur se produit lorsque la valeur de l'attribut de tableau dans l'élément enfant <Claim> de l'élément <AdditionalClaims> n'est pas définie sur true ou false . |
build |
InvalidConfigurationForActionAndAlgorithm |
Si l'élément <PrivateKey> est utilisé avec des algorithmes de la famille HS ou si l'élément <SecretKey> est utilisé avec des algorithmes de la famille RSA, le déploiement échouera. |
build |
InvalidValueForElement |
Si la valeur spécifiée dans l'élément <Algorithm> n'est pas une valeur acceptée, le déploiement échouera. |
build |
MissingConfigurationElement |
Cette erreur se produira si l'élément <PrivateKey> n'est pas utilisé avec les algorithmes de la famille RSA ou si l'élément <SecretKey> n'est pas utilisé avec les algorithmes de la famille HS. |
build |
InvalidKeyConfiguration |
Si l'élément enfant <Value> n'est pas défini dans les éléments <PrivateKey> ou <SecretKey> , le déploiement échouera. |
build |
EmptyElementForKeyConfiguration |
Si l'attribut "ref" de l'élément enfant <Value> des éléments <PrivateKey> ou <SecretKey> est vide ou non spécifié, le déploiement échouera. |
build |
InvalidVariableNameForSecret |
Cette erreur se produit si le nom de la variable de flux spécifié dans l'attribut "ref" de l'élément enfant <Value> des éléments <PrivateKey> ou <SecretKey> ne contient pas le préfixe privé (private.) . |
build |
InvalidSecretInConfig |
Cette erreur se produit si l'élément enfant <Value> des éléments <PrivateKey> ou <SecretKey> ne contient pas le préfixe privé (private.) . |
build |
InvalidTimeFormat |
Si la valeur spécifiée dans l'élément <NotBefore> n'utilise pas un format compatible, le déploiement échouera. |
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "InvalidToken" |
JWT.failed |
Toutes les règles JWT définissent la même variable en cas d'échec. | JWT.failed = true |
Exemple de réponse d'erreur
Pour le traitement des erreurs, la meilleure pratique consiste à intercepter la partie errorcode
de la réponse. Ne vous fiez pas au texte dans faultstring
, car il pourrait changer.
Exemple de règle de défaillance
<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>
Règle JavaCallout
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.javacallout.ExecutionError |
500 |
Se produit lorsque le code Java génère une exception ou renvoie une valeur nulle lors de l'exécution d'une règle JavaCallout policy . |
build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque le proxy contenant la règle est déployé.
Nom de l'erreur | Chaîne d'erreur | État HTTP | Se produit quand |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
N/A | Le fichier spécifié dans l'élément <ResourceURL> n'existe pas. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
N/A | Le fichier de classe spécifié dans l'élément <ClassName> n'est pas dans le fichier JAR. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/A | Voir la chaîne d'erreur. Les versions de Java prises en charge incluent : Oracle JDK 7/8 et OpenJDK 7/8 |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/A | Voir la chaîne d'erreur. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/A | Voir la chaîne d'erreur. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/A | Voir la chaîne d'erreur. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/A | Voir la chaîne d'erreur. |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | javacallout.JC-GetUserData.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Exemple de règle de défaillance
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Règle JavaScript
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 |
La règle JavaScript peut générer de nombreux types d'erreurs ScriptExecutionFailed . Les types d'erreurs fréquemment constatées incluent RangeError, ReferenceError, SyntaxError, TypeError et URIError. |
build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 |
Une erreur s'est produite dans le code JavaScript . Pour en savoir plus, consultez la chaîne d'erreur. |
Non disponible |
steps.javascript.ScriptSecurityError |
500 |
Une erreur de sécurité s'est produite lors de l'exécution de JavaScript . Pour en savoir plus, consultez la chaîne d'erreur. |
Non disponible |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidResourceUrlFormat |
Si le format de l'URL de la ressource spécifiée dans l'élément <ResourceURL> ou <IncludeURL> de la règle JavaScript n'est pas valide, alors le déploiement du proxy d'API échoue. |
build |
InvalidResourceUrlReference |
Si les éléments <ResourceURL> ou <IncludeURL> font référence à un fichier JavaScript qui n'existe pas, alors le déploiement du proxy d'API échoue.
Le fichier source référencé doit exister au niveau du proxy d'API, de l'environnement ou de l'organisation. |
build |
WrongResourceType |
Cette erreur se produit lors du déploiement si les éléments <ResourceURL> et <IncludeURL> de la règle JavaScript font référence à un type de ressource autre que jsc (fichier JavaScript ). |
build |
NoResourceURLOrSource |
Le déploiement de la règle JavaScript peut échouer et renvoyer cette erreur si l'élément <ResourceURL> n'est pas déclaré ou si l'URL de la ressource n'est pas définie dans cet élément.
L'élément <ResourceURL> est obligatoire. L'élément <IncludeURL> est déclaré, mais l'URL de la ressource n'est pas définie dans cet élément. L'élément <IncludeURL> est facultatif, mais s'il est déclaré, l'URL de la ressource doit être spécifiée dans l'élément <IncludeURL> . |
build |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | javascript.JavaScript-1.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Exemple de règle de défaillance
<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>
Règle JSONThreatProtection
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir sur les erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 |
La règle JSONThreatProtection peut générer de nombreux types d'erreurs ExecutionFailed .
La plupart de ces erreurs se produisent lorsqu'un seuil spécifique défini dans la règle est dépassé. Ces types d'erreurs incluent les éléments suivants : longueur de noms d'entrée d'objet, nombre d'entrées d'objet, nombre d'éléments de tableau, profondeur de conteneur, longueur de valeur de chaîne.
Cette erreur se produit également lorsque la charge utile contient un objet JSON non valide.
|
build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Cette erreur se produit si la variable message spécifiée dans l'élément <Source> :
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Cette erreur se produit si l'élément <Source> est défini sur une variable qui n'est pas de type message. |
build |
Erreurs de déploiement
Aucune.
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | jsonattack.JTP-SecureRequest.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
Exemple de règle de défaillance
<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>
Les types de règles JSONThreatProtection définissent les codes d'erreur suivants :
Règle JSONtoXML
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 |
La charge utile d'entrée (JSON) est vide ou la valeur d'entrée (JSON) transmise par règle JSON vers XML n'est pas valide ou est incorrecte. | build |
steps.jsontoxml.InCompatibleTypes |
500 |
Cette erreur se produit si le type de la variable définie dans l'élément <Source> et l'élément <OutputVariable> ne sont pas identiques. Il est obligatoire que le type des variables contenues dans l'élément <Source> corresponde à celui de l'élément <OutputVariable> . Les types valides sont message et string . |
build |
steps.jsontoxml.InvalidSourceType |
500 |
Cette erreur se produit si le type de la variable utilisée pour définir l'élément <Source> n'est pas valide. Les types de variables valides sont message et string . |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 |
Cette erreur se produit si la variable spécifiée dans l'élément <Source> de la stratégie JSON vers XML est de type chaîne et que l'élément <OutputVariable> n'est pas défini.
L'élément <OutputVariable> est obligatoire lorsque la variable définie dans l'élément <Source> est de type chaîne. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Cette erreur se produit si la variable message spécifiée dans l'élément <Source> de la stratégie JSON est XML :
|
build |
Erreurs de déploiement
Aucune.
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | jsontoxml.JSON-to-XML-1.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Exemple de règle de défaillance
<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>
Règle KeyValueMapOperations
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
Cette erreur se produit si l'attribut |
build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidIndex |
Si l'attribut index spécifié dans l'élément <Get> de la règle KeyValueMapOperations est égal à zéro ou à un nombre négatif, le déploiement du proxy d'API échoue. L'index commence à partir de 1 . Un index égal à zéro ou à un entier négatif est donc considéré comme non valide.
|
build |
KeyIsMissing |
Cette erreur se produit si l'élément <Key> est complètement manquant ou si l'élément <Parameter> est manquant dans l'élément <Key> sous l'élément <Entry> de l'élément <InitialEntries> de la règle KeyValueMapOperations .
|
build |
ValueIsMissing |
Cette erreur se produit si l'élément <Value> est manquant sous l'élément <Entry> de l'élément <InitialEntries> de la règle KeyValueMapOperations . |
build |
Règle de journalisation des messages
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 |
Voir la chaîne d'erreur. |
steps.messagelogging.InvalidGoogleCloudLogName |
500 |
Cette erreur est générée lorsque LogName ne renvoie pas le format valide de projects/{project}/logs/{logid}. |
steps.messagelogging.InvalidJsonMessage |
500 |
Cette erreur est générée lorsque la valeur d'attributs contentType a été choisie en tant que application/json , mais que la valeur réelle du message n'est pas une chaîne JSON valide. |
steps.messagelogging.TooManyPendingLoggingRequest |
500 |
Cette erreur est générée lorsque plus de 2 500 requêtes en attente doivent être écrites dans Cloud Logging. Cette limite de 2 500 requêtes s'applique à chaque pod d'exécution Apigee. Par exemple, si le trafic est réparti sur deux instances de pods d'exécution Apigee, la limite effective est de 5 000 requêtes. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidProtocol |
Le déploiement de la règle MessageLogging peut échouer et renvoyer cette erreur si le protocole spécifié dans l'élément <Protocol> n'est pas valide. Les protocoles valides sont TCP et UDP.
Pour l'envoi de messages syslog via TLS/SSL, seul TCP est accepté. |
build |
InvalidPort |
Le déploiement de la règle MessageLogging peut échouer et renvoyer cette erreur si le numéro de port n'est pas spécifié dans l'élément <Port> ou s'il n'est pas valide. Le numéro de port doit être un entier supérieur à zéro. |
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | messagelogging.ML-LogMessages.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
Exemple de règle de défaillance
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
Règle OASValidation
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.oasvalidation.Failed |
400 |
Le corps du message de la requête ne peut pas être validé par rapport à la spécification OpenAPI fournie. |
steps.oasvalidation.Failed |
500 |
Le corps du message de réponse ne peut pas être validé par rapport à la spécification OpenAPI fournie. |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
La variable spécifiée dans l'élément |
steps.oasvalidation.NonMessageVariable |
500 |
L'élément |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | |
---|---|---|
ResourceDoesNotExist |
La spécification OpenAPI référencée dans l'élément <OASResource> n'existe pas.
|
|
ResourceCompileFailed |
La spécification OpenAPI incluse dans le déploiement contient des erreurs qui empêchent sa compilation. Cela indique généralement que la spécification n'est pas une spécification OpenAPI 3.0 correctement formulée. | |
BadResourceURL |
La spécification OpenAPI référencée dans l'élément <OASResource> ne peut pas être traitée. Cela peut se produire si le fichier n'est pas un fichier JSON ou YAML, ou si l'URL du fichier n'est pas spécifiée correctement.
|
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variable | Description | Exemple |
---|---|---|
fault.category |
Catégorie de l'erreur. Lorsque la règle refuse une requête, cette variable conserve toujours la valeur Step . |
fault.category = "Step" |
fault.name |
Nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "ResourceDoesNotExist" |
fault.reason |
Cause de l'erreur. Il s'agit d'une chaîne lisible expliquant la raison de l'erreur. | OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]" |
fault.subcategory |
Sous-catégorie de l'erreur. Lorsque la règle refuse une requête, cette variable conserve toujours la valeur OASValidationFailure . |
fault.subcategory = "OASValidationFailure" |
OASValidation.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | OASValidation.myoaspolicy.failed = true |
Règle PopulateCache
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Se produit quand |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 |
Une entrée ne peut pas être mise en cache. L'objet de message en cache n'est pas une instance d'une classe Serializable. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidCacheResourceReference |
Cette erreur se produit si l'élément <CacheResource> de la règle PopulateCache est défini sur un nom qui n'existe pas dans l'environnement où le proxy d'API est déployé. |
build |
CacheNotFound |
Le cache spécifié dans l'élément <CacheResource> n'existe pas. |
build |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | populatecache.POP-CACHE-1.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Exemple de règle de défaillance
<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>
Règle LookupCache
Cette section décrit les messages d'erreur et les variables de flux définies lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance pour un proxy. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Préfixe de code d'erreur
ND
Erreurs d'exécution
Cette règle ne génère aucune erreur d'exécution.
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidCacheResourceReference |
Cette erreur se produit si l'élément <CacheResource> est défini sur un nom qui n'existe pas dans l'environnement dans lequel le proxy d'API est déployé. |
build |
InvalidTimeout |
Si l'élément <CacheLookupTimeoutInSeconds> est défini sur un nombre négatif, le déploiement du proxy d'API échoue. |
build |
CacheNotFound |
Cette erreur se produit si le cache spécifique mentionné dans le message d'erreur n'a pas été créé sur un composant du processeur de messages spécifique. | build |
Variables de panne
ND
Exemple de réponse d'erreur
ND
Règle InvalidateCache
Cette section décrit les messages d'erreur et les variables de flux définies lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance pour un proxy. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Préfixe de code d'erreur
ND
Erreurs d'exécution
Cette règle ne génère aucune erreur d'exécution.
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidCacheResourceReference |
Cette erreur se produit si l'élément <CacheResource> de la règle InvalidateCache est défini sur un nom qui n'existe pas dans l'environnement où le proxy d'API est déployé. |
build |
CacheNotFound |
Cette erreur se produit si le cache spécifique mentionné dans le message d'erreur n'a pas été créé sur un composant du processeur de messages spécifique. | build |
Variables de panne
ND
Exemple de réponse d'erreur
ND
Règle ResponseCache
Cette section décrit les messages d'erreur et les variables de flux définies lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance pour un proxy. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Préfixe de code d'erreur
ND
Erreurs d'exécution
Cette règle ne génère aucune erreur d'exécution.
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidTimeout |
Si l'élément <CacheLookupTimeoutInSeconds> d'une règle ResponseCache est défini sur un nombre négatif, le déploiement du proxy d'API échoue. |
build |
InvalidCacheResourceReference |
Cette erreur se produit si l'élément <CacheResource> d'une règle ResponseCache est défini sur un nom qui n'existe pas dans l'environnement où le proxy d'API est déployé. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Cette erreur se produit si la même règle ResponseCache est associée à plusieurs chemins de requête dans tous les flux d'un proxy d'API. |
build |
ResponseCacheStepAttachmentNotAllowedResp |
Cette erreur se produit si la même règle ResponseCache est associée à plusieurs chemins de réponse dans les flux d'un proxy d'API. |
build |
InvalidMessagePatternForErrorCode |
Cette erreur se produit si les éléments <SkipCacheLookup> ou <SkipCachePopulation> d'une règle ResponseCache contiennent une condition non valide. |
build |
CacheNotFound |
Cette erreur se produit si le cache spécifique mentionné dans le message d'erreur n'a pas été créé sur un composant du processeur de messages spécifique. | build |
Variables de panne
ND
Exemple de réponse d'erreur
ND
Règle OAuthV2
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Généré par des opérations |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 |
Le jeton d'accès est arrivé à expiration. |
|
steps.oauth.v2.access_token_not_approved |
401 |
Le jeton d'accès a été révoqué. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 |
La ressource demandée n'existe dans aucun des produits d'API associés au jeton d'accès. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 |
La règle était censée trouver un jeton d'accès dans une variable spécifiée dans l'élément <AccessToken> , mais la variable n'a pas pu être résolue. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 |
La règle était censée trouver un code d'autorisation dans une variable spécifiée dans l'élément <Code> , mais la variable n'a pas pu être résolue. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 |
La règle était censée trouver l'ID client dans une variable spécifiée dans l'élément <ClientId> , mais la variable n'a pas pu être résolue. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 |
La règle était censée trouver un jeton d'actualisation dans une variable spécifiée dans l'élément <RefreshToken> , mais la variable n'a pas pu être résolue. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 |
La règle était censée trouver un jeton dans une variable spécifiée dans l'élément <Tokens> , mais la variable n'a pas pu être résolue. |
|
steps.oauth.v2.InsufficientScope |
403 | Le champ d'application du jeton d'accès présenté dans la requête ne correspond pas à celui spécifié dans la règle VerifyAccessToken. Pour en savoir plus sur le champ d'application, consultez la page Utiliser des champs d'application OAuth2. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 |
Le jeton d'accès envoyé à partir du client n'est pas valide. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
Ce nom d'erreur est renvoyé lorsque la propriété |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | Ce nom d'erreur est utilisé pour plusieurs types d'erreurs, généralement pour des paramètres manquants ou incorrects envoyés dans la requête. Si <GenerateResponse> est défini sur false , utilisez des variables d'erreur (décrites ci-dessous) pour récupérer des informations sur l'erreur, telles que son nom et sa cause. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 |
L'entête d'autorisation ne contient pas le mot Bearer , qui est obligatoire. Exemple : Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
Le proxy ou l'opération d'API en cours d'exécution ne se trouve pas dans le produit associé au jeton d'accès. Conseil : Assurez-vous que le produit associé au jeton d'accès est correctement configuré. Par exemple, si vous utilisez des caractères génériques dans les chemins d'accès aux ressources, veillez à les utiliser correctement. Consultez la section Gérer les produits API pour plus de détails. Pour en savoir plus sur les causes de cette erreur, consultez également l'article Lors de la vérification d'un jeton d'accès, l'erreur "Invalid API call as no apiproduct match found" (Appel API non valide car aucune correspondance apiproduct trouvée) apparaît. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Ce nom d'erreur est renvoyé lorsque la propriété |
|
steps.oauth.v2.InvalidParameter |
500 |
La règle doit spécifier un jeton d'accès ou un code d'autorisation, mais pas les deux. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 |
L'élément <Tokens>/<Token> nécessite de spécifier le type de jeton (par exemple, refreshtoken ). Si le client transmet le mauvais type, cette erreur est générée. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 |
Le type de réponse est token , mais aucun type d'attribution n'est spécifié. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Le client a spécifié un type d'attribution non compatible avec la règle (non répertorié dans l'élément |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
Erreurs d'exécution spécifiques aux jetons JWT
Les codes d'erreur et les descriptions d'exécution pour les flux de jetons d'authentification JWT dépendent du contexte du flux OAuth2 :
- Si le contexte du flux est la génération ou l'actualisation de jetons, consultez la section Codes d'erreur pour la génération et l'actualisation des jetons JWT ci-dessous.
- Pour le flux de vérification des jetons, consultez la section Codes d'erreur pour les flux de vérification des jetons ci-dessous.
Codes d'erreur pour les flux de génération et d'actualisation des jetons JWT
Pour les flux OAuth2 qui génèrent ou actualisent des jetons JWT, les réponses d'erreur se conforment aux réponses d'erreur spécifiées dans le document RFC6749. Pour en savoir plus, consultez la Section 5.2 Réponse d'erreur.
Codes d'erreur pour le flux de vérification des jetons
Les codes d'erreur listés dans le tableau suivant ne s'appliquent qu'à l'opération VerifyAccessToken.
Code d'erreur | État HTTP | Cause | Généré par des opérations |
---|---|---|---|
oauth.v2.JWTSigningFailed |
401 |
La règle n'a pas pu signer le jeton JWT. |
|
oauth.v2.InvalidValueForJWTAlgorithm |
401 |
Cette erreur se produit lorsque l'algorithme n'est pas présent dans le jeton d'accès JWT ou lorsque la valeur n'est pas acceptée. |
|
oauth.v2.InsufficientKeyLength |
401 |
Se produit à la génération du jeton JWT, pour une clé inférieure à la taille minimale des algorithmes HS384 ou HS512 |
|
oauth.v2.JWTAlgorithmMismatch |
401 |
L'algorithme spécifié dans la règle "Générer" ne correspond pas à celui attendu dans la règle "Vérifier". Les algorithmes spécifiés doivent correspondre. |
|
oauth.v2.JWTDecodingFailed |
401 |
La règle n'a pas pu décoder le jeton JWT. Le jeton JWT est peut-être corrompu. |
|
oauth.v2.MissingMandatoryClaimsInJWT |
401 |
Se produit lorsque les revendications requises ne sont pas présentes dans le jeton d'accès JWT |
|
oauth.v2.InvalidJWTSignature |
401 |
Cette erreur se produit lorsque la signature du jeton d'accès JWT n'a pas pu être vérifiée ou lorsque la signature n'est pas valide. |
|
oauth.v2.InvalidTypeInJWTHeader |
401 |
Se produit lorsque le type de jeton JWT n'est pas at+Jwt |
|
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause |
---|---|
InvalidValueForExpiresIn |
Pour l'élément |
InvalidValueForRefreshTokenExpiresIn |
Pour l'élément <RefreshTokenExpiresIn> , les valeurs valides sont des entiers positifs et -1 . |
InvalidGrantType |
Un type d'attribution non valide est spécifié dans l'élément <SupportedGrantTypes> . Pour obtenir la liste des types valides, consultez la documentation de référence sur les règles. |
ExpiresInNotApplicableForOperation |
Assurez-vous que les opérations spécifiées dans l'élément <Operations> sont compatibles avec l'expiration. Par exemple, l'opération VerifyToken ne l'est pas. |
RefreshTokenExpiresInNotApplicableForOperation |
Assurez-vous que les opérations spécifiées dans l'élément <Operations> sont compatibles avec l'expiration du jeton d'actualisation. Par exemple, ce n'est pas le cas de l'opération VerifyToken. |
GrantTypesNotApplicableForOperation |
Assurez-vous que les types d'autorisation spécifiés dans <SupportedGrantTypes> sont compatibles avec l'opération spécifiée. |
OperationRequired |
Vous devez spécifier une opération dans cette règle à l'aide de l'élément |
InvalidOperation |
Vous devez spécifier une opération valide dans cette règle à l'aide de l'élément |
TokenValueRequired |
Vous devez spécifier une valeur de jeton <Token> dans l'élément <Tokens> . |
Erreurs de déploiement spécifiques aux jetons JWT
Ces erreurs de déploiement sont spécifiques aux règles qui utilisent des opérations de jeton JWT.
Nom de l'erreur | Cause |
---|---|
InvalidValueForAlgorithm |
L'algorithme spécifié dans l'élément <Algorithm> ne figure pas dans la liste des algorithmes disponibles ou n'est pas présent. |
MissingKeyConfiguration |
Les éléments requis <SecretKey> , <PrivateKey> ou <PublicKey> sont manquants, selon l'algorithme utilisé. |
EmptyValueElementForKeyConfiguration |
L'élément enfant requis <Value> n'est pas défini dans les éléments <PrivateKey> , <PublicKey> ou <SecretKey> |
InvalidKeyConfiguration |
L'élément <PrivateKey> n'est pas utilisé avec des algorithmes de la famille RSA ou l'élément <SecretKey> n'est pas utilisé avec des algorithmes de la famille HS. |
EmptyRefAttributeForKeyconfiguration |
L'attribut ref de l'élément enfant <Value> des éléments <PrivateKey> , <PublicKey> ou <SecretKey> est vide. |
InvalidVariableNameForKey |
Le nom de la variable de flux spécifié dans l'attribut ref de l'élément enfant <Value> des éléments <PrivateKey> , <PublicKey> ou <SecretKey> ne contient pas le préfixe private . |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.GenerateAccesstoken.fault.name = invalid_request |
oauthV2.policy_name.fault.cause |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Exemple de réponse d'erreur
Ces réponses sont renvoyées au client si l'élément <GenerateResponse>
est défini sur true.
Si <GenerateResponse>
est défini sur true, la règle renvoie des erreurs dans ce format pour les opérations générant des jetons et des codes. Pour obtenir la liste complète, consultez la documentation de référence sur les réponses aux erreurs HTTP OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Si <GenerateResponse>
est défini sur true, la règle renvoie des erreurs dans ce format pour les opérations de vérification et de validation. Pour obtenir la liste complète, consultez la documentation de référence sur les réponses aux erreurs HTTP OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Exemple de règle de défaillance
<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>
Règle GetOAuthV2Info
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle. Les noms d'erreur indiqués ci-dessous sont les chaînes attribuées à la variable fault.name
en cas d'erreur. Pour plus d'informations, consultez la section des variables de codes d'erreur ci-dessous.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
Le jeton d'accès envoyé à la règle a expiré. |
steps.oauth.v2.authorization_code_expired |
500 |
Le code d'autorisation envoyé à la règle a expiré. |
steps.oauth.v2.invalid_access_token |
500 |
Le jeton d'accès envoyé à la règle n'est pas valide. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 |
L'ID client envoyé à la règle n'est pas valide. |
steps.oauth.v2.invalid_refresh_token |
500 |
Le jeton d'actualisation envoyé à la règle n'est pas valide. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 |
Le code d'autorisation envoyé à la règle n'est pas valide. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Pour plus d'informations sur la résolution de cette erreur, consultez l'article Lors de la vérification d'un jeton d'accès, l'erreur "Invalid API call as no apiproduct match found" (Appel API non valide car aucune correspondance apiproduct trouvée) apparaît. |
steps.oauth.v2.refresh_token_expired |
500 |
Le jeton d'actualisation envoyé à la règle a expiré. |
Erreurs de déploiement
Reportez-vous au message indiqué dans l'interface utilisateur pour en savoir plus sur les erreurs de déploiement.
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Exemple de réponse d'erreur
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Exemple de règle de défaillance
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
Règle SetOAuthV2Info
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
Le jeton d'accès envoyé à la règle a expiré. |
steps.oauth.v2.invalid_access_token |
500 |
Le jeton d'accès envoyé à la règle n'est pas valide. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Pour plus d'informations sur la résolution de cette erreur, consultez l'article Lors de la vérification d'un jeton d'accès, l'erreur "Invalid API call as no apiproduct match found" (Appel API non valide car aucune correspondance apiproduct trouvée) apparaît. |
Erreurs de déploiement
Reportez-vous au message indiqué dans l'interface utilisateur pour en savoir plus sur les erreurs de déploiement.
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Exemple de règle de défaillance
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
Règle DeleteOAuthV2Info
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 |
Le jeton d'accès envoyé à la règle n'est pas valide. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 |
Le code d'autorisation envoyé à la règle n'est pas valide. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Pour plus d'informations sur la résolution de cette erreur, consultez l'article Lors de la vérification d'un jeton d'accès, l'erreur "Invalid API call as no apiproduct match found" (Appel API non valide car aucune correspondance apiproduct trouvée) apparaît. |
Erreurs de déploiement
Reportez-vous au message indiqué dans l'interface utilisateur pour en savoir plus sur les erreurs de déploiement.
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Exemple de règle de défaillance
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
Règle PythonScript
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 |
La règle PythonScript peut générer plusieurs types d'erreurs différents ScriptExecutionFailed. Les types d'erreurs courants incluent NameError et ZeroDivisionError. | build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidResourceUrlFormat |
Si le format de l'URL de la ressource spécifiée dans l'élément <ResourceURL> ou <IncludeURL> de la règle PythonScript n'est pas valide, alors le déploiement du proxy d'API échoue. |
build |
InvalidResourceUrlReference |
Si les éléments <ResourceURL> ou <IncludeURL> font référence à un fichier PythonScript qui n'existe pas, alors le déploiement du proxy d'API échoue.
Le fichier source référencé doit exister au niveau du proxy d'API, de l'environnement ou de l'organisation. |
build |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | pythonscript.PythonScript-1.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Exemple de règle de défaillance
<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>
Règles de quotas
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 |
Cette erreur se produit si l'élément <Interval> n'est pas défini dans la règle Quota . Cet élément est obligatoire et permet de spécifier l'intervalle de temps applicable au quota. L'intervalle de temps peut être exprimé en minutes, en heures, en jours, en semaines ou en mois, comme défini dans l'élément <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 |
Cette erreur se produit si l'élément <TimeUnit> n'est pas défini dans la règle Quota . Cet élément est obligatoire et permet de spécifier l'unité de temps applicable au quota. L'intervalle de temps peut être exprimé en minutes, en heures, en jours, en semaines ou en mois. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Cette erreur se produit si la valeur de l'élément <MessageWeight> spécifiée via une variable de flux n'est pas valide (valeur non entière). |
build |
policies.ratelimit.QuotaViolation |
500 |
La limite de quota a été dépassée. | N/A |
Erreurs de déploiement
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidQuotaInterval |
Si l'intervalle de quota spécifié dans l'élément <Interval> n'est pas un entier, le déploiement du proxy d'API échoue. Par exemple, si l'intervalle de quota spécifié est de 0,1 dans l'élément <Interval> , le déploiement du proxy d'API échoue.
|
build |
InvalidQuotaTimeUnit |
Si l'unité de temps spécifiée dans l'élément <TimeUnit> n'est pas acceptée, le déploiement du proxy d'API échoue. Les unités de temps acceptées sont minute , hour , day , week et month .
|
build |
InvalidQuotaType |
Si le type de quota spécifié par l'attribut type dans l'élément <Quota> n'est pas valide, le déploiement du proxy d'API échoue. Les types de quotas acceptés sont default , calendar , flexi et rollingwindow .
|
build |
InvalidStartTime |
Si le format de l'heure spécifiée dans l'élément <StartTime> n'est pas valide, le déploiement du proxy d'API échoue. Le format valide est yyyy-MM-dd HH:mm:ss . Il correspond au format de date et d'heure ISO 8601. Par exemple, si l'heure spécifiée dans l'élément <StartTime> est 7-16-2017 12:00:00 , le déploiement du proxy d'API échoue.
|
build |
StartTimeNotSupported |
Si l'élément <StartTime> est spécifié et que le type de quota n'est pas calendar , le déploiement du proxy d'API échoue. L'élément <StartTime> n'est disponible que pour le type de quota calendar . Par exemple, si l'attribut type est défini sur flexi ou rolling window dans l'élément <Quota> , le déploiement du proxy d'API échoue.
|
build |
InvalidTimeUnitForDistributedQuota |
Si l'élément <Distributed> est défini sur true et que l'élément <TimeUnit> est défini sur second , le déploiement du proxy d'API échoue. L'unité de temps second n'est pas valide pour un quota distribué. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Si la valeur spécifiée pour l'élément <SyncIntervalInSeconds> au sein de l'élément <AsynchronousConfiguration> d'une règle Quota est inférieure à zéro, le déploiement du proxy d'API échoue. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Si la valeur de l'élément <AsynchronousConfiguration> est définie sur true dans une règle Quota , dont la configuration asynchrone est définie à l'aide de l'élément <AsynchronousConfiguration> , le déploiement du proxy d'API échoue. |
build |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | ratelimit.QT-QuotaPolicy.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Exemple de règle de défaillance
<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>
Règle ResetQuota
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
La règle Quota spécifiée dans l'élément <Quota> de la règle ResetQuota n'est pas définie dans le proxy d'API et n'est donc pas disponible pendant le flux. L'élément <Quota> est obligatoire et identifie la règle Quota cible dont le compteur doit être mis à jour via la règle ResetQuota . |
build |
policies.resetquota.FailedToResolveAllowCountRef |
ND | La référence à la variable contenant le nombre autorisé dans l'élément <Allow> de la règle ne peut pas être transformée en valeur. Cet élément est obligatoire et spécifie le montant nécessaire pour diminuer le compteur de quotas. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
La variable référencée par l'attribut ref dans l'élément <Quota> ne peut pas être résolue. |
build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidCount |
Si le nombre spécifié dans l'élément <Allow> de la règle ResetQuota n'est pas un entier, le déploiement du proxy d'API échoue.
|
build |
RaiseFaultpolicy
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.raisefault.RaiseFault |
500 |
Voir la chaîne d'erreur. |
Erreurs de déploiement
Aucune.
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | raisefault.RF-ThrowError.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Règle de protection contre les expressions régulières
Cette section décrit les codes et messages d'erreur renvoyés ainsi que les variables de défaillance définis par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Si vous souhaitez capturer une erreur et générer votre propre erreur personnalisée, définissez l'attribut continueOnError="true"
sur l'élément racine de la règle.
Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | 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} |
Erreurs de déploiement
Code d'erreur | Message | Corriger |
---|---|---|
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 |
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Où : | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel que répertorié dans le tableau ci-dessus. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
Règle SAMLAssertion
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
SourceNotConfigured |
Un ou plusieurs des éléments suivants de la règle ValidateSAMLAssertion ne sont pas définis ou sont vides : <Source> , <XPath> , <Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Si l'élément <TrustStore> est vide ou non spécifié dans la règle ValidateSAMLAssertion , le déploiement du proxy d'API échoue.
Vous devez indiquer un truststore valide.
|
build |
NullKeyStoreAlias |
Si l'élément enfant <Alias> est vide ou non spécifié dans l'élément <Keystore> de la règle GenerateSAMLAssertion , le déploiement du proxy d'API échoue. Vous devez saisir un alias de keystore valide.
|
build |
NullKeyStore |
Si l'élément enfant <Name> est vide ou non spécifié dans l'élément <Keystore> de la règle GenerateSAMLAssertion , le déploiement du proxy d'API échoue. Veuillez indiquer un nom de keystore valide.
|
build |
NullIssuer |
Si l'élément <Issuer> est vide ou non spécifié dans la règle GenerateSAMLAssertion , le déploiement du proxy d'API échoue. Vous devez saisir une valeur <Issuer> valide.
|
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur . Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Pour une configuration de règle d'assertion SAML valide, le préfixe d'erreur est ValidateSAMLAssertion . |
GenerateSAMLAssertion.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Exemple de règle de défaillance
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
Règle ServiceCallout
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Cette erreur peut se produire dans les cas suivants :
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 |
La variable Request spécifiée dans la règle n'est pas du type Message . Par exemple, s'il s'agit d'une chaîne ou d'un type autre qu'un message, cette erreur s'affiche. |
build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 |
La variable Request spécifiée dans la règle n'est pas du type RequestMessage . Par exemple, s'il s'agit d'un type de réponse, cette erreur s'affiche. |
build |
googletoken.EmptyIDTokenAudience |
500 |
|
|
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
Cette erreur peut se produire si le proxy d'API est configuré avec l'élément <Authentication>. Les causes possibles sont les suivantes :
<GoogleAccessToken> est utilisé et un ou plusieurs champs d'application non valides ont été fournis. Par exemple, recherchez des fautes de frappe ou les champs d'application vides.
Pour Apigee hybrid uniquement, consultez le journal du conteneur d'exécution et recherchez |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
URLMissing |
L'élément <URL> dans <HTTPTargetConnection> est manquant ou vide. |
build |
ConnectionInfoMissing |
Cette erreur se produit si la règle ne comporte pas d'élément <HTTPTargetConnection> ou <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Cette erreur se produit si la valeur <Timeout> est négative ou égale à zéro. |
build |
FAILED_PRECONDITION |
Cette erreur se produit si le compte de service est manquant lorsque le proxy est configuré avec la balise <Authentication>.
Exemple : Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service account identity, but one was not provided with the request. |
|
PERMISSION_DENIED |
Cette erreur se produit en cas de problème d'autorisation avec le compte de service si le proxy est configuré avec le tag <Authentication>. Causes possibles :
|
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | servicecallout.SC-GetUserData.failed = true |
Exemple de réponse d'erreur
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Exemple de règle de défaillance
<FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Règle SOAPMessageValidation
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
Cette erreur se produit si une variable spécifiée dans l'élément
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Cette erreur se produit si l'élément Les variables de type Message représentent des requêtes et des réponses HTTP entières. Les variables de flux Apigee intégrées |
build |
steps.messagevalidation.Failed |
500 | Cette erreur se produit si la règle SOAPMessageValidation ne parvient pas à valider la charge utile du message d'entrée par rapport au schéma XSD ou à la définition WSDL. Elle se produira également si le message de charge utile contient des syntaxes JSON ou XML incorrectes. | build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidResourceType |
L'élément <ResourceURL> de la règle SOAPMessageValidation est défini sur un type de ressource non compatible avec la règle.
|
build |
ResourceCompileFailed |
Le script de ressource référencé dans l'élément <ResourceURL> de la règle SOAPMessageValidation contient une erreur qui empêche sa compilation.
|
build |
RootElementNameUnspecified |
L'élément <Element> de la règle SOAPMessageValidation ne contient pas le nom de l'élément racine. |
build |
InvalidRootElementName |
L'élément <Element> de la règle SOAPMessageValidation contient un nom d'élément racine qui ne respecte pas les règles XML de dénomination d'élément valide. |
build |
Règle SpikeArrest
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
Cette erreur se produit si la référence à la variable contenant le paramètre de taux dans l'élément <Rate> ne peut pas être résolue en une valeur comprise dans la règle SpikeArrest . Cet élément est obligatoire et permet de spécifier le taux d'arrêt des pics sous la forme intpm ou intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Cette erreur se produit si la valeur spécifiée pour l'élément <MessageWeight> via une variable de flux n'est pas valide (valeur non entière). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
La limite de débit est dépassée. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidAllowedRate |
Si le taux d'arrêt des pics spécifié dans l'élément <Rate> de la règle SpikeArrest n'est pas un entier, ou si le taux ne contient pas ps ou pm en tant que suffixe, le déploiement du proxy d'API échoue. |
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Exemple de réponse d'erreur
Vous trouverez ci-dessous un exemple de réponse d'erreur :
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Exemple de règle de défaillance
Vous trouverez ci-dessous un exemple de règle d'erreur pour gérer une erreur 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>
Règle VerifyAPIKey
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
keymanagement.service.consumer_key_missing_api_product_association |
400 |
Les identifiants de l'application ne sont pas associés à un produit d'API. Veuillez associer l'application de la clé à un produit d'API. Notez que cela s'applique à tous les types d'applications, tels que les applications de développeur et les applications AppGroup. |
keymanagement.service.DeveloperStatusNotActive |
401 |
Le développeur ayant créé l'application de développeur disposant de la clé API que vous utilisez est à l'état "inactif". Lorsque l'état d'un développeur d'applications est défini sur "inactif", toutes les applications de développeur créées par ce développeur sont désactivées. Un administrateur disposant des autorisations appropriées (par exemple, administrateur de l'organisation) peut modifier l'état d'un développeur de différentes manières :
|
keymanagement.service.invalid_client-app_not_approved |
401 |
L'application de développeur associée à la clé API est révoquée. Une application révoquée ne peut accéder à aucun produit d'API et ne peut pas appeler n'importe quelle API gérée par Apigee. Un administrateur d'organisation peut modifier l'état d'une application de développeur à l'aide de l'API Apigee. Consultez la section generateKeyPairOrUpdateDeveloperAppStatus. |
oauth.v2.FailedToResolveAPIKey |
401 |
La règle s'attend à trouver la clé API dans une variable spécifiée dans l'élément <APIKey> de la règle. Cette erreur se produit lorsque la variable attendue n'existe pas (elle ne peut pas être résolue). |
oauth.v2.InvalidApiKey |
401 |
Une clé API a été reçue par Apigee, mais elle n'est pas valide. Lorsque Apigee recherche la clé dans sa base de données, elle doit correspondre exactement à celle qui a été envoyée dans la requête. Si l'API a fonctionné précédemment, assurez-vous que la clé n'a pas été générée de nouveau. Si la clé a été regénérée, cette erreur s'affiche si vous essayez d'utiliser l'ancienne clé. Pour plus d'informations, consultez la section Contrôler l'accès à vos API en enregistrant des applications. |
oauth.v2.InvalidApiKeyForGivenResource |
401 |
Une clé API a été reçue par Apigee et elle est valide. Toutefois, elle ne correspond pas à une clé approuvée dans l'application de développement associée à votre proxy d'API via un Produit. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause |
---|---|
SpecifyValueOrRefApiKey |
Aucune valeur ou clé n'est spécifiée pour l'élément <APIKey> . |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | oauthV2.VK-VerifyAPIKey.failed = true |
Exemple de réponses d'erreur
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Exemple de règle de défaillance
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Règle VerifyIAM
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
Impossible de résoudre la variable de flux fournie dans la source d'identifiants. |
steps.verifyiam.CredentialValueNotProvided |
400 |
Identifiant introuvable. Si la référence à la source d'identifiants n'est pas fournie, nous examinons l'emplacement par défaut, comme l'en-tête d'autorisation. |
steps.verifyiam.Forbidden |
403 |
La requête n'a pas pu être transmise en raison d'autorisations insuffisantes, d'un champ d'application d'accès manquant ou de tout autre problème. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
Problème lié à la requête d'authentification à IAM. Le producteur de l'API doit corriger cette erreur en fonction des informations fournies dans la réponse d'erreur. |
steps.verifyiam.Unauthorized |
401 |
Problème lié aux identifiants, par exemple une valeur non valide ou expirée. |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
Erreur interne. |
Erreurs de déploiement
Cette règle ne renvoie aucune erreur de déploiement spécifique.
Variables de panne
Ces variables sont définies lorsque cette règle déclenche une erreur au moment de l'exécution.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | verifyiam.Verify-IAMToken.failed = true |
Règle VerifyJWS
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Se produit quand |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 |
Se produit lorsque la règle de validation comporte plusieurs algorithmes. |
steps.jws.AlgorithmMismatch |
401 |
L'algorithme spécifié dans l'en-tête par la règle Generate ne correspond pas à celui attendu dans la règle Verify . Les algorithmes spécifiés doivent correspondre. |
steps.jws.ContentIsNotDetached |
401 |
<DetachedContent> est spécifié lorsque le fichier JWS ne contient pas de charge utile de contenu dissociée. |
steps.jws.FailedToDecode |
401 |
La règle n'a pas pu décoder le jeton JWS. Le jeton JWS est peut-être corrompu. |
steps.jws.InsufficientKeyLength |
401 |
Pour une clé inférieure à 32 octets pour l'algorithme HS256 |
steps.jws.InvalidClaim |
401 |
En cas de problème de revendication ou de revendication manquante, de problème d'en-tête ou d'en-tête manquant. |
steps.jws.InvalidCurve |
401 |
La courbe spécifiée par la clé n'est pas valide pour l'algorithme à courbe elliptique. |
steps.jws.InvalidJsonFormat |
401 |
JSON non valide trouvé dans l'en-tête JWS. |
steps.jws.InvalidJws |
401 |
Cette erreur se produit en cas d'échec de la validation de la signature du jeton JWS. |
steps.jws.InvalidPayload |
401 |
La charge utile JWS n'est pas valide. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> est omis et le fichier JWS possède une charge utile de contenu dissociée. |
steps.jws.KeyIdMissing |
401 |
La règle Verify utilise un JWKS en tant que source pour les clés publiques, mais le jeton JWT signé n'inclut pas la propriété kid dans l'en-tête. |
steps.jws.KeyParsingFailed |
401 |
Impossible d'analyser la clé publique à partir des informations de clé fournies. |
steps.jws.MissingPayload |
401 |
La charge utile JWS est manquante. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Se produit lorsque le jeton JWS omet l'en-tête de l'algorithme. |
steps.jws.NoMatchingPublicKey |
401 |
La règle Verify utilise un JWKS en tant que source pour les clés publiques, mais le kid du jeton JWS signé n'est pas répertorié dans le JWKS. |
steps.jws.UnhandledCriticalHeader |
401 |
Un en-tête trouvé par la règle de vérification JWS dans l'en-tête crit n'est pas répertorié dans KnownHeaders . |
steps.jws.UnknownException |
401 |
Une exception inconnue s'est produite. |
steps.jws.WrongKeyType |
401 |
Type de clé spécifié incorrect. Par exemple, si vous spécifiez une clé RSA pour un algorithme à courbe elliptique ou une clé à courbe elliptique pour un algorithme RSA. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Se produit quand |
---|---|
InvalidAlgorithm |
Les seules valeurs valides sont : RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Autres erreurs de déploiement possibles. |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "TokenExpired" |
JWS.failed |
Toutes les règles JWS définissent la même variable en cas d'échec. | jws.JWS-Policy.failed = true |
Exemple de réponse d'erreur
Pour le traitement des exceptions, la meilleure pratique consiste à intercepter la partie errorcode
de la réponse. Ne vous fiez pas au texte dans faultstring
, car il pourrait changer.
Exemple de règle de défaillance
<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>
Règle VerifyJWT
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Se produit quand |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Se produit lorsque la règle de validation comporte plusieurs algorithmes. |
steps.jwt.AlgorithmMismatch |
401 |
L'algorithme spécifié dans la règle Generate ne correspond pas à celui attendu dans la règle Verify . Les algorithmes spécifiés doivent correspondre. |
steps.jwt.FailedToDecode |
401 |
La règle n'a pas pu décoder le jeton JWT. Le jeton JWT est peut-être corrompu. |
steps.jwt.GenerationFailed |
401 |
La règle n'a pas pu générer le jeton JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Pour une clé inférieure à 32 octets pour l'algorithme HS256, inférieure à 48 octets pour l'algorithme HS386 et inférieure à 64 octets pour l'algorithme HS512. |
steps.jwt.InvalidClaim |
401 |
En cas de problème de revendication ou de revendication manquante, de problème d'en-tête ou d'en-tête manquant. |
steps.jwt.InvalidConfiguration |
401 |
Les éléments <Algorithm> et <Algorithms> sont présents. |
steps.jwt.InvalidCurve |
401 |
La courbe spécifiée par la clé n'est pas valide pour l'algorithme à courbe elliptique. |
steps.jwt.InvalidIterationCount |
401 |
Le nombre d'itérations utilisé dans le jeton JWT chiffré n'est pas égal au nombre d'itérations spécifié dans la configuration de la stratégie VerifyJWT. Cette méthode ne s'applique qu'aux jetons JWT utilisant <PasswordKey> . |
steps.jwt.InvalidJsonFormat |
401 |
JSON non valide trouvé dans l'en-tête ou la charge utile. |
steps.jwt.InvalidKeyConfiguration |
401 |
La valeur JWKS de l'élément <PublicKey> n'est pas valide. Cela peut être dû au fait que le point de terminaison de l'URI JWKS n'est pas accessible à partir de l'instance Apigee. Testez la connectivité au point de terminaison en créant un proxy direct et en utilisant le point de terminaison JWKS comme cible. |
steps.jwt.InvalidSaltLength |
401 |
La longueur de salage utilisée dans le jeton JWT chiffré n'est pas égale à la longueur de salage spécifiée dans la configuration de la règle VerifyJWT. Cette méthode ne s'applique qu'aux jetons JWT utilisant <PasswordKey> . |
steps.jwt.InvalidPasswordKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidPrivateKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidPublicKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidSecretKey |
401 |
La clé spécifiée ne répond pas aux exigences. |
steps.jwt.InvalidToken |
401 |
Cette erreur se produit en cas d'échec de la validation de la signature du jeton JWT. |
steps.jwt.JwtAudienceMismatch |
401 |
La revendication d'audience a échoué lors de la vérification du jeton. |
steps.jwt.JwtIssuerMismatch |
401 |
La revendication d'émetteur a échoué lors de la vérification du jeton. |
steps.jwt.JwtSubjectMismatch |
401 |
La revendication de sujet a échoué lors de la vérification du jeton. |
steps.jwt.KeyIdMissing |
401 |
La règle Verify utilise un JWKS en tant que source pour les clés publiques, mais le jeton JWT signé n'inclut pas la propriété kid dans l'en-tête. |
steps.jwt.KeyParsingFailed |
401 |
Impossible d'analyser la clé publique à partir des informations de clé fournies. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Se produit lorsque le jeton JWT ne contient pas d'en-tête d'algorithme. |
steps.jwt.NoMatchingPublicKey |
401 |
La règle Verify utilise un JWKS en tant que source pour les clés publiques, mais le kid du jeton JWT signé n'est pas répertorié dans le JWKS. |
steps.jwt.SigningFailed |
401 |
Dans GenerateJWT, pour une clé inférieure à la taille minimale des algorithmes HS384 ou HS512 |
steps.jwt.TokenExpired |
401 |
La règle tente de vérifier un jeton expiré. |
steps.jwt.TokenNotYetValid |
401 |
Le jeton n'est pas encore valide. |
steps.jwt.UnhandledCriticalHeader |
401 |
Un en-tête trouvé par la règle de vérification JWT dans l'en-tête crit n'est pas répertorié dans KnownHeaders . |
steps.jwt.UnknownException |
401 |
Une exception inconnue s'est produite. |
steps.jwt.WrongKeyType |
401 |
Type de clé spécifié incorrect. Par exemple, si vous spécifiez une clé RSA pour un algorithme à courbe elliptique ou une clé à courbe elliptique pour un algorithme RSA. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
InvalidNameForAdditionalClaim |
Le déploiement échouera si la revendication utilisée dans l'élément enfant <Claim> de l'élément <AdditionalClaims> correspond à l'un des noms enregistrés suivants :
kid , iss , sub , aud , iat , exp , nbf ou jti ). |
build |
InvalidTypeForAdditionalClaim |
Si la revendication utilisée dans l'élément enfant <Claim> de l'élément <AdditionalClaims> n'est pas de type string , number , boolean ou map , le déploiement échouera. |
build |
MissingNameForAdditionalClaim |
Si le nom de la revendication n'est pas spécifié dans l'élément enfant <Claim> de l'élément <AdditionalClaims> , le déploiement échouera. |
build |
InvalidNameForAdditionalHeader |
Cette erreur se produit lorsque le nom de la revendication utilisé dans l'élément enfant <Claim> de l'élément <AdditionalClaims> est alg ou typ . |
build |
InvalidTypeForAdditionalHeader |
Si la revendication utilisée dans l'élément enfant <Claim> de l'élément <AdditionalClaims> n'est pas de type string , number , boolean ou map , le déploiement échouera. |
build |
InvalidValueOfArrayAttribute |
Cette erreur se produit lorsque la valeur de l'attribut de tableau dans l'élément enfant <Claim> de l'élément <AdditionalClaims> n'est pas définie sur true ou false . |
build |
InvalidValueForElement |
Si la valeur spécifiée dans l'élément <Algorithm> n'est pas une valeur acceptée, le déploiement échouera. |
build |
MissingConfigurationElement |
Cette erreur se produira si l'élément <PrivateKey> n'est pas utilisé avec les algorithmes de la famille RSA ou si l'élément <SecretKey> n'est pas utilisé avec les algorithmes de la famille HS. |
build |
InvalidKeyConfiguration |
Si l'élément enfant <Value> n'est pas défini dans les éléments <PrivateKey> ou <SecretKey> , le déploiement échouera. |
build |
EmptyElementForKeyConfiguration |
Si l'attribut "ref" de l'élément enfant <Value> des éléments <PrivateKey> ou <SecretKey> est vide ou non spécifié, le déploiement échouera. |
build |
InvalidConfigurationForVerify |
Cette erreur se produit si l'élément <Id> est défini dans l'élément <SecretKey> . |
build |
InvalidEmptyElement |
Cette erreur se produit si l'élément <Source> de la règle de vérification JWT est vide. S'il est présent, il doit être défini avec un nom de variable de flux Apigee.
|
build |
InvalidPublicKeyValue |
Si la valeur utilisée dans l'élément enfant <JWKS> de l'élément <PublicKey> n'utilise pas un format valide tel que spécifié dans le document RFC 7517, le déploiement échouera. |
build |
InvalidConfigurationForActionAndAlgorithm |
Si l'élément <PrivateKey> est utilisé avec des algorithmes de la famille HS ou si l'élément <SecretKey> est utilisé avec des algorithmes de la famille RSA, le déploiement échouera. |
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "InvalidToken" |
JWT.failed |
Toutes les règles JWT définissent la même variable en cas d'échec. | JWT.failed = true |
Exemple de réponse d'erreur
Pour le traitement des erreurs, la meilleure pratique consiste à intercepter la partie errorcode
de la réponse. Ne vous fiez pas au texte dans faultstring
, car il pourrait changer.
Exemple de règle de défaillance
<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>
Règle XMLThreatProtection
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 |
La règle XMLThreatProtection peut générer de nombreux types d'erreurs ExecutionFailed .
La plupart de ces erreurs se produisent lorsqu'un seuil spécifique défini dans la règle est dépassé. Ces types d'erreurs incluent les éléments suivants : longueur de nom d'élément, nombre d'enfants, profondeur de nœud, nombre d'attributs, longueur de nom d'attribut, et bien d'autres. Vous pouvez consulter la liste complète dans la section XMLThreatProtection policy runtime error troubleshooting.
|
build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Cette erreur se produit si la charge utile du message d'entrée spécifié par l'élément XMLThreatProtection de la règle <Source> n'est pas un document XML valide. |
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Cette erreur se produit si la variable message spécifiée dans l'élément <Source> :
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Cette erreur se produit si l'élément <Source> est défini sur une variable qui n'est pas de type message. |
build |
Erreurs de déploiement
Aucune.
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | xmlattack.XPT-SecureRequest.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Exemple de règle de défaillance
<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>
Règle XMLtoJSON
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
ExecutionFailed |
Cette erreur se produit lorsque la charge utile d'entrée (XML) est vide ou que le code XML d'entrée est mal configuré ou non valide. | build |
steps.xmltojson.InCompatibleTypes |
ExecutionFailed |
Cette erreur se produit si le type de la variable définie dans l'élément <Source> et l'élément <OutputVariable> ne sont pas identiques. La correspondance du type des variables contenues dans l'élément <Source> et l'élément <OutputVariable> est obligatoire.
|
build |
steps.xmltojson.InvalidSourceType |
ExecutionFailed |
Cette erreur se produit si le type de la variable utilisée pour définir l'élément <Source> n'est pas valide. Les types de variable valides sont message et chaîne. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
ExecutionFailed |
Cette erreur se produit si la variable spécifiée dans l'élément <Source> de la règle XML vers JSON est de type chaîne et que l'élément <OutputVariable> n'est pas défini.
L'élément <OutputVariable> est obligatoire lorsque la variable définie dans l'élément <Source> est de type chaîne. |
build |
steps.xmltojson.SourceUnavailable |
ExecutionFailed |
Cette erreur se produit si la variable message spécifiée dans l'élément <Source> de la règle XML vers JSON est l'une des suivantes :
|
build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
EitherOptionOrFormat |
Si l'un des éléments <Options> ou <Format> n'est pas déclaré dans la règle XML vers JSON, le déploiement du proxy d'API échoue. |
build |
UnknownFormat |
Si un format inconnu est défini sur l'élément <Format> de la règle XML vers JSON, le déploiement du proxy d'API échoue. Les formats prédéfinis sont les suivants : xml.com , yahoo , google et badgerFish .
|
build |
Variables de panne
Ces variables sont définies lorsqu'une erreur d'exécution se produit. Pour en savoir plus, consultez la section Ce que vous devez savoir sur les erreurs liées aux règles.
Variables | Lieu | Exemple |
---|---|---|
fault.name="fault_name" |
fault_name est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution ci-dessus. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | xmltojson.XMLtoJSON-1.failed = true |
Exemple de réponse d'erreur
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Exemple de règle de défaillance
<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>
Règle XSLTransform
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause | Corriger |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Cette erreur se produit si le message (ou la variable de chaîne) spécifié dans l'élément <Source> de la règle XSLTransform est hors du champ d'application (non disponible dans le flux spécifique où la règle est exécutée) ou s'il ne peut pas être résolu (non défini).
|
build |
steps.xsl.XSLEvaluationFailed |
500 |
Cette erreur se produit si la charge utile du fichier XML d'entrée est non disponible/mal formée, ou si la règle XSLTransform échoue/ne parvient pas à transformer le fichier XML d'entrée en fonction des règles de transformation fournies dans le fichier XSL. Plusieurs raisons peuvent expliquer l'échec de la règle XSLTransform. La raison de l'échec dans le message d'erreur fournira davantage d'informations sur la cause de l'échec. | build |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause | Corriger |
---|---|---|
XSLEmptyResourceUrl |
Si l'élément <ResourceURL> de la règle XSLTransform est vide, le déploiement du proxy d'API échoue. |
build |
XSLInvalidResourceType |
Si le type de ressource spécifié dans l'élément <ResourceURL> de la règle XSLTransform n'est pas du type xsl , le déploiement du proxy d'API échoue. |
build |