20.04.06 : Notes de version d'Apigee Edge pour le cloud public

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 UseEffectiveCount était activé et qu'un redémarrage progressif se produisait.

(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 *.games, *.asia et *.africa, entraînaient l'échec de la création du développeur sur Edge, car le programme de validation de domaine ne les reconnaissait pas. Ce problème a été résolu. Edge vérifie désormais uniquement qu'un format d'adresse e-mail est valide (contient désormais un symbole "@").

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 httpClient

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 proxy.url pouvait parfois renvoyer un alias d'hôte incorrect.

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 /mint/org/orgname/delete-org-data a été résolu.

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 /sync-developers entraînait des conflits de persistance.

155443118 Gestion de la monétisation - Correctif

Le champ jsonMailProperties a été supprimé.

150948843 Gestion de la monétisation - Correctif

Un problème a été résolu : l'API Monetization /sync-developers entraînait des conflits de persistance.