4.15.07.00 - Notes de version d'Apigee Edge pour Private Cloud

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Le mardi 8 septembre 2015, nous avons lancé une version majeure d'Apigee Edge pour le cloud privé.

Depuis la version trimestrielle précédente d'Edge for Private Cloud (4.15.04.00), les versions suivantes ont eu lieu et sont incluses dans cette version trimestrielle:

Quelles versions d'Edge pouvez-vous mettre à niveau vers la version 4.15.07.00 ?

Selon votre version actuelle d'Edge, vous pouvez effectuer l'une des opérations suivantes:

  • Mise à niveau directe vers la version 4.15.07.00
  • La mise à niveau est incrémentielle, ce qui signifie que vous devez passer de votre version actuelle à une autre version d'Edge, puis passer à la version 4.15.07.00.

Pour en savoir plus, consultez Quel est le niveau de version Edge for Private Cloud que vous pouvez mettre à niveau vers la version 4.15.07.00.

Avant la mise à niveau à partir de la version 4.15.01.x ou d'une version antérieure

Avant de procéder à la mise à niveau, assurez-vous d'avoir mis à niveau le fichier SSTable Cassandra sur chaque nœud Cassandra:
  1. Vérifiez la version de Cassandra SSTable :
    1. Remplacez le répertoire par /<install-root>/apigee4/data/cassandra/data.
    2. Exécutez une commande find,
      > find . -name *-ic-*
      Si vous exécutez la table Cassandra 1 .2 SSTable, les résultats doivent renvoyer un ensemble de fichiers.db.
    3. Exécutez la commande find:
      > find . -name *-hf-*
      Les résultats doivent être vides, ce qui signifie qu'aucun fichier .db n'est au format hf. Si vous ne voyez aucun fichier au format hf, cela signifie que vous avez terminé et que vous pouvez passer à la version 4.15.07.00.

      Le format hf est destiné aux SSTables Cassandra 1.0. Si vous disposez de fichiers *.db au format hf, vous devez mettre à niveau SSTable comme décrit dans la suite de cette procédure.
  2. Si vous trouvez des fichiers *.db au format hf, mettez à niveau SSTable en exécutant la commande suivante sur chaque nœud Cassandra jusqu'à ce que vous ayez mis à niveau tous les nœuds Cassandra:
    > /<install-root>/apigee4/share/apache-cassandra/bin/nodetool -h localhost upgradestables -a
  3. Répétez l'étape 1 pour vérifier que tous les fichiers *.db sont au format ic pour la version Cassandra 1.2.
  4. Répétez les étapes 1 à 3 sur chaque nœud Cassandra de votre installation Edge.
  5. Mettez à niveau vers Edge 4.15.07.00.
  6. Après la mise à niveau vers la version 4.15.07.00, vérifiez les fichiers *.db pour vous assurer qu'ils ont tous été mis à niveau vers la version stable de style C* 2.0:
    > cd /<install-root>/apigee4/data/cassandra/data
    > find . -name *-jb-*

    Cette commande doit renvoyer un ensemble de fichiers .db si vous exécutez Cassandra 2.0.

Nouvelles fonctionnalités et améliorations

Voici les nouvelles fonctionnalités et améliorations de cette version.

Installation et mise à niveau

Mise à niveau et désinstallation des composants sélectifs

Les scripts apigee-upgrade.sh et apigee-uninstall.sh vous permettent désormais de sélectionner les composants Edge à mettre à niveau ou à désinstaller. Auparavant, tous les composants du nœud étaient mis à niveau ou désinstallés. (OPDK-1377, OPDK-1175).

Rollback de la mise à niveau

Si apigee-upgrade.sh échoue lors d'une mise à niveau, vous pouvez désormais utiliser le script apigee-rollback.sh pour effectuer un rollback de la mise à niveau. Après avoir résolu les problèmes de mise à niveau, vous pouvez réessayer. (OPDK-1275).

Options de script d'installation raccourcies

Les scripts d'installation ne se présentent plus sous la forme d'options longues, telles que --help. Elles n'acceptent plus que les options à une seule lettre, telles que -h. (OPDK-1356).

Installation de SmartDocs

Lors de l'installation de SmartDocs avec le script setup-smartdocs.sh, vous êtes invité à saisir l'organisation, l'environnement et l'hôte virtuel, ce qui garantit que SmartDocs est installé à l'emplacement prévu. Auparavant, ces valeurs étaient codées en dur dans le script. (OPDK-1310).

Exécuter update-cass-pwd-in-config.sh sans invite

Le script update-cass-pwd-in-config.sh peut s'exécuter sans invite si vous définissez les variables d'environnement ENABLE_CASS_AUTH, CASS_USERNAME et CASS_PASSWORD. (OPDK-1309).

Plate-forme périphérique

Vous trouverez ci-dessous les nouvelles fonctionnalités de la plate-forme Edge incluses dans cette version.

OpenJDK 1.7 est pris en charge par Edge Private Cloud

Cette version d'Edge est compatible avec Oracle JDK 1.7 et OpenJDK 7. Elle a également supprimé la compatibilité avec JDK 1.6. (OPDK-1187).

OS compatibles

Apigee Edge pour Private Cloud est désormais compatible avec Red Hat Enterprise Linux 6.6 et 7.0 (64 bits), CentOS 6.5, 6.6 et 7.0 (64 bits) et Oracle Linux 6.5.

Cassandra 2.0.15 inclus dans OPDK 15.07

Cette version installe Cassandra 2.0.15. Si vous mettez à niveau une version précédente, votre version de Cassandra sera mise à jour. (OPDK-1197).

Compatibilité de SHA2 pour le hachage des jetons OAuth

Pour mieux protéger les jetons OAuth en cas de brèche de sécurité de la base de données, Edge accepte les algorithmes SHA2 pour hacher les jetons OAuth (en plus de SHA1). Les nouvelles propriétés au niveau de l'organisation vous permettent d'activer et de configurer le hachage pour les nouveaux jetons, et de conserver le hachage hérité sur tous les jetons qui existaient avant cette nouvelle fonctionnalité. Auparavant, dans Edge for Private Cloud, une propriété appelée hash.oauth.tokens.enabled dans le fichier keymanagement.properties (sur votre serveur de gestion et vos processeurs de messages) permettait le hachage SHA1 automatique des jetons OAuth. Cette propriété est désormais obsolète.

Si vous avez déjà utilisé la propriété hash.oauth.tokens.enabled pour activer le hachage SHA1, le script de mise à niveau de cette version génère automatiquement les nouvelles propriétés au niveau de l'organisation. Pour effectuer la validation après la mise à niveau, effectuez une requête GET en tant qu'administrateur système avec cette API : https://{host}:{port}/v1/o/{your_org}.

  • Pour en savoir plus sur l'activation du hachage de jetons dans votre organisation avec les nouvelles propriétés, consultez la section "Hachage de jetons dans la base de données" dans la rubrique Demander des jetons d'accès.
  • Pour plus d'informations sur le hachage groupé des jetons existants, consultez le Guide d'utilisation de Edge pour le cloud privé. (APIRT-1389).

Structure de répertoire plate pour les fichiers journaux

Vous pouvez configurer Edge pour stocker les fichiers journaux dans une structure de répertoires plate en définissant une nouvelle propriété enable.flat.directory.structure sur "true" dans le fichier message-logging.properties. Pour en savoir plus, consultez la section Règle de journalisation des messages. (APIRT-1394).

Performances du cache de l'environnement

Pour améliorer la gestion et l'utilisation du cache en mémoire, les paramètres "Nombre maximal d'éléments en mémoire" pour les ressources du cache de l'environnement ont été abandonnés. Le nombre total d'éléments présents dans toutes les ressources de cache (y compris le cache par défaut) dépend de la mémoire totale allouée au cache. Par défaut, la mémoire totale allouée à la mise en cache en mémoire d'un processeur de messages donné correspond à 40% de la mémoire totale disponible, déterminée par les paramètres de propriété de cache du fichier cache.properties du processeur de messages. Les éléments ne sont supprimés du cache en mémoire que si la mémoire du cache est insuffisante ou que les éléments expirent.

Pour revenir à l'ancien comportement consistant à utiliser la propriété "Nombre maximal d'éléments en mémoire" pour la gestion du cache, définissez la propriété overrideMaxElementsInCacheResource=false dans le fichier cache.properties. (APIRT-1140).


Services d'API

Vous trouverez ci-dessous les nouvelles fonctionnalités des services d'API incluses dans cette version.

Nouvel éditeur de proxy par défaut

Le nouvel éditeur de proxys d'API est activé par défaut dans l'interface utilisateur de gestion. Le nouvel éditeur offre de nombreuses améliorations en termes de convivialité, y compris des vues plus complètes des flux conditionnels et des points de terminaison sur la page "Vue d'ensemble", toutes les configurations sur la page Développement, l'ajout plus intuitif de flux conditionnels, de points de terminaison et de règles, des affichages XML plus complets plutôt que de petits extraits, une recherche qui explore les noms de fichiers et le texte, et plus encore. (MGMT-2279)

Nouvelle règle "Supprimer les informations OAuth v2.0"

Une nouvelle règle "Supprimer les informations OAuth v2.0" vous permet de supprimer les jetons d'accès et les codes d'autorisation OAuth v2. Le règlement remplace la fonctionnalité précédemment fournie par l'API de gestion. Pour en savoir plus, consultez la section Supprimer la règle d'informations OAuthV2. (MGMT-2257)

Nouvelle règle "Supprimer les informations OAuth v1.0"

Une nouvelle règle "Supprimer les informations OAuth v1.0" vous permet de supprimer les jetons de requête, les jetons d'accès et les codes de vérification OAuth v1.0. La règle remplace la fonctionnalité précédemment fournie par l'API de gestion. Pour en savoir plus, consultez Supprimer la règle OAuth V1 Info. (APIRT-1351).

Règle de contrôle des accès

La règle de contrôle d'accès a été améliorée pour permettre une évaluation plus précise des adresses IP qui sont ajoutées à la liste d'autorisation et à la liste de blocage lorsque des adresses IP sont contenues dans l'en-tête HTTP X-FORWARDED-FOR.

Avec la vérification de plusieurs adresses IP activée sur l'en-tête (contactez l'assistance pour définir la feature.enableMultipleXForwardCheckForACL), un nouvel élément <ValidateBasedOn> dans la règle vous permet de comparer la première adresse IP, la dernière ou toutes les adresses IP de l'en-tête. Pour en savoir plus, consultez la section Règle de contrôle des accès.

Nouvelles entités dans la règle d'entité d'accès

La règle d'entité d'accès permet d'accéder aux nouvelles entités suivantes: champ d'application des clés client, code d'autorisation, jeton de requête et vérificateur. Pour en savoir plus, consultez la section Stratégie d'entité d'accès.

Stratégie du collecteur de statistiques: conversion automatique du nom des statistiques en minuscules

Lors de la création d'une collection d'analyse personnalisée dans l'éditeur proxy d'API (page Développement > Outils > Collection d'analyse personnalisée), la variable de collecteur (statistique) "Nom" doit être en minuscules. Si vous saisissez le nom en majuscules, l'outil convertit automatiquement le nom des statistiques en minuscules dans la stratégie du collecteur de statistiques. (MGMT-740)

Suppression de la trace classique dans l'éditeur de proxy d'API

La dernière version de la fonctionnalité Trace dans l'éditeur de proxy d'API est passée de la version bêta à la disponibilité générale. L'accès à la "trace classique" avec le lien "Accéder à la version classique de trace" n'est plus disponible.

Accès à la communauté Apigee à partir du menu d'aide de l'interface utilisateur de gestion

Vous pouvez accéder à la communauté Apigee à partir du menu "Aide" de l'interface utilisateur de gestion.

Messages d'erreur dans l'interface utilisateur de gestion

Voici les améliorations apportées aux messages d'erreur dans l'interface utilisateur de gestion:

  • UI de gestion permettant de regrouper et d'afficher tous les messages d'erreur pour l'ensemble de la session de connexion, sauf si vous les avez ignorés. Avec cette mise à jour, les messages d'erreur sont automatiquement effacés lorsque vous quittez la page sur laquelle ils se sont produits. (MGMT-2254)
  • L'UI de gestion ne supprime plus les messages d'erreur en double. (MGMT-2242)

Amélioration des performances de l'interface utilisateur et des erreurs

Des améliorations générales ont été apportées à différentes parties de l'interface utilisateur de gestion, y compris les performances d'affichage des pages et le nettoyage des messages d'erreur.

Sur la page "Utilisateurs de l'organisation" dans l'interface utilisateur de gestion (Admin > Utilisateurs de l'organisation), les noms de rôle apparaissent désormais sous forme de lien hypertexte, ce qui vous permet d'accéder rapidement aux pages des rôles. (MGMT-1055)

Nouvelles variables cibles dans le flux de messages

Les nouvelles variables des flux de messages fournissent des informations d'URL plus complètes pour les points de terminaison cibles et les serveurs cibles:

  • TargetEndpoint: request.url remplace target.basepath.with.query.
  • TargetServer: loadbalancing.targetserver remplace targetserver.name. En outre, target.basepath n'est renseigné que lorsque l'élément <Path> est utilisé dans l'élément HTTPTargetConnection <LoadBalancer> du TargetEndpoint.

Prise en charge de l'indication du nom du serveur (SNI)

Edge prend en charge l'utilisation de l'indication du nom du serveur vers le sud (du processeur de messages aux points de terminaison cibles). Si vous souhaitez utiliser SNI, contactez l'assistance Apigee.

Java 1.7 est requis.

Avec SNI, qui est une extension de TLS/SSL, plusieurs cibles HTTPS peuvent être diffusées à partir de la même adresse IP et du même port sans exiger que toutes ces cibles utilisent le même certificat.

Aucune configuration spécifique à Edge n'est requise. Si votre environnement est configuré pour une SNI Sud

Edge extrait automatiquement le nom d'hôte de l'URL de requête et l'ajoute à la requête de handshake SSL. Par exemple, si l'hôte cible est https://example.com/request/path, Edge ajoute l'extension server_name comme indiqué ci-dessous:

Pour en savoir plus sur la SNI, consultez la page http://en.wikipedia.org/wiki/Server_Name_Indication.

"Signature Algorithm" (Algorithme de signature) dans les détails des certificats SSL

Un nouveau champ "Algorithme de signature" a été ajouté aux détails du certificat SSL. Il est visible dans l'interface utilisateur de gestion (Administration > Certificats SSL) et dans l'API de gestion (Obtenir les détails du certificat d'un keystore ou d'un Truststore). Le champ indique "sha1WithRSAEncryption" ou "sha256WithRSAEncryption", selon le type d'algorithme de hachage utilisé pour générer le certificat.

Affichage des certificats SSL bientôt arrivés à expiration

La page "Certificats SSL" de l'interface utilisateur de gestion (Administration > Certificats SSL) indique quand les certificats SSL expirent dans un délai de 10, 15, 30 ou 90 jours, en fonction de votre sélection dans le nouveau champ déroulant d'expiration.

Configuration des erreurs de protection contre les menaces

Par défaut, Edge génère un code d'état HTTP 500 d'erreur interne du serveur et une erreur ExecutionFailed si un message n'atteint pas la stratégie JSON ou XML de protection contre les menaces. Vous pouvez modifier ce comportement en utilisant une nouvelle propriété au niveau de l'organisation. Lorsque la propriété d'organisation features.isPolicyHttpStatusEnabled est définie sur "true", le comportement suivant se produit:

  • Requête: lorsqu'une stratégie de protection contre les menaces est associée à tout flux de requête, les messages non valides renvoient un code d'état 400, ainsi qu'un message d'erreur de règle correspondant.
  • Réponse: Lorsqu'une stratégie de protection contre les menaces est associée à n'importe quel flux de réponse, les messages non valides renvoient toujours un code d'état 500, et l'un des messages d'erreur de stratégie correspondants est généré (plutôt que "ExecutionFailed").

Les clients Cloud doivent contacter l'assistance Apigee pour définir la propriété d'organisation. Cette fonctionnalité sera disponible pour les clients Edge Private Cloud lors de la prochaine version trimestrielle de Private Cloud.

Mise à jour des schémas pour les points de terminaison, les proxys et d'autres entités

Les schémas de référence ont été mis à jour pour les entités ne relevant pas de règles, telles que TargetEndpoint, ProxyEndpoint, APIProxy, etc. Consultez https://github.com/apigee/api-platform-samples/tree/master/schemas. (APIRT-1249).


Services pour les développeurs

Vous trouverez ci-dessous les nouvelles fonctionnalités des services pour les développeurs incluses dans cette version.

Disponibilité générale de SmartDocs

SmartDocs passe de la version bêta à la disponibilité générale. Voici quelques-unes des mises à jour et des nouvelles fonctionnalités:

  • Prise en charge de Swagger 2.0, y compris l'importation par fichier ou URL, et compatibilité avec les objets de sécurité portant un nom personnalisé.
  • Améliorations apportées à la conception visuelle des modèles qui génèrent des SmartDocs.
  • Amélioration de la facilité d'utilisation et des workflows dans le portail des développeurs, via le menu Contenu > SmartDocs de Drupal.
  • Le processus d'authentification par "jeton personnalisé" s'appelle désormais "clé API".
  • Objets "sécurité" de l'authentification définis au niveau de la révision
  • Configuration de l'authentification du client au niveau du modèle. Les nouvelles révisions ne réinitialisent plus les identifiants client SmartDocs préconfigurés.

Pour obtenir d'autres descriptions de fonctionnalités, consultez cet article de blog.

Pour la documentation sur SmartDocs, consultez Utiliser SmartDocs pour documenter des API.

Nom de l'application du développeur affiché dans l'interface utilisateur de gestion

Les applications de développement dans Edge ont à la fois un nom interne qui ne change pas et un nom d'affichage que vous pouvez modifier. Sur la page d'une application de développeur dans l'interface utilisateur de gestion (Publier > Applications de développement > Nom de l'application), le "Nom" interne de l'application s'affiche avec le "Nom à afficher". Il est ainsi plus facile d'identifier visuellement les applications grâce à leur nom interne à des fins de dépannage et de gestion des API.


Services d'analyse

Vous trouverez ci-dessous les nouvelles fonctionnalités des services Analytics incluses dans cette version.

Limite de temps pour les données conservées

Lors de la génération de rapports d'analyse avec l'interface utilisateur ou l'API de gestion, les données datant de plus de six mois à compter de la date du jour ne sont pas accessibles par défaut. Si vous souhaitez accéder à des données datant de plus de six mois, contactez l'assistance Apigee.

Version classique des rapports personnalisés supprimés de l'interface utilisateur de gestion

La version classique facultative des rapports d'analyse personnalisés n'est plus disponible dans l'interface utilisateur de gestion.

Performances du widget Engagement des développeurs

Le widget Entonnoir du tableau de bord Analytics principal (section "Engagement des développeurs") a été amélioré pour améliorer les performances.


Monétisation

Vous trouverez ci-dessous les nouvelles fonctionnalités de monétisation incluses dans cette version.

Notifications par e-mail concernant le plan tarifaire

Un nouveau type de notification par e-mail concernant les plans tarifaires vous permet d'informer les développeurs lorsqu'ils atteignent une certaine transaction ou une certaine limite d'un dollar dans les forfaits groupés ou avec limite du volume qu'ils ont souscrits. Pour en savoir plus, consultez Configurer des notifications à l'aide de modèles de notification.

Synchronisation des périodes de frais récurrents et de base d'agrégation

Un plan tarifaire peut inclure deux périodes différentes:

  • Période de frais récurrents, configurée dans l'onglet "Frais" d'un plan tarifaire et déterminée à quel moment des frais récurrents ont été facturés aux développeurs.
  • Période de base d'agrégation, définie dans le tableau des tarifs des forfaits groupés ou groupés, qui a déterminé quand l'utilisation des offres groupées a été réinitialisée pour les développeurs.

Ces deux périodes sont maintenant synchronisées. Lorsqu'il existe dans un plan tarifaire des frais récurrents non nuls et un tableau des tarifs avec limitation du volume ou d'offre groupée, la période de facturation récurrente est utilisée dans les deux cas. Par exemple, s'il existe des frais récurrents mensuels, les groupes de tableaux des tarifs sont également réinitialisés tous les mois (par défaut, au début du mois).

En l'absence de frais récurrents, les offres sont réinitialisées en fonction de la base d'agrégation définie dans le tableau des tarifs. Par exemple, si un développeur commence à utiliser un tableau des tarifs le 19 du mois et que la base d'agrégation s'applique à tous les mois, l'utilisation du bundle est réinitialisée un mois après le 19.

L'API Aggregation Basis est obsolète et sera supprimée de la monétisation dans une prochaine version. Pour en savoir plus, consultez la section Indiquer les détails des forfaits dans le tableau des tarifs.

Attributs personnalisés dans les rapports récapitulatifs sur les revenus

Les règles d'enregistrement des transactions vous permettent de capturer les données des attributs personnalisés des transactions. Vous pouvez désormais inclure ces attributs dans les rapports récapitulatifs sur les revenus. En ajoutant une propriété MINT.SUMMARY_CUSTOMER_ATTRIBUTES à votre organisation, vous pouvez indiquer les attributs personnalisés qui sont ajoutés aux tables de base de données pour être utilisés dans les rapports.

Les clients Apigee Edge pour Private Cloud peuvent définir l'indicateur avec les identifiants d'appel d'API et d'administrateur système suivants.

curl -u email:password -X PUT -H "Content-type:application/xml" http://host:8080/v1/o/myorg -d \
"<Organization type="trial" name="MyOrganization">
    <Properties>
        <Property name="features.isMonetizationEnabled">true</Property>
        <Property name="MINT.SUMMARY_CUSTOM_ATTRIBUTES">[&quot;my_attribute_1&quot;,&quot;my_attribute_2&quot;]</Property>
        <Property name="features.topLevelDevelopersAreCompanies">false</Property>
    </Properties>
</Organization>"

Notez que le tableau d'attributs personnalisés de l'appel d'API est encodé au format URL.


Processus de mise à niveau de SmartDocs

Si vous avez déjà utilisé SmartDocs pendant la phase bêta, vous devez mettre à niveau SmartDocs dans votre portail des développeurs pour profiter des nouvelles fonctionnalités de la version en disponibilité générale.

Toutes les pages SmartDocs déjà publiées sur votre portail des développeurs continueront de fonctionner, mais vous devrez suivre le processus de mise à jour avant de modifier ou de publier des modifications apportées à des pages nouvelles ou existantes.

Gardez à l'esprit que bien que vous puissiez afficher et publier des SmartDocs sur votre portail des développeurs, les SmartDocs sont générés à partir du modèle d'API qui réside dans les services de gestion d'API Edge d'Apigee. Toutes les modifications que vous apportez à un modèle d'API dans Edge sont les mêmes dans tous vos environnements Pantheon (de la même manière que les développeurs existent dans les environnements Pantheon).

Pour passer de la version bêta de SmartDocs à la disponibilité générale

  1. Mettez à jour et testez la version 15.05.27 dans votre environnement dev ou test sur Pantheon.
  2. Créez un modèle pour remplacer tout modèle d'API existant que vous utilisez.
    • Si vous avez importé des documents Swagger ou WADL, réimportez-les dans une nouvelle révision.
    • Si vous avez géré votre modèle d'API via le module SmartDocs, exportez-le au format JSON SmartDocs et importez-le dans votre nouveau modèle à l'aide d'un fichier en pièce jointe.
  3. Définissez les propriétés de sécurité de la révision de votre modèle. Sur la page Contenu > SmartDocs > Modèle, sélectionnez Paramètres de sécurité.
  4. Vérifiez toute authentification préconfigurée sur la page des paramètres du modèle (Contenu > SmartDocs) en cliquant sur Paramètres dans la colonne "Opérations".
  5. Mettez à jour les modèles personnalisés pour utiliser la version 6 des éléments CSS et JS, et apportez les modifications nécessaires pour refléter les nouveaux noms d'objets, tels que authSchemes et apiSchema. Pour en savoir plus sur la mise à jour des modèles SmartDocs, consultez Utiliser SmartDocs pour documenter des API.
  6. Effectuez un nouveau rendu et publiez la révision de votre modèle.
  7. Après avoir validé la nouvelle documentation, mettez à jour votre portail de production vers la version 15.05.27.

Si vous êtes un client Edge Enterprise et que vous avez des questions ou des préoccupations concernant le processus de mise à niveau, veuillez envoyer un e-mail à marsh@apigee.com et cnovak@apigee.com. Sinon, veuillez utiliser la communauté Apigee pour obtenir une réponse optimale.


Modifications et améliorations futures des fonctionnalités

Cette section donne un aperçu des futures modifications et améliorations attendues des fonctionnalités:

Modification du comportement de la règle de cache de réponse

Le comportement par défaut de l'élément <ExcludeErrorResponse> de la stratégie de cache de réponse sera modifié dans une prochaine version (à déterminer).

Comportement actuel:l'élément <ExcludeErrorResponse> de la stratégie de cache de réponses est défini sur "false" par défaut. Cela signifie que, par défaut, les réponses avec n'importe quel code d'état HTTP possible (y compris 3xx) sont mises en cache par la stratégie de cache de réponse.

Comportement futur:l'élément <ExcludeErrorResponse> de la stratégie du cache de réponse est défini par défaut sur "true". Cela signifie que, par défaut, seules les réponses dont les codes d'état HTTP 200 à 205 seront mises en cache. Pour ignorer ce comportement et mettre en cache les réponses de tous les codes d'état, vous devez définir explicitement l'élément <ExcludeErrorResponse> sur "true".

Solution actuelle : pour le cloud privé 4.15.07.00 et les versions antérieures, si vous souhaitez mettre en cache les réponses uniquement avec les codes d'état 200 à 205, vous devez définir explicitement l'élément <ExcludeErrorResponse> sur "true".


Bugs résolus

Les bugs suivants sont résolus dans cette version.

ID du problème Description
OPDK-1521 Problème de chiffrement du mot de passe
OPDK-1201 Impossible de restaurer les données de l'interface utilisateur
OPDK-1112 La règle de mot de passe LDAP personnalisée n'est pas appliquée à l'administrateur Apigee
OPDK-1097 Exception d'espace de clés lors de la mise à niveau d'OPDK
OPDK-1068 Possibilité de modifier le mot de passe administrateur en cas d'échec lors de l'installation
OPDK-1053 Zookeeper s'exécute en mode root
OPDK-967 Lorsque la configuration d'OpenLDAP démarre automatiquement à l'aide de set-autostart.sh, all-status.sh le signale comme mort
OPDK-905 Production Smartdocs déjà enregistrée dans le groupe axgroup001
OPDK-899 Erreur lors de l'intégration
OPDK-847 L'utilisateur créé lors de l'intégration ne reçoit pas d'e-mail permettant de réinitialiser le mot de passe
OPDK-817 Les scripts init.d génèrent une erreur
OPDK-815 Le script ax-purge.sh nécessite la suppression définitive des tables d'échantillonnage
MGMT-2246 La page de création de rapport personnalisé ne s'affiche pas correctement dans l'interface utilisateur de gestion
MGMT-2235 Pour les certificats SSL arrivant à expiration, la date d'expiration relative peut être arrondie de manière trompeuse
Pour les certificats SSL arrivant à expiration, le délai relatif de la date d'expiration est toujours indiqué en jours au lieu d'être arrondi au mois, lorsque le certificat expire dans un délai de 90 jours ou moins.
MGMT-2193 Icône de chargement lors de la modification d'une API
MGMT-2173 L'interface utilisateur de Trace n'autorise pas les URL légales
L'interface utilisateur de Trace vous permet désormais d'envoyer des requêtes avec des valeurs de paramètre de requête contenant des paramètres de requête imbriqués.
MGMT-2162 Problème de compilation JavaScript
MGMT-2124 Les autorisations du rôle client sont réinitialisées lors de l'enregistrement des autorisations dans l'UI
MGMT-2114 Une adresse IP Syslog non valide dans la stratégie MessageLogging doit générer une erreur lors du déploiement
MGMT-2067 Trace: si la révision du proxy d'API est déployée dans deux environnements, la sélection de la révision et de l'environnement ne fonctionne pas correctement
MGMT-2061 Le mot de passe oublié ne doit envoyer des e-mails qu'aux utilisateurs inscrits
Le lien "Mot de passe oublié ?" situé sur la page de connexion de l'UI de gestion n'envoie des e-mails qu'aux utilisateurs enregistrés d'Apigee.
MGMT-2048 Un utilisateur disposant d'un rôle personnalisé qui limite les autorisations de déploiement à un environnement peut être déployé dans d'autres environnements
MGMT-2041 Supprimer l'élément FaultRules du modèle de pièce jointe par défaut
L'élément FaultRules, qui n'est pas utilisé dans les stratégies ni dans les étapes de proxy d'API, n'est plus ajouté automatiquement lorsque vous créez des proxys d'API ou ajoutez des règles.
MGMT-2034 La récupération du WSDL renvoie une erreur: "Erreur de récupération WSDL: Erreur lors du traitement du WSDL."
MGMT-1986 Erreur d'UI lors de l'ajout d'un développeur
MGMT-1983 Une API de code d'autorisation OAuth 2.0 renvoie un état incorrect
MGMT-1962 Erreur lors de la connexion à l'interface utilisateur de gestion avec un mot de passe sécurisé
La connexion à l'interface utilisateur à l'aide de certains caractères spéciaux tels que le signe de pourcentage n'échoue plus.
MGMT-1947 Rôles peu intuitifs dans l'interface utilisateur de gestion
Si un utilisateur n'est pas autorisé à créer ni à modifier une règle d'enregistrement des transactions, les boutons de l'interface utilisateur permettant de créer et de modifier une règle d'enregistrement des transactions sont désormais désactivés.
MGMT-1899 Chemins d'accès aux ressources supprimés après l'enregistrement des paramètres du produit
Lorsque vous modifiez un produit API, les chemins d'accès aux ressources du produit peuvent être supprimés si l'utilisateur double-clique sur le bouton "Enregistrer". Ce problème a été résolu.
MGMT-1894 Le chargement de la colonne des développeurs ne se termine jamais sur la page des applications pour développeurs
MGMT-1882 Le nouveau proxy d'API de WSDL n'affiche que les détails du dernier paramètre
MGMT-1878 Si plusieurs révisions sont déployées dans un environnement, Trace n'en affiche qu'une seule.
MGMT-1872 Impossible de télécharger des rapports personnalisés
MGMT-1863 Journaux Node.js non visibles dans l'interface utilisateur de gestion
MGMT-1843 Le proxy d'API ne s'ouvre pas
MGMT-1833 L'utilisateur "sysadmin" ne doit pas pouvoir modifier le mot de passe dans l'interface utilisateur d'OPDK
MGMT-1825 Bugs de script intersites (XSS)
MGMT-1824 Erreur WSDL lors de l'importation du fichier WSDL avec l'extension .xml
MGMT-1812 Ajouter la validation TargetEndpoint lors de l'importation
Comme pour ProxyEndpoint, le TargetEndpoint sera validé pour le schéma et les expressions appropriés utilisés dans les conditions lors de l'importation du proxy d'API.
MGMT-1804 L'API Node.js envoie des données JSON non valides dans certains cas
L'écran des journaux Node.js affichait les journaux non formatés si les données JSON comportaient des caractères non valides. Ce problème est corrigé dans cette version, et l'interface utilisateur affiche désormais des journaux Node.js correctement mis en forme.
MGMT-1802 URL de réinitialisation du mot de passe n° 118
Si l'interface utilisateur de gestion repose sur un serveur de terminaison SSL, elle génère désormais correctement un e-mail de réinitialisation du mot de passe avec un lien vers une URL HTTPS au lieu d'une URL HTTP.
MGMT-1799 Demande d'envoi d'une faille de sécurité dans l'UI dans Trace
MGMT-1777 Impossible d'ajouter un utilisateur dont l'adresse e-mail porte le domaine .acn
MGMT-1735 Branding "Erreur lors de la récupération du W"
Avec effet immédiat, nous avons supprimé la compatibilité du branding personnalisé dans Edge OPDK. Nous sommes conscients que cela peut décevoir les quelques clients qui l'utilisaient, mais il ne s'agit pas d'une fonctionnalité qui améliore directement les capacités d'Edge en matière de gestion des API.
MGMT-1569 Problème lors de l'association du proxy d'API à un produit d'API existant
Correction de l'association d'un proxy d'API à un produit d'API dans l'interface utilisateur de gestion lorsque le proxy d'API disposait d'une ressource pour le chemin d'accès "/".
MGMT-1563 Le bouton "Envoyer" de Trace reste désactivé en cas d'erreur
MGMT-1362 L'adresse e-mail "Mot de passe oublié" ne fonctionne pas si l'adresse e-mail contient "_"
Correction du problème de réinitialisation du mot de passe dans OPDK avec des adresses e-mail contenant un trait de soulignement.
MGMT-1345 L'importation de WSDL avec plusieurs espaces de noms génère une étape SOAP de compilation incorrecte
MGMT-1193 L'enregistrement du proxy en tant que nouvelle révision modifie la règle de routage de manière inattendue
MGMT-1061 SmartDocs: description du paramètre de type de corps dans la définition Swagger non affichée dans l'interface utilisateur de la documentation
MGMT-800 La création d'une ressource nommée "default" entraîne un dysfonctionnement de l'interface utilisateur
MGMT-787 Problème d'usabilité des alertes d'interface utilisateur
Dans l'interface utilisateur de gestion, lorsque vous cliquez sur "+ Proxy d'API" et que la boîte de dialogue "Nouveau proxy d'API" s'affiche, vous pouvez appuyer sur Échap pour la fermer.
MGMT-619 Activer la pagination dans la page de l'interface utilisateur du proxy d'API
MGMT-602 Vue Développement du proxy d'API: ajout d'une stratégie de cache de réponse lorsque le point de terminaison ne comporte pas de PreFlow/PostFlow provoque une erreur
MGMT-460 Le changement de nom d'une règle entraîne un comportement glitch, une règle en double qui ne peut pas être supprimée
DEVRT-1644 Recherche de notifications par nom entraînant l'envoi d'e-mails incorrects
DEVRT-1583 UI de la monétisation affiche le badge "Future" pour un plan tarifaire actuel
DEVRT-1546 Les limites du forfait ne fonctionnent pas
DEVRT-1511 Erreur mint.resource convivialNotExist pour un développeur existant
CORERT-639 TCPSysLogSocket doit être asynchrone
CORERT-613 Échecs du handshake SSL en raison de "un certainementd_name"
AXAPP-1728 Ignorer les variables de monétisation dans Analytics
AXAPP-1708 L'API Analytics semble produire des chiffres différents pour la même statistique selon la façon dont je pose la question.
AXAPP-1707 Améliorer les performances de l'analyse sans frais des pods
AXAPP-1690 "Erreur d'API non valide" dans les rapports personnalisés
AXAPP-1533 La GeoMap d'analyse génère une erreur d'appel d'API non valide
AXAPP-1493 Statistiques de performances du cache incorrectes
APIRT-1436 Créer un outil/script pour hacher les jetons non hachés
APIRT-1425 L'attribut continueOnError lorsqu'il est défini sur "true" n'a aucun effet dans la règle JavaCallout
APIRT-1346 OAuth2.0 : une valeur hachée est renvoyée dans la réponse du jeton d'accès lorsque hash.oauth.tokens.enabled est défini sur "true"
APIRT-1206 target_ip n'est pas enregistré dans la table de faits pour les erreurs 503 et la plupart des erreurs 504
APIRT-1170 Fichier de ressources manquant causé par l'échec du chargement d'un environnement par le protocole de mesure
APIRT-1148 GET de la variable {message.version} dans ResponseFlow pour une cible Node.js génère une exception NPE
APIRT-1054 La journalisation des messages échoue lors d'une tentative de connexion à un répertoire autre que celui par défaut
APIRT-387 Mettre OrganizationService à s'exécuter en mode "autres" sur MP
APIRT-67 La règle OAuth GenerateAccessToken ne définit pas correctement la variable oauthV2.failed
APIRT-52 Rapports personnalisés: le code d'état de la réponse pour de nombreuses API est nul

Problèmes connus

Cette version présente les problèmes connus suivants.

ID du problème Description
OPDK-1586

Le portail BaaS d'API ne démarre pas si la prise en charge d'IPV6 n'est pas activée
La solution consiste à mettre en commentaire la ligne IPV6 suivante dans /<install-dir>/apigee4/conf/nginx/conf.d/loadbalancer.conf pour exécuter le portail d'API BaaS ou à activer la prise en charge d'IPV6:

# listen [::]:8080;

OPDK-1785

Installer le composant de monétisation dans l'environnement d'installation d'Edge mis à niveau
Si vous mettez à niveau une installation Edge vers la version 4.15.07.00 et que vous n'utilisiez pas déjà la monétisation avant la mise à niveau, vous ne pouvez pas installer la monétisation sur la version 4.15.07.00 d'Edge.

La solution consiste à définir la version de monétisation appropriée dans le fichier apigee-env.sh avant d'essayer d'installer la monétisation. Pour obtenir la version de monétisation dans la version 4.15.07 (après avoir effectué la mise à niveau vers Edge 4.15.07), exécutez la commande suivante:
> source /{install-dir}/apigee4/bin/apigee-env.sh 

> VER=`basename $(find $SHARE_DIR/installer/monetization -name "mint-*.zip") | cut -d "-" -f 2,3,4` 
Par défaut, install-dir est /opt.
La valeur VER indiquée ci-dessus doit être définie dans apigee-env.sh:
> sed -i "s/^MONETIZATION_VERSION=.*/MONETIZATION_VERSION=$VER/" /install-dir/apigee4/bin/apigee-env.sh 
Si vous avez essayé d'installer la monétisation sans suivre les étapes ci-dessus, l'installation échoue et le lien symbolique ne fonctionne probablement plus dans le répertoire de partage. Vous devez supprimer ce lien symbolique:
> rm /install-dir/apigee4/share/monetization 
Après avoir supprimé le lien symbolique, suivez les étapes ci-dessus pour définir la version de monétisation, puis relancez l'installation de la monétisation.
OPDK-1857 Version Python 2.6 codée en dur dans bin/qpid-stat.sh et bin/qpid-config.sh

Sous CentOS et RedHat 7.0, plusieurs scripts de bin/qpid-stat.sh et bin/qpid-config.sh sont codés en dur pour utiliser la version 2.6 de Python.

La solution de contournement à ce problème consiste à modifier la ligne exportant le PYTHONPATH dans qpid-stat.sh et qpid-config.sh dans le répertoire apigee4/bin.

export PYTHONPATH="${QPID_DIR}/lib/python2.6/site-packages"

Pour déterminer la version de Python sur votre système, vérifiez la version de Python dans le répertoire /opt/apigee4/share/apache-qpid/lib. Le répertoire est très probablement python2.7.

Vous devez ensuite mettre à jour le paramètre PYTHONPATH dans qpid-stat.sh et qpid-config.sh en indiquant le chemin d'accès approprié. Exemple :

export PYTHONPATH="${QPID_DIR}/lib/python2.7/site-packages"

DEVRT-1574 Solde et utilisation incohérents pour les développeurs ayant plusieurs plans tarifaires actifs
Dans le contexte de la monétisation, si un développeur dispose de plusieurs plans tarifaires avec des frais par appel d'API, l'utilisation du solde monétaire peut parfois être incohérente.
APIBAAS-1647 Une fois connecté en tant qu'administrateur système, l'UI BaaS affiche le message "Erreur lors de l'obtention des rôles"
Ce message d'erreur s'affiche lors de la première connexion au système par l'administrateur système après la mise à niveau de la version 4.15.01 vers la version 4.15.07. Vous pouvez ignorer ce message.
DEVRT-1834 Mise à niveau de la monétisation vers la version 4.15.07
Le script apigee-upgrade.sh affiche le message suivant à la fin, vous invitant à exécuter un autre script :
************************************** 
In order to complete the monetization upgrade please run: 
sudo /opt/apigee4/share/monetization/schema/migration/MOPDK4.15.04.00/
365-create-notification-condition.sh 
************************************** 

Vous pouvez ignorer ce message. Ce script n'est pas obligatoire et ne peut pas être exécuté.

DEVRT-1951 Nouvelles configurations de notification manquantes pour l'installation de la monétisation
Dans une nouvelle installation d'Apigee Edge pour Private Cloud version 4.15.07.00, les configurations suivantes pour les notifications de monétisation sont manquantes. Ils correspondent aux types de notifications de la page Administration > Notifications de l'interface utilisateur de gestion.
mint.scheduler.${ORG_ID}.adhocnotify@@@management
mint.scheduler.${ORG_ID}.expiringrateplannotify@@@management
mint.scheduler.${ORG_ID}.newpkgnotify@@@management
mint.scheduler.${ORG_ID}.newproductnotify@@@management
mint.scheduler.${ORG_ID}.newrateplannotify@@@management
mint.scheduler.${ORG_ID}.tncacceptancenotify@@@management
Pour contourner ce problème, procédez comme suit : Vous aurez besoin de l'adresse IP de votre instance Cassandra. Pour le trouver, accédez à <installation-root>/apigee4/conf/cassandra/cassandra.yaml ou à <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties.
  1. Exécutez les commandes suivantes. Laissez la variable {ORG_ID} telle quelle, mais remplacez <org_name>, <installation-root> et <cassandra_ip_address>.
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/ui/mint-org-specific-ui-schedulers.txt > /tmp/mint-org-specific-ui-schedulers.txt
    
    <installation-root>/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-ui-schedulers.txt
    
  2. Redémarrez le serveur de gestion.
DEVRT-1952 Configuration des notifications manquantes pour la mise à niveau de la monétisation depuis la version 4.14.07.00
Lors d'une mise à niveau d'Apigee Edge pour Private Cloud de la version 4.14.07.00 vers la version 4.15.07.00, les configurations suivantes pour les notifications de monétisation sont manquantes, ce qui entraîne un fonctionnement incorrect des rapports de monétisation.
mint.scheduler.${ORG_ID}.chargedaily@@@management
mint.scheduler.${ORG_ID}.chargehourly@@@management
Pour contourner ce problème, procédez comme suit : Vous aurez besoin de l'adresse IP de votre instance Cassandra. Pour le trouver, accédez à <installation-root>/apigee4/conf/cassandra/cassandra.yaml ou à <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties.
  1. Exécutez les commandes suivantes. Laissez la variable {ORG_ID} telle quelle, mais remplacez <org_name>, <installation-root> et <cassandra_ip_address>.
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/system/mint-org-specific-system-schedulers.txt > /tmp/mint-org-specific-system-schedulers.txt
    
    <installation-root>/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-system-schedulers.txt
    
  2. Redémarrez le serveur de gestion.
OPDK-1878 Impossible de définir le nom du pod dans une installation de plusieurs centres de données
Le guide d'installation en périphérie spécifie de définir les noms des pods sur "gateway-1" et "gateway-2" dans les fichiers d'installation silencieuse pour une installation avec plusieurs centres de données. Cependant, le fait de renommer le pod empêche les routeurs et les processeurs de messages d'être correctement enregistrés et d'être accessibles. Ce problème empêche également le script setup-org.sh de trouver les processeurs de messages disponibles.

La solution consiste à définir le nom du pod, à l'aide de la propriété MP_POD, sur "gateway" (passerelle) dans le fichier d'installation silencieuse pour les deux centres de données.
OPDK-1886

Le nœud ne peut pas accéder aux adresses IP locales telles que 192.168.x.y
L'erreur "Connecter EINVAL" s'affiche lorsque vous essayez d'accéder à une adresse IP locale.
La solution consiste à modifier le fichier /<install_dir>/apigee4/conf/apigee/message-processor/nodejs.properties sur les nœuds du processeur de messages pour mettre en commentaire la ligne suivante:

connect.ranges.denied=10.0.0.0/8,192.168.0.0/16,127.0.0.1/32

Ensuite, redémarrez les nœuds de processeur de messages:

<install_dir>/apigge4/bin/apigee-service message-processor restart 
OPDK-1958 Lors de la mise à niveau, tous les nœuds devront accéder au port 8080 du serveur de gestion
Au moment de l'exécution, les composants suivants ont besoin d'accéder au port 8080 du serveur de gestion : routeur, processeur de messages, UI, Postgres et Qpid. Toutefois, lors de la mise à niveau, tous les nœuds devront accéder au port 8080 sur le serveur de gestion, y compris les nœuds Cassandra et Zookeeper.
OPDK-1962 Reconfigurez SSL pour l'API Edge après la mise à niveau
Si vous avez configuré l'API Edge pour qu'elle utilise SSL avant la mise à niveau vers la version 4.15.07.00, vous devez reconfigurer SSL après la mise à niveau. Consultez le guide d'utilisation d'Edge pour connaître la procédure de configuration de SSL pour l'API Edge.