Configurer Edge MicroGate

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.

Edge Microgateway v. 2.3.x

Présentation

Ce tutoriel vous guide à travers les étapes requises pour configurer et exécuter une instance d'Edge Microgateway.

Une fois les étapes décrites ici effectuées, vous disposerez d'une installation Edge Microgateway entièrement configurée et opérationnelle, capable de traiter les requêtes d'API. Vous allez tester la configuration en effectuant des appels d'API sécurisés via Edge Microgateway vers une cible de backend. Vous apprendrez également à ajouter un plug-in d'arrêt des pics à la passerelle Microgateway.

Ce guide est divisé en plusieurs parties :

Prérequis : Installer Edge Microgateway

Suivez les instructions de la section Installer Edge Microgateway. Une fois l'installation terminée, vous pourrez suivre les étapes de ce tutoriel.

Une fois l'installation terminée, passez à la section suivante, Partie 1 : Configurer Edge Microgateway.

Partie 1 : Configurer Edge Microgateway

Dans cette partie, vous allez utiliser une commande d'interface de ligne de commande (CLI) pour configurer Edge Microgateway afin qu'il communique avec Apigee Edge. Si vous utilisez Apigee Edge Cloud, suivez la procédure de configuration d'Apigee Edge Cloud. Si vous utilisez Apigee Private Cloud, suivez les étapes pour Apigee Edge Private Cloud.

Étapes de configuration d'Apigee Edge Cloud

Pour utiliser Edge Microgateway avec Apigee Edge Cloud, procédez comme suit :

  1. Si vous ne l'avez pas déjà fait, initialisez Edge Microgateway (vous n'avez besoin d'effectuer cette étape qu'une seule fois) :
    edgemicro init
  2. (Facultatif) Imprimez l'aide de la commande edgemicro configure :
    edgemicro configure -h
  3. Exécutez la commande suivante pour configurer Edge Microgateway :
    edgemicro configure -o [org] -e [env] -u [username] 

    Où :

    • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
    • env est un environnement de votre organisation (par exemple, test ou production).
    • username correspond à l'adresse e-mail associée à votre compte Apigee.

Exemple

edgemicro configure -o docs -e test -u jdoe@example.com

Résultat

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: /Home/.edgemicro/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    

Étapes de configuration d'Apigee Private Cloud

Pour utiliser Edge Microgateway avec Apigee Private Cloud :

  1. Imprime les informations d'aide pour la commande edgemicro private configure. Vous pouvez afficher l'aide de cette manière pour n'importe quelle commande ou option de commande de la CLI Edge Microgateway.
    edgemicro private configure -h
  2. Exécutez la commande ci-dessous. Il nécessite des informations standards sur votre compte Apigee Edge Private Cloud : nom de l'organisation, nom de l'environnement, nom d'utilisateur (adresse e-mail), mot de passe, adresse IP du serveur de gestion et adresse IP du routeur. Vous devez être administrateur de l'organisation Edge pour utiliser cette commande :
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    Où :

    • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
    • env est un environnement de votre organisation (par exemple, "test" ou "prod").
    • runtime_url est l'URL d'exécution de votre instance de cloud privé.
    • mgmt_url est l'URL du serveur de gestion de votre instance de cloud privé.
    • username correspond à l'adresse e-mail associée à votre compte Apigee.
    • virtual_host est une liste de noms d'hôtes virtuels séparés par une virgule. Les valeurs par défaut sont default,secure.

Exemple

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

Si vous disposez d'un alias d'hôte virtuel myorg-test.mycompany.com, vous pouvez utiliser une commande comme celle-ci :

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

Résultat

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    

Vérifier l'installation

Exécutez cette commande pour vérifier l'installation. Si aucune erreur n'est signalée, tout est configuré correctement et vous pourrez démarrer Edge Microgateway.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

Où :

  • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
  • env est un environnement dans votre organisation (tel que test ou production).
  • key est la clé renvoyée précédemment par la commande configure.
  • secret est la clé renvoyée précédemment par la commande configure.

Exemple

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

À propos de la configuration

Toute la configuration effectuée jusqu'à présent permet à Edge Microgateway de s'amorcer sur Apigee Edge. Une fois l'amorçage réussi, Edge Microgateway récupère une charge utile d'informations de configuration supplémentaires à partir d'Apigee Edge.

À quoi servent ces informations de configuration ? Comme nous le verrons dans la prochaine partie de ce tutoriel, lorsqu'Edge Microgateway démarre, il doit recevoir une liste de proxys d'API spéciaux compatibles avec Edge Microgateway depuis Apigee Edge. Dans la prochaine partie de ce tutoriel, vous allez créer un proxy compatible avec Microgateway. Edge Microgateway limite les clients à n'appeler que les API présentées par ces proxys d'API compatibles avec Microgateway. Les clients devront (par défaut) présenter un jeton de sécurité valide pour chaque appel. Pour en savoir plus sur ces proxys, consultez "Ce que vous devez savoir sur les proxys compatibles avec Edge Microgateway" dans la présentation d'Edge Microgateway.

En tant qu'administrateur d'organisation Edge, vous serez intéressé de savoir que les proxys compatibles avec Edge Microgateway peuvent être ajoutés aux produits Edge, comme n'importe quel autre proxy. En utilisant des produits et des applications de développement, vous pouvez générer des jetons de sécurité spécifiques aux clients pour contrôler l'accès aux API appelées via Edge Microgateway. Là encore, les schémas impliqués sont identiques à ceux utilisés pour travailler avec des produits, des applications de développeur et des proxys d'API sur Apigee Edge. Si vous souhaitez en savoir plus sur les produits, commencez par consulter Qu'est-ce qu'un produit d'API ? dans la documentation Edge.

Nous allons ensuite vous montrer comment créer des proxys compatibles avec Edge Microgateway. Après cela, nous démarrerons Edge Microgateway et testerons la configuration.

Partie 2 : Créer des entités sur Apigee Edge

Dans cette partie, vous allez créer les entités suivantes sur Edge :

  • Un proxy compatible avec les microgateways : il s'agit d'un proxy spécial qu'Edge Microgateway peut découvrir au démarrage. Les proxys compatibles avec les microgateways doivent respecter une convention de dénomination : leur nom doit commencer par edgemicro_. Par exemple, edgemicro_hello ou edgemicro_userinfo. Au démarrage, Edge Microgateway récupère depuis Edge une liste de proxys compatibles avec Microgateway à partir de l'organisation et de l'environnement Edge que vous avez spécifiés au démarrage d'Edge Microgateway.

    Pour chaque proxy compatible avec Microgateway, Edge Microgateway récupère l'URL cible du proxy et son chemin de base. Les proxys compatibles avec Microgateway permettent également d'associer facilement les données analytiques générées par Edge Microgateway à un proxy sur la plate-forme Edge. Comme la passerelle Microgateway gère les appels d'API, elle transmet de manière asynchrone les données d'analyse à Edge. Les données Analytics s'afficheront dans l'UI Edge Analytics sous le ou les noms de proxy compatibles avec la passerelle de microservices, comme pour tout autre proxy.
  • Un produit, un développeur et une application de développement : Edge Microgateway utilise des produits, des développeurs et des applications de développement pour activer la sécurité des jetons d'accès OAuth2 ou des clés API. Au démarrage, Edge Microgateway télécharge toutes les configurations de produit de votre organisation Apigee Edge. Il utilise ces informations pour valider les appels d'API effectués via Edge Microgateway avec des clés API ou des jetons d'accès OAuth2.

En savoir plus : consultez également "Ce que vous devez savoir sur les proxys compatibles avec Edge Microgateway" dans la Présentation d'Edge Microgateway.

1. Créer un proxy d'API compatible avec Edge Microgateway sur Edge

  1. Connectez-vous à votre organisation sur Apigee Edge.
  2. Cliquez sur PASSER À L'ANCIENNE INTERFACE pour accéder à l'ancienne interface utilisateur Edge.
  3. Sélectionnez API > Proxys d'API dans le menu du haut.
  4. Sur la page "Proxys d'API", cliquez sur + Proxy d'API.
  5. Dans l'assistant Créer un proxy, sélectionnez Proxy inverse (le plus courant).
  6. Cliquez sur Suivant.
  7. Sur la page "Détails" de l'assistant, configurez les éléments comme suit. Veillez à remplir l'assistant exactement comme indiqué :
    • Nom du proxy : edgemicro_hello
    • Chemin de base du proxy : /hello
    • API existante : http://mocktarget.apigee.net/
  8. Cliquez sur Suivant.
  9. Sur la page "Sécurité" de l'assistant, sélectionnez Pass through (aucune).
  10. Cliquez sur Suivant.
  11. Sur la page "Hôtes virtuels" de l'assistant, acceptez les valeurs par défaut.
  12. Cliquez sur Suivant.
  13. Sur la page "Créer" de l'assistant, vérifiez vos paramètres proxy. Assurez-vous que l'environnement de test est sélectionné.
  14. Cliquez sur Build and Deploy (Compiler et déployer).

2. Créer un produit

Créez un produit contenant deux proxys :

  • Votre proxy compatible avec la micro-passerelle : edgemicro_hello
  • Le proxy d'authentification installé par Edge Microgateway : edgemicro-auth.
  1. Dans l'interface utilisateur Edge (version classique), accédez à Publier > Produits.
  2. Sur la page "Produits", cliquez sur + Produit. Renseignez la page "Informations détaillées sur le produit" comme suit :
    • Nom : EdgeMicroTestProduct
    • Nom à afficher : EdgeMicroTestProduct
    • Environment (Environnement) : test et prod
    • Access (Accès) : Public
    • Type d'approbation de clé : Automatique
    • Ressources :
      • Proxy d'API : sélectionnez edgemicro_hello.
      • Révision : 1
      • Chemin d'accès à la ressource : /**
  3. Cliquez sur Importer une ressource.
  4. Dans "Ressources", cliquez sur + Proxy d'API.
  5. Sélectionnez edgemicro-auth.
  6. Cliquez sur Enregistrer.

3. (Facultatif) Créer un développeur de test

Pour les besoins de ce tutoriel, vous pouvez utiliser n'importe quel développeur existant pour l'étape suivante, qui consiste à créer une application de développeur. Toutefois, si vous le souhaitez, vous pouvez créer un développeur de test maintenant :

  1. Accédez à Publier > Développeurs.
  2. Sur la page "Produits", cliquez sur + Développeur.
  3. Renseignez les champs de la boîte de dialogue pour créer un développeur de test.

4. Créer une application de développement

Vous allez utiliser les identifiants client de cette application pour effectuer des appels d'API sécurisés via Edge Microgateway :

  1. Accédez à Publier > Applications pour les développeurs.
  2. Sur la page "Applications de développeur", cliquez sur + Application de développeur.
  3. Renseignez la page "Application de développeur" comme suit :
    1. Nom : EdgeMicroTestApp
    2. Nom à afficher : EdgeMicroTestApp
    3. Développeur : si vous avez créé un développeur de test, sélectionnez-le. Vous pouvez également utiliser n'importe quel développeur existant pour ce tutoriel.
    4. Identifiants :
      1. Sélectionnez Expiration : Jamais.
      2. Cliquez sur + Produit, puis sélectionnez EdgeMicroTestProduct (le produit que vous venez de créer).
  4. Cliquez sur Enregistrer.
  5. Vous êtes redirigé vers la page de la liste des applications pour les développeurs.
  6. Sélectionnez l'application que vous venez de créer, EdgeMicroTestApp.
  7. Cliquez sur Afficher à côté de Clé client et Secret client.

Partie 3 : Exploiter Edge Microgateway

Maintenant que vous avez configuré Edge Microgateway et au moins un proxy compatible avec Edge Microgateway sur Edge, il est temps de démarrer Edge Microgateway. Un serveur HTTP Edge Microgateway s'exécutera sur votre ordinateur local, et vous effectuerez des appels d'API directement à ce serveur.

1. Démarrer Edge Microgateway

Utilisez la commande edgemicro start pour démarrer Edge Microgateway.

  1. Assurez-vous d'avoir les clés qui ont été renvoyées précédemment lorsque vous avez exécuté la commande edgemicro configure. Le résultat ressemblait à ceci :
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
  2. (Facultatif) Imprimez les informations d'aide pour la commande edgemicro start.
    edgemicro start -h
  3. Pour démarrer Edge Microgateway, exécutez la commande suivante :
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    Où :

    • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
    • env est un environnement de votre organisation (par exemple, test ou production).
    • key est la clé renvoyée précédemment par la commande configure.
    • secret est la clé renvoyée précédemment par la commande de configuration.

    Exemple

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824

    Résultat

    La commande de démarrage récupère de nombreuses informations de configuration à partir d'Apigee Edge (qui défilent dans la fenêtre du terminal). Dans le résultat, vous verrez la liste des produits et des proxys compatibles avec la micro-passerelle qui ont été détectés. À la fin du résultat, vous devriez voir quelque chose comme ceci :

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000

Que s'est-il passé ?

Consultez le terminal dans lequel vous avez exécuté la commande edgemicro config. En faisant défiler la sortie standard vers le haut, vous pouvez voir que la commande récupère une charge utile d'informations de configuration Edge Microgateway depuis Apigee Edge. Voici quelques exemples :

  • Clé publique que nous avons créée et stockée précédemment dans le coffre-fort Apigee.
  • Représentation JSON de tous les proxys compatibles avec Edge Microgateway qui existent dans l'organisation/l'environnement. Il s'agit de tous les proxys dont le nom commence par le préfixe edgemicro_.
  • Représentation JSON de tous les produits d'API existant dans l'organisation/l'environnement.

Grâce à ces informations, Edge Microgateway sait quels proxys et chemins de proxy il est autorisé à traiter. Il utilise les informations produit pour appliquer la sécurité (exactement de la même manière que n'importe quel proxy d'API sur Apigee Edge, où les clés d'application de développeur sont associées à des produits). Nous allons bientôt passer en revue les étapes à suivre pour sécuriser Edge Microgateway.

2. Tester Edge Microgateway

Une fois Edge Microgateway en cours d'exécution, vous pouvez appeler le proxy. La configuration du proxy edgemicro_hello a été téléchargée depuis Edge lorsque vous avez démarré Edge Microgateway. N'oubliez pas que le chemin de base du proxy est /hello.

Pour tester Edge Microgateway, nous commençons par le chemin de base et ajoutons un chemin de ressource /echo. Notez que tout ce qui se trouve après le chemin de base (y compris les paramètres de requête) est simplement transmis à la cible de backend :

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

Cette erreur se produit, car vous n'avez pas envoyé de clé API ni de jeton d'accès valides avec la requête. Par défaut, Edge Microgateway exige une clé API ou un jeton d'accès pour chaque appel d'API. À l'étape suivante du tutoriel, nous sécuriserons correctement cette API et vous montrerons comment obtenir un jeton d'accès valide et l'inclure dans la requête.

4. Arrêter Edge Microgateway

  1. Dans une autre fenêtre de terminal, cd vers le même répertoire que celui à partir duquel vous avez démarré Edge Microgateway.
  2. Saisissez la commande d'arrêt :
    edgemicro stop

Partie 4 : Sécuriser Edge Microgateway

Vous pouvez sécuriser les appels d'API effectués via Edge Microgateway à l'aide d'une clé API ou d'un jeton d'accès.

Sécuriser les appels d'API avec un jeton d'accès OAuth2

Procédez comme suit si vous souhaitez authentifier les appels d'API avec un jeton d'accès OAuth2 :

1. Obtenir les clés requises

  1. Dans l'interface utilisateur Edge, accédez à l'application de développeur que vous avez créée précédemment, comme décrit dans la partie 2 : Créer des entités sur Apigee Edge. Le nom de l'application était EdgeMicroTestApp.
  2. Sur la page "Application de développeur", affichez la clé client et le secret client, puis copiez-les. Ces valeurs sont requises pour obtenir un jeton d'accès à l'étape suivante.

2. Obtenir un jeton d'accès

Il existe deux façons d'obtenir un jeton d'accès. Nous allons vous présenter les deux méthodes.

Utiliser la CLI pour obtenir un jeton d'accès

La première méthode est pratique et suit le modèle que nous avons utilisé tout au long du tutoriel. La deuxième méthode est généralement plus utile aux développeurs d'applications clientes qui doivent demander des jetons. Le point de terminaison de jeton réel est implémenté dans le proxy edgemicro-auth qui a été déployé lorsque vous avez configuré Edge Microgateway.

  1. (Facultatif) Affichez l'aide de la commande token get :
    edgemicro token get -h
  2. Générez le jeton en remplaçant les valeurs de la clé client et du secret client de l'application de développeur que vous avez créée sur Apigee Edge dans les paramètres -i et -s :
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    Où :

    • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
    • env est un environnement de votre organisation (par exemple, test ou production).
    • consumer_id correspond au numéro client dans l'application de développeur que vous avez créée précédemment.
    • consumer_secret correspond au code secret du consommateur dans l'application pour les développeurs que vous avez créée précédemment.

    Exemple

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy

    Exemple de résultat

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }

(Facultatif) Utiliser l'API pour obtenir un jeton

Si vous avez l'habitude d'appeler des proxys Edge à l'aide de curl ou d'un autre client HTTP, vous serez intéressé de savoir que vous pouvez appeler le point de terminaison du jeton directement, plutôt que d'utiliser la commande edgemicro token. Voici un exemple de curl. Il vous suffit de remplacer les noms de votre organisation et de votre environnement dans l'URL, et de transmettre les valeurs de clé client et de secret client séparées par un deux-points dans un en-tête d'authentification de base :

curl -i -X POST --user [client_id]:[client_secret] "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{"grant_type": "client_credentials"}' -H "Content-Type: application/json"

Où :

  • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
  • env est un environnement dans votre organisation (tel que test ou production).
  • client_id correspond au numéro client de l'application de développeur que vous avez créée précédemment.
  • client_secret correspond au code secret du consommateur dans l'application pour les développeurs que vous avez créée précédemment.

Sortie (exemple)

La commande, que vous ayez utilisé la commande CLI edgemicro token ou appelé le point de terminaison à l'aide de curl, renvoie un jeton d'accès signé qui peut être utilisé pour effectuer des appels client. Le résultat devrait ressembler à ce qui suit :

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. Vérifier la configuration dans Edge Microgateway

  1. Ouvrez le fichier ~/.edgemicro/org-env-config.yaml. . Consultez également "Où Edge Microgateway est-il installé ?" dans Installer Edge Microgateway.
  2. Assurez-vous que ces propriétés du plug-in OAuth sont définies sur false. Par défaut, elles sont définies sur "false", mais il est recommandé de vérifier :
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Dans le fichier org-env-config.yaml, assurez-vous également que le plug-in oauth est ajouté à l'élément plugins:sequence, comme suit :
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Si vous apportez des modifications au fichier, rechargez les modifications dans l'instance Edge Microgateway en cours d'exécution. Cette commande reconfigure Edge Microgateway sans temps d'arrêt :
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Où :

    • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
    • env est un environnement de votre organisation (par exemple, test ou production).
    • key est la clé renvoyée précédemment par la commande configure.
    • secret est la clé renvoyée précédemment par la commande de configuration.

    Exemple

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

4. Appeler l'API de manière sécurisée

Maintenant que vous disposez d'un jeton d'accès, vous pouvez effectuer l'appel d'API de manière sécurisée. Exemple :

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

L'API renvoie des en-têtes et d'autres informations du serveur fictif.

Sécuriser l'API avec une clé API

Si vous souhaitez utiliser une clé API pour l'autorisation, procédez comme suit :

1. Obtenir la clé API

  1. Dans l'interface utilisateur Edge, accédez à l'application de développeur que vous avez créée précédemment, comme décrit dans la partie 2 : Créer des entités sur Apigee Edge. Le nom de l'application était EdgeMicroTestApp.
  2. Sur la page de l'application de développeur, affichez la clé client et copiez-la. Cette valeur correspond à la clé API. Vous utiliserez cette clé pour effectuer des appels d'API authentifiés.

2. Vérifier la configuration dans Edge Microgateway

  1. Ouvrez le fichier ~/.edgemicro/org-env-config.yaml. . Consultez également "Où Edge Microgateway est-il installé ?" dans Installer Edge Microgateway.
  2. Assurez-vous que ces propriétés du plug-in OAuth sont définies sur false. Par défaut, elles sont définies sur "false", mais il est recommandé de vérifier :
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Dans le fichier org-env-config.yaml, assurez-vous également que le plug-in oauth est ajouté à l'élément plugins:sequence, comme suit :
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Si vous apportez des modifications au fichier, rechargez les modifications dans l'instance Edge Microgateway en cours d'exécution. Cette commande reconfigure Edge Microgateway sans temps d'arrêt :
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Où :

    • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
    • env est un environnement de votre organisation (par exemple, test ou production).
    • key est la clé renvoyée précédemment par la commande configure.
    • secret est la clé renvoyée précédemment par la commande de configuration.

    Exemple

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d

3. Appeler l'API de manière sécurisée avec une clé API

Appelez l'API avec l'en-tête x-api-key comme suit. La valeur de la clé client que vous avez copiée à partir de l'application de développeur correspond à la clé API. Par défaut, Edge Microgateway s'attend à ce que vous transmettiez la clé dans un en-tête appelé x-api-key, comme suit :

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

Où :

  • apikey correspond à la valeur de la clé client extraite d'EdgeMicroTestApp.

Exemple :


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxa0ilYQ5szwuljr5bB'

Vous disposez désormais d'une passerelle Edge Microgateway entièrement fonctionnelle et sécurisée. Dans la prochaine partie du tutoriel, nous allons examiner les plug-ins qui ajoutent des fonctionnalités à Edge Microgateway.

Partie 5 : Ajouter un plug-in Spike Arrest

Dans cette partie, nous allons ajouter une fonctionnalité de limitation du débit appelée "spike arrest" à votre instance Edge Microgateway.

Que sont les plug-ins ?

Un plug-in est un module Node.js qui ajoute des fonctionnalités à Edge Microgateway. Les modules de plug-in suivent un modèle cohérent et sont stockés dans un emplacement connu d'Edge Microgateway, ce qui permet à la passerelle de microservices de les découvrir et de les charger automatiquement. Pour en savoir plus sur les plug-ins, consultez Utiliser des plug-ins.

Ajouter le plug-in Spike Arrest

SpikeArrest protège contre les pics de trafic. Il limite le nombre de requêtes traitées par une instance Edge Microgateway.

Dans Edge Microgateway, l'arrêt des pics est implémenté en tant que module de plug-in. Pour l'activer, vous devez l'ajouter au fichier de configuration Edge Microgateway.

  1. Ouvrez le fichier ~/.edgemicro/org-env-config.yaml. . Consultez également "Où Edge Microgateway est-il installé ?" dans Installer Edge Microgateway.
  2. Ajoutez l'élément suivant. Vous pouvez l'ajouter n'importe où dans le fichier.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Ajoutez spikearrest à l'élément edgemicro:sequence, comme indiqué ci-dessous. La propriété de configuration de séquence indique à Edge Microgateway l'ordre dans lequel les modules de plug-in sont exécutés.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - spikearrest
        - oauth 
  4. Enregistrez le fichier de configuration.
  5. Rechargez Edge Microgateway avec la commande reload. Vous devez exécuter cette commande à partir du répertoire dans lequel vous avez démarré Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Où :

    • org est le nom de votre organisation Edge (vous devez être administrateur de l'organisation).
    • env est un environnement de votre organisation (par exemple, test ou production).
    • key est la clé renvoyée précédemment par la commande configure.
    • secret est la clé renvoyée précédemment par la commande de configuration.

    Exemple

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. Essayez d'appeler l'API plusieurs fois de suite. Après le deuxième appel, Edge Microgateway renvoie l'erreur suivante :
    {"message":"SpikeArrest engaged","status":503}

En effet, l'arrêt des pics permet de lisser le nombre d'appels pouvant être effectués au cours de l'unité de temps spécifiée. Dans ce cas, vous pouvez effectuer 10 appels en une minute, soit un toutes les six secondes.

Pour en savoir plus, consultez "Comment fonctionne l'arrêt des pics ?" dans Utiliser des plug-ins.

Crédit supplémentaire : ajouter le plug-in de quota

En suivant le même modèle que celui utilisé pour configurer l'arrêt des pics, vous pouvez ajouter d'autres plug-ins, comme le plug-in de quota. Comme pour l'arrêt des pics, le plug-in de quota est inclus dans chaque installation Edge Microgateway. Un quota spécifie le nombre de messages de requête qu'une application est autorisée à envoyer à une API sur un intervalle de temps spécifié (en minutes ou en heures).

Pour savoir comment fonctionnent les quotas, consultez "Utiliser le plug-in de quota" dans Utiliser des plug-ins.

Partie 6 : Afficher les données analytiques sur Apigee Edge

Nous disposons maintenant d'une instance Edge Microgateway entièrement fonctionnelle. Voyons ce qu'elle a fait. Par défaut, le module de plug-in Analytics est ajouté à Edge Micro. Ce module transmet silencieusement les données d'analyse d'Edge Micro à Apigee Edge, où elles sont utilisées par le système Edge Analytics. Voyons voir :

  1. Connectez-vous à votre organisation sur Apigee Edge.
  2. Sélectionnez Analytics > Performances du proxy.
  3. Dans le tableau de bord des performances de proxy, sélectionnez le proxy edgemicro_hello.
  4. Le graphique affiche des informations sur les tendances du trafic du proxy, comme le trafic total, le temps de réponse moyen, le temps de réponse cible moyen, etc.

Pour en savoir plus sur les tableaux de bord Edge Analytics, consultez la page d'accueil des tableaux de bord Analytics dans la documentation Edge. Pour en savoir plus sur les plug-ins, consultez Utiliser des plug-ins.