Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Le jeudi 13 octobre 2016, nous avons commencé à déployer une nouvelle version d'Apigee Edge pour le cloud public.
Nouvelles fonctionnalités et mises à jour
Vous trouverez ci-dessous les nouvelles fonctionnalités et mises à jour offertes par cette version.
Flux partagés et hooks de flux pour opérationnaliser les proxys d'API (version bêta sur demande uniquement)
Une nouvelle fonctionnalité "Flux partagés" vous permet d'opérationnaliser des fonctionnalités dans les proxys d'API. En combinant des règles et des ressources conditionnelles dans un flux partagé, vous pouvez y faire référence à partir de n'importe quel proxy d'API pour exécuter une logique réutilisable à source unique. Par exemple, un flux partagé peut vérifier la clé API, se protéger contre les pics de trafic et enregistrer des données.
Vous définissez des flux partagés dans l'interface utilisateur de gestion (API > Flux partagés), puis vous y faites référence de deux manières différentes :
- Avec une nouvelle règle FlowCallout dans un proxy d'API
-
Sur un nouvel artefact appelé hooks de flux, qui se trouve aux emplacements suivants :
- Requête : avant le PreFlow ProxyEndpoint, après le TargetEndpoint PostFlow
- Réponse : avant le PreFlow TargetEndpoint, après le PostFlow ProxyEndpoint
Ces points d'association vous permettent d'exécuter une logique opérationnelle avant ou après les points de flux principaux du proxy individuel. Vous attribuez des flux partagés à ces emplacements de hook de flux dans l ’interface utilisateur de gestion (API > Configuration de l’environnement > Hooks de flux).
Mappages clé-valeur chiffrés
Vous pouvez créer des mappages clé-valeur (KVM) chiffrés pour stocker des informations sensibles telles que des identifiants ou des données PII/HIPAA. Cette fonctionnalité est différente du magasin sécurisé Edge existant (coffre-fort) et est conçue pour le remplacer, car les valeurs du coffre-fort ne sont accessibles qu'avec Node.js (en plus de l'API de gestion). Vous pouvez accéder aux valeurs de KVM chiffrées avec Node.js ou la règle Key ValueMapOperations.
Créer des KVM chiffrés
- Utilisez les API KVM existantes. Lorsque vous incluez
“encrypted”: “true”dans la définition de la charge utile lors de la création d'un KVM, Edge chiffre le KVM et génère une clé de chiffrement qui a la même portée que le KVM. - Vous ne pouvez pas utiliser la règle KeyValueMapOperations pour créer un KVM chiffré.
- Vous ne pouvez pas chiffrer un KVM non chiffré existant.
Utiliser des KVM chiffrés
- Utilisez la règle KeyValueMapOperations pour obtenir et mettre à jour les valeurs de KVM chiffrées.
- Lorsque vous obtenez une valeur de clé chiffrée, préfixez la variable pour conserver la valeur avec "private.".
Exemple :
<Get assignTo="private.secretVar">. Cetteprivate.secretVarvariable contient la valeur déchiffrée. - Lorsque vous mettez à jour une valeur avec la règle, vous n'avez rien de spécial à faire. La valeur sera chiffrée automatiquement dans les KVM chiffrés.
- Vous pouvez également accéder à la valeur déchiffrée à l'aide du module apigee-access dans le code Node.js. Utilisez
la fonction
getKeyValueMap()pour récupérer un KVM en fonction du nom et de la portée. Deux fonctions sont disponibles sur l'objet renvoyé :getKeys(callback)pour obtenir un tableau de noms de clés etget(key, callback)pour obtenir la valeur d'une clé particulière. Exemple :var apigee = require('apigee-access'); var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy'); encryptedKVM.get('secret1', function(err, secretValue) { // use the secret value here });
(APIRT-1197)
URL de spécification OpenAPI incluses dans les métadonnées du proxy d'API
Lorsque vous créez un proxy d'API basé sur une spécification OpenAPI, l'emplacement de la spécification OpenAPI Spec est stocké dans les métadonnées du proxy d'API. Par exemple, si vous utilisez l'API de gestion pour obtenir les détails d'une révision de proxy, les métadonnées incluent le chemin d'accès à la spécification OpenAPI au format suivant :
"spec" :
"https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml"
Cette amélioration est compatible avec la version nouvelle génération d'Edge, qui associe les spécifications OpenAPI aux proxys d'API, aux produits d'API et aux documents de référence de l'API dans le nouveau portail des développeurs. (MGMT-2913)
Contrôle de l'adresse IP du client avec Sense
Afin de contrôler plus précisément l'emplacement des adresses IP pour la détection des robots Sense lorsque
vous utilisez des produits de routage tels qu'Akamai, Sense vous permet de définir l'emplacement de l'adresse IP du client avec
une variable additionalIPVars. Par exemple, vous pouvez définir additionalIPVars
pour utiliser l'en-tête true-client-ip, qui contient l'adresse IP correcte d'Akamai à
évaluer dans les règles de robot. (APIRT-3332)
Bugs résolus
Les bugs suivants sont résolus dans cette version. Cette liste s'adresse principalement aux utilisateurs qui veulent vérifier si leurs demandes d'assistance ont été corrigées. Elle n'est pas conçue pour fournir des informations détaillées à tous les utilisateurs.
| ID du problème | Description |
|---|---|
| APIRT-3507 | Erreurs intermittentes (telles que des erreurs SNI) sur les appels de service JavaScript callouts |
| APIRT-3408 | Le module d'analyse apigee-access de la version MP 160817 traite les messages différemment |
| APIRT-3390 |
Modification de la réponse d'erreur renvoyée par la règle d'actualisation du jeton d'accès |
| APIRT-3389 | |
| APIRT-3381 | Latences élevées sur les proxys de production des clients |
| APIRT-3366 | Échec des règles JavaScript sur toutes les nouvelles organisations d'essai |
| APIRT-3363 | L'analyse d'une URL non valide renvoie un état 500 avec ApplicationNotFound |
| APIRT-3356 | Message de jeton OAuth non valide |
| APIRT-3355 | Erreur 403 intermittente sur le proxy OAuth |
| APIRT-3285 | |
| APIRT-3261 | Les identifiants sont validés par rapport à une autre application de développement en production |
| APIRT-3234 | L'application Node.js renvoie une exception de pointeur nul |
| APIRT-3223 | Problème de cache obsolète Apigee |
| APIRT-3193 | Le serveur cible Node.js est bloqué après le passage à ASG |
| APIRT-3152 | L'appel de gestion cachedlogs entraîne la fragmentation des messages de journalisation |
| APIRT-3117 | Le processeur de messages a atteint 100% d'utilisation du processeur et a cessé de diffuser le trafic |
| APIRT-3064 | Routeur : message d'erreur 503 personnalisé du routeur |
| APIRT-2620 | Pool de threads distinct pour certaines étapes bloquantes afin d'améliorer la gestion de la charge |
| CORESERV-774 | L'accès à l'aide d'une clé valide avec une référence apiproduct non valide provoque une erreur de serveur interne erreur |