Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Présentation
Ce tutoriel vous explique les étapes nécessaires à la mise en service d'une instance Edge Microgateway.
Une fois ces étapes terminées, vous disposerez d'une installation Edge Microgateway entièrement configurée et opérationnelle, capable de traiter les requêtes API. Vous testerez la configuration en effectuant des appels d'API sécurisés via Edge Microgateway vers une cible backend. Vous apprendrez également à ajouter un plug-in d'arrêt des pics à Microgateway.
Ce guide comporte les sections suivantes:
- Condition préalable:Installer Edge Microgateway
- Partie 1:Configurer Edge Microgateway
- Partie 2:Créer des entités sur Apigee Edge
- Partie 3:Utiliser Edge Microgateway
- Partie 4:Secure Edge Microgateway
- Partie 5:Ajouter le plug-in Spike Arrest
- Partie 6: Afficher les données Analytics sur Apigee Edge
Condition préalable: installer Edge Microgateway
Suivez les instructions de la section Installer Edge Microgateway. Une fois l'installation terminée, vous serez prêt à 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 de communiquer avec Apigee Edge. Si vous utilisez Apigee Edge Cloud, suivez les étapes de configuration d'Apigee Edge Cloud. Si vous utilisez un cloud privé Apigee, suivez les étapes pour le cloud privé Apigee Edge.
Étapes de configuration d'Apigee Edge Cloud
Pour utiliser Edge Microgateway avec Apigee Edge Cloud:
- Si vous ne l'avez pas déjà fait, initialisez Edge Microgateway (vous n'avez besoin de suivre cette étape qu'une seule fois):
edgemicro init
- (Facultatif) Affichez l'aide de la commande edgemicro configure:
edgemicro configure -h
- 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 (test ou production, par exemple).username
est l'adresse e-mail associée à votre compte Apigee.
Exemple
edgemicro configure -o docs -e test -u jdoe@example.com
Sortie
./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 du cloud privé Apigee
Pour utiliser Edge Microgateway avec Apigee Private Cloud:
- Affichez les informations d'aide pour la commande edgemicro private configure. Vous pouvez imprimer l'aide de cette manière pour n'importe quelle commande ou option de commande de la CLI Edge Microgateway.
edgemicro private configure -h
- Exécutez la commande ci-dessous. Il requiert des informations standards sur votre compte de cloud privé Apigee Edge: 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 un administrateur de l'organisation Edge pour pouvoir 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 (test ou production, par exemple).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
est 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 sontdefault,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
ou, si vous avez l'alias d'hôte virtuel myorg-test.mycompany.com
, utilisez 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
Sortie
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 correctement configuré 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 de votre organisation (test ou production, par exemple).key
est la clé renvoyée précédemment par la commande "config".secret
est la clé renvoyée précédemment par la commande "config".
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 avec Apigee Edge. Une fois l'amorçage réussi, Edge Microgateway récupère une charge utile d'informations de configuration supplémentaires auprès d'Apigee Edge.
À quoi servent ces informations de configuration ? Comme nous le découvrirons dans la prochaine partie de ce tutoriel, au démarrage d'Edge Microgateway, vous devez recevoir une liste de proxys d'API spéciaux compatibles avec Edge Microgateway d'Apigee Edge. Dans la partie suivante de ce tutoriel, vous allez créer un proxy compatible avec Microgateway. Edge Microgateway limite les clients aux appels uniquement aux API orientées par ces proxys d'API compatibles avec Microgateway, et les clients sont tenus (par défaut) de présenter un jeton de sécurité valide pour chaque appel. Pour en savoir plus sur ces proxys, consultez la section "Ce que vous devez savoir sur les proxys compatibles avec Edge Microgateway" de la présentation d'Edge Microgateway.
En tant qu'administrateur de l'organisation Edge, sachez que les proxys compatibles avec Edge Microgateway peuvent être ajoutés aux produits Edge, comme tous les autres proxys. Grâce à l'utilisation de produits et d'applications de développement, vous pouvez générer des jetons de sécurité spécifiques au client pour contrôler l'accès aux API appelées via Edge Microgateway. Là encore, les modèles impliqués sont identiques à l'utilisation de tout proxy d'API, produit et application de développement sur Apigee Edge. Si vous souhaitez en savoir plus sur les produits, commencez par Qu'est-ce qu'un produit API ? dans la documentation Edge.
Nous verrons ensuite comment créer des proxys compatibles avec Edge Microgateway, puis nous lancerons 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 Microgateway ont une convention d'attribution de noms que vous devez respecter: le nom doit être suivi de
edgemicro_
. Par exemple,edgemicro_hello
ouedgemicro_userinfo
. Lorsque Edge Microgateway démarre, il récupère auprès d'Edge une liste de proxys compatibles avec les micropasserelles provenant de l'organisation et de l'environnement Edge que vous avez spécifiés lors du démarrage d'Edge Microgateway.
Pour chaque proxy compatible avec la micro-passerelle, Edge Microgatway récupère l'URL cible du proxy et son chemin de base. Les proxys compatibles avec Microgateway offrent également un moyen pratique d'associer les données d'analyse générées par Edge Microgateway à un proxy sur la plate-forme Edge. Comme Microgateway gère les appels d'API, elle transmet les données d'analyse de manière asynchrone à Edge. Les données d'analyse s'afficheront dans l'interface utilisateur Edge Analytics sous le ou les noms de proxy compatibles avec la micro-passerelle, comme c'est le cas pour tout autre proxy.
- Une application de produit, de développeur et de développeur : 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 d'Edge Microgateway, il télécharge toutes les configurations de produit de votre organisation Apigee Edge. Il utilise ces informations pour vérifier les appels d'API effectués via Edge Microgateway à l'aide de clés API ou de jetons d'accès OAuth2.
Pour en savoir plus:consultez également la section "Ce que vous devez savoir sur les proxys compatibles avec Edge Microgateway" dans la présentation d'Edge Microgateway.
1. Créez un proxy d'API compatible avec Edge Microgateway sur Edge
- Connectez-vous à votre organisation sur Apigee Edge.
- Cliquez sur PASSER À LA VERSION CLASSIQUE pour accéder à l'interface utilisateur Edge Classic.
- Sélectionnez APIs > API Proxies (API > Proxys d'API) dans le menu supérieur.
- Sur la page "API Proxies", cliquez sur + API Proxy (+ Proxy d'API).
- Dans l'assistant Créer un proxy, sélectionnez Proxy inverse (le plus courant).
- Cliquez sur Suivant.
- Sur la page "Détails" de l'assistant, procédez comme suit. Assurez-vous de remplir l'assistant exactement comme indiqué ci-dessous:
- Nom du proxy: edgemicro_hello
- Chemin de base du proxy: /hello
- API existante: http://mocktarget.apigee.net/
- Cliquez sur Suivant.
- Sur la page "Sécurité" de l'assistant, sélectionnez Passthrough (none).
- Cliquez sur Suivant.
- Sur la page "Virtual Hosts" (Hôtes virtuels) de l'assistant, acceptez les valeurs par défaut.
- Cliquez sur Suivant.
- Sur la page Création de l'assistant, vérifiez vos paramètres proxy. Assurez-vous que l'environnement de test est sélectionné.
- 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.
- Dans l'interface utilisateur Edge (version classique), accédez à Publier > Produits.
- Sur la page "Produits", cliquez sur + Produit. Remplissez la page d'informations sur le produit comme suit :
- Nom:EdgeMicroTestProduct
- Nom à afficher:EdgeMicroTestProduct
- Environnement:test et production
- Access (Accès) : Public
- Key Approval Type (Type d'approbation de clé) : Automatique
-
Ressources:
- API Proxy (Proxy d'API) : sélectionnez edgemicro_hello.
- Révision:1
- Chemin d'accès à la ressource : /**
- Cliquez sur Import Resource (Importer une ressource).
- Dans "Ressources", cliquez sur + Proxy d'API.
- Sélectionnez edgemicro-auth.
- 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, à savoir la création d'une application de développement. Toutefois, si vous le souhaitez, vous pouvez créer un développeur de test maintenant:
- Accédez à Publier > Développeurs.
- Sur la page "Produits", cliquez sur + Développeur.
- Remplissez la boîte de dialogue pour créer un développeur de test.
4. Créer une application de développeur
Vous allez utiliser les identifiants client de cette application pour effectuer des appels d'API sécurisés via Edge Microgateway:
- Accédez à Publier > Applications pour les développeurs.
- Sur la page "Applications de développeur", cliquez sur + Application de développeur.
- Remplissez la page de l'application du développeur comme suit :
- Nom:EdgeMicroTestApp
- Nom à afficher:EdgeMicroTestApp
- Développeur:si vous avez créé un développeur test, sélectionnez-le. Vous pouvez également faire appel à n'importe quel développeur existant pour ce tutoriel.
-
Identifiants:
- Sélectionnez "Expiration" : Jamais.
- Cliquez sur + Produit, puis sélectionnez EdgeMicroTestProduct (le produit que vous venez de créer).
- Cliquez sur Enregistrer.
- Vous êtes revenu sur la page de la liste des applications de développeur.
- Sélectionnez l'application que vous venez de créer (EdgeMicroTestApp).
- Cliquez sur Afficher à côté de Clé client et Code secret client.
Partie 3: Utiliser Edge Microgateway
Maintenant que vous avez configuré Edge Microgateway et au moins un proxy compatible avec Edge Microgateway sur Edge, vous pouvez démarrer Edge Microgateway. Un serveur HTTP Edge Microgateway s'exécutera sur votre machine locale et vous effectuerez des appels d'API directement vers ce serveur.
1. Démarrer Edge Microgateway
Utilisez la commande edgemicro start pour démarrer Edge Microgateway.
- Assurez-vous de disposer des clés renvoyées précédemment lorsque vous avez exécuté la commande edgemicro configure. Cette sortie ressemblait à ceci :
You need key and secret while starting edgemicro instance key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
- (Facultatif) Affichez les informations d'aide associées à la commande
edgemicro start
.
edgemicro start -h
- 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 (test ou production, par exemple).key
est la clé renvoyée précédemment par la commande "config".secret
est la clé renvoyée précédemment par la commande "config".
Exemple
edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
Sortie
La commande start récupère de nombreuses informations de configuration à partir d'Apigee Edge (qui défile jusqu'à la fenêtre de terminal). Dans le résultat, vous verrez une liste de proxys et de produits compatibles avec les micro-passerelles qui ont été découverts. À la fin du résultat, vous devriez obtenir un résultat semblable à celui-ci:
... 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é ?
Examinez le terminal sur lequel vous avez exécuté la commande edgemicro config. En faisant défiler la sortie standard vers le haut, vous pouvez constater que la commande récupère une charge utile des informations de configuration Edge Microgateway à partir d'Apigee Edge. Voici quelques exemples :
- Clé publique que nous avons créée et stockée précédemment dans Apigee Vault.
- Représentation JSON de tous les proxys compatibles avec Edge Microgateway qui existent dans l'organisation ou l'environnement. Tous les proxys sont nommés avec le préfixe edgemicro_.
- Représentation JSON de tous les produits d'API qui existent dans l'organisation ou l'environnement.
Grâce à ces informations, Edge Microgateway sait quels proxys et chemins proxy il est autorisé à traiter. Il utilise les informations produit pour renforcer 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 suivrons les étapes de sécurisation d'Edge Microgateway dans un instant.
2. Tester Edge Microgateway
Lorsque Edge Microgateway est 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 d'accès à la 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 du backend:
curl -i http://localhost:8000/hello/echo {"error":"missing_authorization","error_description":"Missing Authorization header"}
L'erreur se produit parce que vous n'avez pas envoyé de clé API ou de jeton d'accès valide avec la requête. Par défaut, Edge Microgateway nécessite une clé API ou un jeton d'accès à chaque appel d'API. À l'étape suivante du tutoriel, nous allons sécuriser cette API correctement et vous montrer comment obtenir un jeton d'accès valide et l'inclure dans la requête.
4. Arrêter Edge Microgateway
- Dans une fenêtre de terminal distincte,
cd
accédez au répertoire où vous avez démarré Edge Microgateway. - Saisissez la commande d'arrêt:
edgemicro stop
Partie 4: Secure 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
Pour authentifier les appels d'API avec un jeton d'accès OAuth2, procédez comme suit:
1. Obtenez les clés requises
- 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.
- Sur la page de l'application du développeur, affichez la clé client et le code secret client, puis copiez-les. Ces valeurs sont nécessaires 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 pour les développeurs d'applications clientes qui doivent demander des jetons. Le point de terminaison réel du jeton est mis en œuvre dans le proxy edgemicro-auth qui a été déployé lors de la configuration d'Edge Microgateway.
- (Facultatif) Affichez l'aide sur la commande token get :
edgemicro token get -h
- Générez le jeton en remplaçant les valeurs de la clé client et du code secret client provenant de l'application de développement 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 (test ou production, par exemple).consumer_id
est l'ID client dans l'application de développeur que vous avez créée précédemment.consumer_secret
est le code secret client dans l'application de développement que vous avez créée précédemment.
Exemple
edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
Sortie (exemple)
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, sachez que vous pouvez appeler directement le point de terminaison du jeton, plutôt que d'utiliser la commande edgemicro token. Voici un exemple 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/code secret client séparées par des 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 de votre organisation (test ou production, par exemple).client_id
est l'ID client dans l'application de développeur que vous avez créée précédemment.client_secret
est le code secret client dans l'application de développement que vous avez créée précédemment.
Sortie (exemple)
Que vous ayez utilisé la commande de CLI edgemicro token ou que vous ayez appelé le point de terminaison à l'aide de curl, cette commande renvoie un jeton d'accès signé qui peut être utilisé pour effectuer des appels client. Par exemple:
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érifiez la configuration dans Edge Microgateway
- Ouvrez le fichier ~
/.edgemicro/org-env-config.yaml.
Consultez également la section "Où est installé Edge Microgateway" de la section Installer Edge Microgateway. - Assurez-vous que ces propriétés du plug-in OAuth sont définies sur false. La valeur "false" est définie par défaut, mais nous vous recommandons de vérifier :
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Toujours dans le fichier
org-env-config.yaml
, assurez-vous que le plug-in OAuth est ajouté à l'élémentplugins:sequence
, comme suit :plugins: dir: ../plugins sequence: - oauth
- Si vous apportez des modifications au fichier, actualisez les données 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 (test ou production, par exemple).key
est la clé renvoyée précédemment par la commande "config".secret
est la clé renvoyée précédemment par la commande "config".
Exemple
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
4. Appelez 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 les en-têtes et d'autres informations à partir 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
- 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.
- Sur la page de l'application du 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érifiez la configuration dans Edge Microgateway
- Ouvrez le fichier ~
/.edgemicro/org-env-config.yaml.
Consultez également la section "Où est installé Edge Microgateway" de la section Installer Edge Microgateway. - Assurez-vous que ces propriétés du plug-in OAuth sont définies sur false. La valeur "false" est définie par défaut, mais nous vous recommandons de vérifier :
oauth: allowNoAuthorization: false allowInvalidAuthorization: false
- Toujours dans le fichier
org-env-config.yaml
, assurez-vous que le plug-in OAuth est ajouté à l'élémentplugins:sequence
, comme suit :plugins: dir: ../plugins sequence: - oauth
- Si vous apportez des modifications au fichier, actualisez les données 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 (test ou production, par exemple).key
est la clé renvoyée précédemment par la commande "config".secret
est la clé renvoyée précédemment par la commande "config".
Exemple
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
3. Appelez 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 depuis l'application de développement 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
est 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 partie suivante du tutoriel, nous examinerons les plug-ins qui ajoutent des fonctionnalités à Edge Microgateway.
Partie 5: Ajouter un plug-in Spike Arrest
Dans cette partie, nous ajouterons une fonctionnalité de limitation du débit appelée "arrêt de pics" à 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 micropasserelle de les détecter et de les charger automatiquement. Pour en savoir plus sur les plug-ins, consultez la page Utiliser des plug-ins.
Ajouter le plug-in d'arrêt des pics
Spike Arrest vous 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.
- Ouvrez le fichier ~
/.edgemicro/org-env-config.yaml.
Consultez également la section "Où est installé Edge Microgateway" de la section Installer Edge Microgateway. - Ajoutez l'élément suivant. Vous pouvez l'ajouter n'importe où dans le fichier.
spikearrest: timeUnit: minute allow: 10 buffersize: 0
- Ajoutez
spikearrest
à l'élémentedgemicro:sequence
, comme indiqué ci-dessous. La propriété de configuration de la séquence indique à Edge Microgateway dans lequel les modules du 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
- Enregistrez le fichier de configuration.
- Actualisez Edge Microgateway à l'aide de 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 (test ou production, par exemple).key
est la clé renvoyée précédemment par la commande "config".secret
est la clé renvoyée précédemment par la commande "config".
Exemple
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- Essayez d'appeler l'API plusieurs fois à la 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 lisse le nombre d'appels pouvant être effectués sur l'unité de temps spécifiée. Dans ce cas, vous pouvez passer 10 appels par minute, ou un appel toutes les 6 secondes.
Pour en savoir plus, consultez la section "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 schéma que celui utilisé pour configurer l'arrêt des pics, vous pouvez ajouter d'autres plug-ins, tels que le plug-in de quota. Comme pour l'arrêt des pics, le plug-in de quota est inclus dans chaque installation d'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é (minutes ou heures).
Pour en savoir plus sur le fonctionnement des quotas, consultez la section "Utiliser le plug-in de quota" dans Utiliser des plug-ins.
Partie 6: Afficher les données analytiques sur Apigee Edge
Nous disposons désormais d'une instance Edge Microgateway entièrement fonctionnelle. Voyons ce qu'elle a fait ! Par défaut, le module du plug-in d'analyse est ajouté à Edge Micro. Ce module transfère discrètement les données d'analyse d'Edge Micro vers Apigee Edge, où elles sont utilisées par le système Edge Analytics. Voyons cela:
- Connectez-vous à votre organisation sur Apigee Edge.
- Sélectionnez Analytics > Proxy Performance.
- Dans le tableau de bord Performances du proxy, sélectionnez le proxyedgemicro_hello.
- Le graphique affiche des informations sur les modèles de trafic du proxy, telles que 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 Tableaux de bord Analytics dans la documentation Edge. Pour en savoir plus sur les plug-ins, consultez Utiliser des plug-ins.