Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Aux dates suivantes, nous avons commencé à publier des mises à jour des composants sur Apigee Edge pour le cloud public:
- Processeur de messages: vendredi 1er mai 2020
- Gestion des API: lundi 20 avril 2020
- Gestion de la monétisation: lundi 20 avril 2020
- Version du correctif pour la gestion des API: lundi 22 juin 2020
- Correctif pour la gestion de la monétisation: lundi 6 juillet 2020
- Mise à jour de sécurité du serveur de gestion: lundi 24 août 2020
- Version de correctif du processeur de messages avec corrections de bugs: jeudi 24 septembre 2020
- Version de correctif du processeur de messages avec corrections de bugs: lundi 26 octobre 2020
- Version de correctif du processeur de messages avec corrections de bugs: lundi 1er février 2021
Nouvelles fonctionnalités et mises à jour
Vous trouverez ci-dessous les nouvelles fonctionnalités et mises à jour offertes par cette version.
Règles JWT
-
Chiffrement JWT
Les stratégies JWT vous permettent de générer, de vérifier et de décoder des jetons chiffrés. Voici les nouveaux éléments des règles:
<Type>
: permet de définir si les jetons sont signés ou chiffrés.<EncryptionAlgorithms>
: permet de définir les algorithmes de chiffrement<Key>
et<Content>
.
(67165581)
Compatibilité avec les algorithmes PSS dans les jetons signés
Les stratégies de génération et de vérification des jetons JWT et JWS sont désormais compatibles avec les algorithmes PS256, PS384 et PS512, comme décrit dans le document IETF RFC 7518. (119856499)
GenerateJWT – Heure de début relative du jeton
Lors de la génération d'un jeton JWT avec la stratégie "GenerateJWT", l'élément
<NotBefore>
vous permet de spécifier un délai relatif entre la génération d'un jeton et sa validité. Par exemple, une valeur<NotBefore>
de 2 h signifie qu'un jeton n'est valide que 2 heures après sa génération. Vous pouvez définir la durée de<NotBefore>
en millisecondes (ms), secondes (s), minutes (m), heures (h), jours (d) ou semaines (w). (126261970)-
Référence de clé publique/Certificat dans VerifyJWT
Dans la règle VerifyJWT, un élément
<PublicKey>
/<Certificate>
vous permet de référencer le certificat au format PEM à utiliser pour vérifier les signatures JWT entrantes. Exemple :<PublicKey> <Certificate ref='public.certificate_pem'/> </PublicKey>
(132918033)
Fonctions des modèles de messages
Voici les nouvelles fonctions de modèles de messages disponibles avec cette version:
- firstnonull : affiche la valeur du premier argument non nul (le plus à gauche). (139698514)
- xpath : permet d'appliquer une expression de chemin XML (XPath) pour analyser les variables XML. (123246424)
Règle "AssignMessage" : "AssignVariable" vous permet de faire référence à un modèle de message.
Dans la règle AssignMessage, l'élément <AssignVariable>
/ <Template>
autorise un attribut ref
, ce qui vous permet d'injecter un modèle prédéfini au moment de l'exécution qui peut être modifié sans avoir à modifier la règle. (118396082)
Plusieurs alias de certificat
Lorsque vous
configurez TLS et utilisez plusieurs certificats dans un keystore, chacun avec un alias différent, Edge vous permet de faire référence à des alias de certificat spécifiques dans votre configuration <SSLInfo><KeyAlias>
. Pour activer ce comportement mis à jour, définissez une nouvelle propriété HTTPClient.choose.alias.by.keyalias
sur "true" dans le fichier http.properties sur les processeurs de messages. Les utilisateurs d'Edge pour le cloud public doivent contacter l'
assistance pour ajouter cette propriété. (142141620)
Règle JSONtoXML: omettre la déclaration XML, mettre en retrait la sortie
Deux nouvelles options booléennes dans la règle JSONtoXML vous permettent de mieux contrôler la sortie XML.
<Options> <OmitXmlDeclaration>
: lorsque ce paramètre est défini sur "true" (la valeur par défaut est "false"), l'élément<OmitXmlDeclaration>
omet la déclaration XML<?xml version="1.0" encoding="UTF-8"?>
par défaut générée par la règle.<Options> <Indent>
: lorsque ce paramètre est défini sur "true" (la valeur par défaut est "false"), l'élément<Indent>
met en retrait la sortie XML. Par exemple, au lieu du résultat suivant:<Array><n>1</n><n>2</n><n>3</n></Array>
Le résultat de l'élément "Retrait" est le suivant:
<Array> <n>1</n> <n>2</n> <n>3</n> </Array>
(65142394)
Réponses pour l'analyse des hôtes virtuels
Si une requête a été envoyée à l'adresse IP d'un point de terminaison Apigee (aucun hôte virtuel spécifié), Edge a renvoyé une réponse HTTP 200 et un document HTML vierge de l'hôte virtuel Apigee par défaut associé à cette adresse IP. Pour éviter l'impression incorrecte qu'une telle réponse pourrait représenter une faille potentielle qui pourrait être exploitée, la connexion est interrompue et aucune réponse n'est renvoyée. (140005396)
Propriétés du serveur cible dans Trace pour faciliter le dépannage
Les nouvelles propriétés de trace suivantes permettent de résoudre les problèmes de connexion cible en indiquant si le HTTPClient du serveur cible a été mis en cache : isHttpClientCached
et isFromClientPool
. (140574604)
Règle MessageLogging: message Syslog
Dans la règle MessageLogging, un nouvel élément <Syslog>
/ <PayloadOnly>
(booléen) vous permet de déterminer si quelque chose est automatiquement ajouté au début du <Message>
que vous définissez. Si vous définissez <PayloadOnly>
sur "true", rien n'est ajouté à la définition de votre message (quel que soit le paramètre <FormatMessage>
). S'il est défini sur "false" (valeur par défaut), le paramètre <FormatMessage>
détermine le préfixe du message de journal. (68722102)
Expiration des règles de cache
Un nouvel élément d'expiration <TimeoutInSeconds>
sur la règle ResponseCache et la règle PopulateCache se comporte de la manière dont l'élément <TimeoutInSecs>
existant était initialement prévu pour fonctionner. Veuillez utiliser le nouvel élément.
L'élément <TimeoutInSecs>
obsolète existe toujours pour assurer la rétrocompatibilité. Si les éléments <TimeoutInSecs>
et <TimeoutInSeconds>
sont configurés, Edge utilise <TimeoutInSeconds>
. (119172893)
Variable de flux virtualhost.aliases.values
Une nouvelle variable de flux de messages virtualhost.aliases.values
en lecture seule renvoie un tableau au format JSON de tous les alias attribués à l'hôte virtuel appelé lors de la requête entrante. (128453178)
Nouveau paramètre permettant de garantir la suppression de la révision du proxy
Un nouveau paramètre de requête force
a été ajouté à la révision du proxy d'API de suppression.
Dans les cas où la révision est répertoriée dans l'API List API Proxies, mais ne peut pas être interrogée, ce paramètre garantit que la révision de proxy est supprimée. (111691721)
Exemple :
DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true
Nouvelle variable de flux pour les valeurs d'alias de virtualhost
Une nouvelle variable de flux de messages virtualhost.aliases.values
en lecture seule renvoie un tableau au format JSON de tous les alias attribués à l'hôte virtuel appelé lors de la requête entrante. (128453178)
Bugs résolus
Les bugs suivants sont résolus dans cette version. Cette liste s'adresse principalement aux utilisateurs qui veulent vérifier si un correctif a été émis en réponse à leurs demandes d'assistance. Elle n'est pas conçue pour fournir des informations détaillées à tous les utilisateurs.
ID du problème | Nom du composant | Description |
---|---|---|
143313772 | Processeur de messages |
Un problème a été résolu dans la règle SpikeArrest. Il se produisait lorsque (Dans la version de correctif du 01/02/2021.) |
154428338 | Exécution des API |
Le processeur de messages ne parvient pas à charger les environnements lorsque les keystores sont configurés avec des noms ou des alias similaires. Nous avons corrigé un conflit de recherche avec les expressions régulières lors du chargement des keystores ayant une convention d'attribution de noms similaire. En raison de cette situation, le processeur de messages ne parvenait pas à charger les environnements associés au keystore ou à ne pas démarrer lorsque plusieurs keystores en conflit étaient renvoyés lors de la recherche. |
149507805 | Gestion des API |
Activer le déploiement/la configuration via HTTP pour tous les serveurs MGMT de production Les mises à jour de la configuration s'effectuent sur HTTP au lieu de RPC, ce qui améliore la fiabilité et la journalisation des erreurs. |
137217974 | Gestion des API |
Lors de la configuration de MP sur HTTP, propager correctement l'erreur lorsqu'un serveur cible est encore utilisé En raison des améliorations de la fiabilité introduites dans le problème 149507805, les erreurs de réponse de la suppression du serveur cible ont été signalées à tort comme l'état 200 (réussite) lorsque la suppression a échoué. Avec ce correctif, les erreurs de réponse sont désormais correctement signalées en tant qu'état 400 en cas d'échec de la suppression. Notez que la suppression du serveur cible peut échouer si celui-ci est référencé par un proxy actuellement déployé. Avant de supprimer un serveur cible, assurez-vous qu'il n'est référencé par aucun proxy d'API actuellement déployé. |
69765558 | Gestion des API |
L'API Resource Permissions renvoie l'erreur 403 |
149545506 | Gestion des API |
Correction d'un problème de sécurité dans l'API lors de l'ajout d'un utilisateur à un rôle |
131246911 | Gestion des API |
Pour les adresses e-mail des développeurs dans un portail, activez la compatibilité avec les domaines plus récents, tels que *.games et *.asia
Certains noms de domaine, tels que |
142217645 | Gestion des API |
PUT v1/o/{org_name}/apiproducts/{product_name} ne supprime pas les quotas |
162299668 | Serveur de gestion |
Une faille de sécurité potentielle a été corrigée. |
135856488 | Serveur de gestion |
Lenteur de l'interface utilisateur |
139407965 | Serveur de gestion |
Un problème qui permettait de créer un KVM sans nom a été résolu. |
112488235 | Serveur de gestion |
Une validation a été ajoutée pour empêcher la création d'hôtes virtuels dont le nom contient des espaces. Les espaces ne peuvent pas être utilisés dans les noms d'hôte virtuel. |
132433193 | Gestion de la monétisation |
Un problème de mise à jour de l'application a été résolu. |
152514520 | Gestion de la monétisation |
Un problème lié aux appels d'API de gestion pour supprimer des entités a été résolu. |
128450374 | Exécution des API |
Les règles JWT/JWS doivent respecter IgnoreUnresolvedVariables – génèrent l'erreur appropriée si la variable n'est pas définie |
135354517 | Exécution des API |
L'organisation échoue dans Release_190301 en raison de l'application stricte du type de données "String" dans BasicAuth |
131763486 | Exécution des API |
Le chemin d'accès de base d'un flux partagé doit être ignoré dans le processeur de messages |
135972575 | Exécution des API |
Private Cloud 4.19.01 montre un comportement différent lors du déploiement avec override=true&delay=300 Ce correctif sera inclus dans une prochaine version d'Edge pour le Cloud privé. |
141601836 | Exécution des API |
Corriger le nom d'hôte dans le message de journal |
116834109 | Exécution des API |
Valeurs incorrectes pour les variables failed, fault.cause et fault.name dans Trace |
130653816 | Exécution des API |
Erreurs 404 intermittentes au trafic d'exécution |
132777537 | Exécution des API |
Échec de la règle ExtractVariables pour un JSONPath valide |
133713555 | Exécution des API |
Routeur Edge modifiant l'en-tête de date |
133253435 | Exécution des API |
Utilisation élevée du processeur par le thread principal Apigee |
111553402 | Exécution des API |
Produit d'API dont le chemin contient des caractères non valides non interceptés avant l'exécution |
126240341 | Exécution des API |
Amélioration du message générique "Échec de la génération" en cas d'échec de la règle GenerateJWT |
119854424 | Exécution des API |
L'équilibreur de charge avec un serveur cible unique ne doit pas devenir inactif en cas d'échec de la connexion |
129275412 | Exécution des API |
Ajouter des en-têtes HTTP à l'hôte virtuel de remplacement pour les analyses d'adresse IP générique |
129351507 | Exécution des API |
La règle BasicAuthentication ne parvient pas à décoder lorsque le mot de passe contient le signe deux-points |
65852874 | Exécution des API |
Assurez-vous que HTTPClient n'essaie pas de réutiliser une connexion ayant un en-tête de réponse Connection:close |
138951646 | Exécution des API |
La limite de temps ne fonctionne pas en JavaScript pour |
139051927 | Exécution des API |
Latence élevée pour le traitement des requêtes |
132443137 | Exécution des API |
Modification du comportement du processeur de messages pour gérer les en-têtes x-apigee internes inconnus |
138310777 | Exécution des API |
Un appel de déploiement de flux partagé renvoie de manière aléatoire 504 |
67170148 | Exécution des API |
Différences entre le temps écoulé et le temps pris par les services d'appel |
124049692 | Exécution des API |
NullPointerException dans la règle VerifyApiKey |
135031506 | Exécution des API |
Ajout d'un message de journal concernant le format de clé JWT inattendu |
137312366 | Exécution des API |
Validation du contenu par en-tête Content-Type |
109871907 | Exécution des API |
Retards d'exécution de ServiceAppel en l'absence d'élément "Response" |
143722867 | Exécution des API |
JWT doit appliquer une limite configurable au nombre d'itérations pour PBKDF2 |
144286363 | Trace hybride |
Le masque de débogage dans le fichier env.json ne masque pas les données de réponse dans Apigee hybrid |
147769812 | Exécution des API |
Déclarer les propriétés de hachage OAuth comme modifiables dans les commutateurs de fonctionnalité |
149037704 | Exécution des API |
Un problème a été résolu : la valeur attribuée à la variable de flux |
148972262 | Exécution des API |
DecodeJWS émet la charge utile vers une variable de contexte sous une forme inutile |
116580622 | Exécution des API |
Réponse incohérente |
149739904 | Exécution des API |
Le masquage des données pour les en-têtes HTTP ne doit pas être sensible à la casse |
149431545 | Exécution des API |
GenerateJWT et VerifyJWT avec SecretKey n'acceptent aucun encodage, sauf UTF-8 |
155448596 | Gestion des API - Correctif |
Autorisations manquantes pour le rôle apimonitoringadmin par défaut Des autorisations manquantes ont été ajoutées au rôle apimonitoringadmin. |
158592076 | Gestion des API - Correctif |
Autorisations manquantes pour le rôle d'administrateur dev par défaut Les autorisations manquantes ont été ajoutées au rôle devadmin. |
152856311 | Gestion des API - Correctif |
Validations pour refuser les certificats PKCS7 et DER dans le keystore et le Truststore lors de la création et de la mise à jour de l'hôte virtuel Lors de la création ou de la mise à jour de l'hôte virtuel, des validations sont appliquées pour vérifier si les certificats ajoutés à l'alias du keystore et au magasin de clés de confiance sont au format PEM et non dans des formats incompatibles tels que PKCS7, DER, etc. |
155478545 | Gestion de la monétisation - Correctif |
Un problème concernant les mises à jour de l'état des notifications par e-mail a été résolu. |
154121499 | Gestion de la monétisation - Correctif |
Un problème qui provoquait une erreur d'état 404 par l'API |
152356393 | Gestion de la monétisation - Correctif |
La validation de la longueur du nom de l'entreprise a été assouplie pour la création d'une entreprise de monétisation. |
138542921 | Gestion de la monétisation - Correctif |
Un problème a été résolu : la création d'un plan tarifaire échouait avec plusieurs attributs personnalisés dans le lot de produits. |
150948843 | Gestion de la monétisation - Correctif |
Un problème a été résolu : l'API Monetization |
155443118 | Gestion de la monétisation - Correctif |
Le champ |
150948843 | Gestion de la monétisation - Correctif |
Un problème a été résolu : l'API Monetization |