Configurazione e configurazione di Edge Microgateway

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Microgateway Edge v. 2.3.x

Panoramica

Questo tutorial illustra i passaggi necessari per rendere operativa un'istanza di Edge Microgateway.

Dopo aver completato i passaggi qui, avrai un'installazione di Edge Microgateway completamente configurata e funzionante in grado di elaborare le richieste API. Testerai la configurazione effettuando chiamate API sicure tramite Edge Microgateway a una destinazione di backend. Imparerai anche come aggiungere un plug-in per l'arresto dei picchi di traffico al microgateway.

La guida è suddivisa nelle seguenti parti:

Prerequisito: installare Edge Microgateway

Segui le istruzioni in Installazione di Edge Microgateway. Una volta completata l'installazione, potrai seguire i passaggi di questo tutorial.

Al termine dell'installazione, vai alla sezione successiva, "Parte 1: configurare Edge Microgateway".

Parte 1: configurare Edge Microgateway

In questa parte utilizzerai un comando di interfaccia a riga di comando (CLI) per configurare Edge Microgateway in modo da comunicare con Apigee Edge. Se utilizzi Apigee Edge Cloud, segui i passaggi di configurazione di Apigee Edge Cloud. Se ti trovi in Apigee Private Cloud, segui i passaggi per Apigee Edge Private Cloud.

Passaggi di configurazione di Apigee Edge Cloud

Segui questi passaggi per utilizzare Edge Microgateway con Apigee Edge Cloud:

  1. Se non lo hai già fatto, inizializza Edge Microgateway (devi eseguire questo passaggio solo una volta):
    edgemicro init
    
  2. (Facoltativo) Stampa la guida per il comando edgemicro configure:
    edgemicro configure -h
    
  3. Esegui questo comando per configurare Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    Dove:

    • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
    • username è l'indirizzo email associato al tuo account Apigee.

Esempio

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

Output

./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!
    

Passaggi di configurazione di Apigee Private Cloud

Segui questi passaggi per utilizzare Edge Microgateway con Apigee Private Cloud:

  1. Stampa le informazioni della guida per il comando edgemicro private configure. Puoi stampare la guida in questo modo per qualsiasi comando o opzione di comando dell'interfaccia a riga di comando di Edge Microgateway.
    edgemicro private configure -h
    
  2. Esegui questo comando. Richiede informazioni standard sul tuo account cloud privato Apigee Edge: nome dell'organizzazione, nome dell'ambiente, nome utente (indirizzo email), password, IP del server di gestione e IP del router. Devi essere un amministratore dell'organizzazione Edge per utilizzare questo comando:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    

    Dove:

    • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
    • runtime_url è l'URL di runtime per la tua istanza cloud privata.
    • mgmt_url è l'URL del server di gestione per l'istanza del cloud privato.
    • username è l'indirizzo email associato al tuo account Apigee.
    • virtual_host è un elenco separato da virgole di nomi host virtuali. I valori predefiniti sono default,secure

Esempio

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

oppure, se hai un alias host virtuale di myorg-test.mycompany.com, puoi utilizzare un comando come questo:

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

Output

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!
    

Verifica l'installazione

Esegui questo comando per verificare l'installazione. Se non vengono segnalati errori, tutto è configurato correttamente e potrai avviare Edge Microgateway correttamente.

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

Dove:

  • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
  • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
  • key è la chiave restituita in precedenza dal comando configure.
  • secret è la chiave restituita in precedenza dal comando configure.

Esempio

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

Informazioni sulla configurazione

Tutta la configurazione eseguita finora consente a Edge Microgateway di eseguire il bootstrap su Apigee Edge. Una volta riuscito il bootstrap, Edge Microgateway recupera un payload di informazioni di configurazione aggiuntive da Apigee Edge.

A cosa servono queste informazioni di configurazione? Come scopriremo nella prossima parte di questo tutorial, quando Edge Microgateway inizierà, deve ricevere un elenco di proxy API speciali Edge Microgateway abilitati da Apigee Edge. Nella prossima parte di questo tutorial, creerai un proxy sensibile al microgateway. Edge Microgateway limita i client a chiamare solo le API rivolte a questi proxy API compatibili con Microgateway. Per impostazione predefinita, i client dovranno presentare un token di sicurezza valido per ogni chiamata. Per saperne di più su questi proxy, consulta la sezione "Cosa devi sapere sui proxy con riconoscimento Edge Microgateway" nella Panoramica di Edge Microgateway.

In qualità di amministratore dell'organizzazione Edge, ti interessa sapere che i proxy abilitati a Edge Microgateway possono essere aggiunti ai prodotti Edge, proprio come qualsiasi altro proxy. Tramite l'utilizzo di prodotti e app per sviluppatori, puoi generare token di sicurezza specifici del client per controllare l'accesso alle API chiamate tramite Edge Microgateway. Anche in questo caso, i pattern coinvolti sono identici al lavoro con proxy API, prodotti e app per sviluppatori su Apigee Edge. Se vuoi saperne di più sui prodotti, inizia con Che cos'è un prodotto API? nella documentazione di Edge.

Ora vedremo come creare proxy Edge Microgateway, dopodiché inizieremo a avviare Edge Microgateway e testare la configurazione.

Parte 2: creare entità su Apigee Edge

In questa parte, creerai queste entità su Edge:

  • Un proxy con rilevamento del microgateway: un proxy speciale che Edge Microgateway può rilevare all'avvio. I proxy sensibili al microgateway hanno una convenzione di denominazione che devi seguire: il nome deve essere con edgemicro_. Ad esempio edgemicro_hello o edgemicro_userinfo. All'avvio, Edge Microgateway recupera da Edge un elenco di proxy con rilevamento del microgateway dalla stessa organizzazione e ambiente Edge che hai specificato quando hai avviato Edge Microgateway.

    Per ogni proxy sensibile al microgateway, Edge Microgatway recupera l'URL di destinazione del proxy e il suo percorso di base. I proxy abilitati per il microgateway offrono inoltre un modo conveniente per associare i dati di analisi generati da Edge Microgateway a un proxy sulla piattaforma Edge. Poiché Microgateway gestisce le chiamate API, esegue il push dei dati di analisi a Edge in modo asincrono. I dati di analisi verranno visualizzati nell'interfaccia utente di Edge Analytics sotto i nomi dei proxy compatibili con il gateway, come per qualsiasi altro proxy.
  • Un'app per sviluppatori, prodotti e sviluppatori. Edge Microgateway utilizza prodotti, sviluppatori e app per sviluppatori per abilitare il token di accesso OAuth2 o la sicurezza delle chiavi API. All'avvio, Edge Microgateway scarica tutte le configurazioni dei prodotti dalla tua organizzazione Apigee Edge. Utilizza queste informazioni per verificare le chiamate API effettuate tramite Edge Microgateway con chiavi API o token di accesso OAuth2.

Scopri di più: consulta anche la sezione "Cosa devi sapere sui proxy Edge Microgateway-aware" nella Panoramica del Microgateway Edge.

1. Crea un proxy API compatibile con Edge Microgateway su Edge

  1. Accedi alla tua organizzazione su Apigee Edge.
  2. Fai clic su PASSA A CLASSIC per accedere all'interfaccia utente di Edge Classic.
  3. Seleziona API > Proxy API dal menu in alto.
  4. Nella pagina Proxy API, fai clic su + Proxy API.
  5. Nella procedura guidata Crea un proxy, seleziona Inverti proxy (più comune).
  6. Tocca Avanti.
  7. Nella pagina Dettagli della procedura guidata, configura come segue. Assicurati di compilare la procedura guidata esattamente come mostrato:
    • Nome proxy: edgemicro_hello
    • Percorso base proxy: /hello
    • API esistente: http://mocktarget.apigee.net/
  8. Tocca Avanti.
  9. Nella pagina Sicurezza della procedura guidata, seleziona Passthrough (nessuno).
  10. Tocca Avanti.
  11. Nella pagina Host virtuali della procedura guidata, accetta i valori predefiniti.
  12. Tocca Avanti.
  13. Nella pagina Crea della procedura guidata, controlla le impostazioni del proxy. Assicurati che sia selezionato l'ambiente di test.
  14. Fai clic su Crea ed esegui il deployment.

2. Crea un prodotto

Crea un prodotto contenente due proxy:

  • Il tuo proxy sensibile al microgateway: edgemicro_hello
  • Il proxy di autenticazione installato da Edge Microgateway: edgemicro-auth.
  1. Nella UI di Edge (versione classica), vai a Pubblica > Prodotti.
  2. Nella pagina Prodotti, fai clic su + Prodotto. Compila la pagina Dettagli prodotto come segue:
    • Nome: EdgeMicroTestProduct
    • Nome visualizzato: EdgeMicroTestProduct
    • Ambiente: test e produzione
    • Accesso: pubblico
    • Tipo di approvazione chiave: automatico
    • Risorse:
      • Proxy API: seleziona edgemicro_hello
      • Revisione: 1
      • Percorso risorsa: /**
  3. Fai clic su Importa risorsa.
  4. In Risorse, fai clic su +proxy API
  5. Seleziona edgemicro-auth
  6. Fai clic su Salva.

3. (Facoltativo) Crea uno sviluppatore di test

Ai fini di questo tutorial, puoi utilizzare qualsiasi sviluppatore esistente per il passaggio successivo, ovvero creare un'app per sviluppatori. Se vuoi, puoi creare subito uno sviluppatore di prova:

  1. Vai a Pubblica > Sviluppatori.
  2. Nella pagina Prodotti, fai clic su + Sviluppatore.
  3. Compila la finestra di dialogo per creare uno sviluppatore di prova.

4. Crea un'app sviluppatore

Utilizzerai le credenziali client di questa app per effettuare chiamate API sicure attraverso Edge Microgateway:

  1. Vai a Pubblica > App sviluppatore.
  2. Nella pagina App sviluppatore, fai clic su + App sviluppatore.
  3. Compila la pagina dell'app per sviluppatori nel seguente modo:
    1. Nome: EdgeMicroTestApp
    2. Nome visualizzato: EdgeMicroTestApp
    3. Sviluppatore:se hai creato uno sviluppatore di test, selezionalo. In alternativa, puoi utilizzare qualsiasi sviluppatore esistente ai fini di questo tutorial.
    4. Credenziali:
      1. Seleziona Scadenza: Mai.
      2. Fai clic su + Prodotto e seleziona EdgeMicroTestProduct (il prodotto appena creato)
  4. Fai clic su Salva.
  5. Sei di nuovo nella pagina dell'elenco di app sviluppatore.
  6. Seleziona l'app appena creata, EdgeMicroTestApp.
  7. Fai clic su Mostra accanto a Chiave utente e Segreto utente.

Parte 3: utilizza Edge Microgateway

Ora che hai configurato Edge Microgateway e almeno un proxy Edge Microgateway-aware su Edge, è il momento di avviare Edge Microgateway. Un server HTTP Edge Microgateway verrà eseguito sulla tua macchina locale, dopodiché potrai effettuare chiamate API direttamente a quel server.

1. Avvia il microgateway Edge

Utilizza il comando edgemicro start per avviare Edge Microgateway.

  1. Assicurati di avere le chiavi che sono state restituite in precedenza quando eseguivi il comando edgemicro configure. L'output aveva un aspetto simile al seguente:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (Facoltativo) Stampa le informazioni della guida per il comando edgemicro start.
    edgemicro start -h
    
  3. Per avviare Edge Microgateway, esegui questo comando:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    Dove:

    • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
    • key è la chiave restituita in precedenza dal comando configure.
    • secret è la chiave restituita in precedenza dal comando configure.

    Esempio

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

    Output

    Il comando di avvio recupera molte informazioni di configurazione da Apigee Edge (che scorre nella finestra del terminale). Nell'output vedrai un elenco di prodotti e proxy con rilevamento del microgateway che sono stati rilevati. Alla fine dell'output, dovresti vedere qualcosa del genere:

    ...
    
    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
    

Che cosa è successo?

Guarda il terminale su cui hai eseguito il comando edgemicro config. Scorrendo l'output standard, puoi vedere che il comando recupera un payload di informazioni sulla configurazione di Edge Microgateway da Apigee Edge. Queste informazioni comprendono:

  • La chiave pubblica che abbiamo creato e archiviato in precedenza nell'insieme di credenziali Apigee.
  • Una rappresentazione JSON di tutti i proxy sensibili a Edge Microgateway esistenti nell'organizzazione/nell'ambiente. Questi sono tutti i proxy denominati con il prefisso edgemicro_.
  • Una rappresentazione JSON di tutti i prodotti API esistenti nell'organizzazione o nell'ambiente.

Con queste informazioni, Edge Microgateway sa quali proxy e percorsi proxy sono autorizzati a elaborare. Utilizza le informazioni sul prodotto per applicare la sicurezza (esattamente come avviene con qualsiasi proxy API su Apigee Edge, dove le chiavi app dello sviluppatore sono associate ai prodotti). A breve esamineremo i passaggi per proteggere Edge Microgateway.

2. Testa microgateway Edge

Con Edge Microgateway in esecuzione, puoi chiamare il proxy. La configurazione del proxy edgemicro_hello è stata scaricata da Edge quando hai avviato Edge Microgateway. Ricorda che il percorso base del proxy è /hello.

Per testare Edge Microgateway, iniziamo con il percorso di base e aggiungiamo un percorso risorsa /echo. Tieni presente che tutto ciò che segue il percorso di base (inclusi eventuali parametri di query) viene semplicemente trasmesso alla destinazione del backend:

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

L'errore si verifica perché non hai inviato una chiave API o un token di accesso validi con la richiesta. Per impostazione predefinita, Edge Microgateway richiede una chiave API o un token di accesso per ogni chiamata API. Nel passaggio successivo del tutorial, proteggeremo correttamente questa API e ti mostreremo come ottenere un token di accesso valido e includerlo nella richiesta.

4. Microgateway di fermata Edge

  1. In una finestra di terminale separata, cd nella stessa directory in cui hai avviato Edge Microgateway.
  2. Inserisci il comando di interruzione:
    edgemicro stop
    

Parte 4: microgateway Secure Edge

Puoi proteggere le chiamate API effettuate tramite Edge Microgateway utilizzando una chiave API o un token di accesso.

Proteggi le chiamate API con un token di accesso OAuth2

Segui questi passaggi se vuoi autenticare le chiamate API con un token di accesso OAuth2:

1. Procurati le chiavi necessarie

  1. Nella UI di Edge, vai all'app sviluppatore creata in precedenza, come descritto nella Parte 2: creare entità su Apigee Edge. Il nome dell'app era EdgeMicroTestApp.
  2. Nella pagina dell'app sviluppatore, mostra la chiave e il segreto utente e copiali. Questi valori sono necessari per ottenere un token di accesso nel passaggio successivo.

2. Ottenere un token di accesso

Esistono due modi per ottenere un token di accesso. Ti mostreremo entrambi i metodi.

Utilizzo dell'interfaccia a riga di comando per ottenere un token di accesso

Il primo metodo è pratico e segue lo schema che abbiamo utilizzato nel tutorial. Il secondo metodo è in genere più utile per gli sviluppatori di app client che devono richiedere token. L'endpoint del token effettivo viene implementato nel proxy edgemicro-auth di cui è stato eseguito il deployment durante la configurazione di Edge Microgateway.

  1. (Facoltativo) Visualizza la guida per il comando token get:
    edgemicro token get -h
    
  2. Genera il token, sostituendo i valori della chiave e del secret del consumatore dall'app per sviluppatori che hai creato su Apigee Edge nei parametri -i e -s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    Dove:

    • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
    • consumer_id è l'ID consumatore nell'app sviluppatore che hai creato in precedenza.
    • consumer_secret è il consumer secret nell'app sviluppatore che hai creato in precedenza.

    Esempio

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

    Output (esempio)

    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' }
    

(Facoltativo) Utilizzare l'API per ricevere un token

Se sei abituato a chiamare i proxy Edge utilizzando curl o un altro client HTTP, ti interesserà sapere che puoi chiamare direttamente l'endpoint del token, invece di utilizzare il comando token Edgemicro. Ecco un esempio di curl. Basta sostituire i nomi dell'organizzazione e dell'ambiente nell'URL e passare i valori Consumer Key:Consumer Secret separati da due punti in un'intestazione di autenticazione di 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"

Dove:

  • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
  • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
  • client_id è l'ID consumatore nell'app sviluppatore creata in precedenza.
  • client_secret è il consumer secret nell'app per sviluppatori che hai creato in precedenza.

Output (esempio)

Sia che tu abbia utilizzato il comando dell'interfaccia a riga di comando token edgemicro o abbia chiamato l'endpoint utilizzando curl, restituisce un token di accesso firmato che può essere utilizzato per effettuare chiamate client. Qualcosa del genere:

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. Controlla la configurazione in Edge Microgateway

  1. Apri il file ~/.edgemicro/org-env-config.yaml. Vedi anche "Dove è installato Edge Microgateway" in Installazione di Edge Microgateway.
  2. Assicurati che le proprietà del plug-in OAuth siano impostate su false. Sono false per impostazione predefinita, ma ti consigliamo di ricontrollare:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Sempre nel file org-env-config.yaml, assicurati che il plug-in OAuth venga aggiunto all'elemento plugins:sequence, come segue:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Se apporti modifiche al file, ricarica le modifiche nell'istanza Edge Microgateway in esecuzione. Questo comando riconfigura Edge Microgateway con tempo di inattività pari a zero:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Dove:

    • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
    • key è la chiave restituita in precedenza dal comando configure.
    • secret è la chiave restituita in precedenza dal comando configure.

    Esempio

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

4. chiama l'API in modo sicuro

Con un token di accesso in mano, ora puoi effettuare la chiamata API in modo sicuro. Ad esempio:

  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 restituisce le intestazioni e altre informazioni dal server fittizio.

Proteggere l'API con una chiave API

Se vuoi utilizzare una chiave API per l'autorizzazione, segui questi passaggi:

1. Recupera la chiave API

  1. Nella UI di Edge, vai all'app sviluppatore creata in precedenza, come descritto nella Parte 2: creare entità su Apigee Edge. Il nome dell'app era EdgeMicroTestApp.
  2. Nella pagina App sviluppatore, mostra la chiave utente e copiala. Questo valore è la chiave API. che utilizzerai per effettuare chiamate API autenticate.

2. Controlla la configurazione in Edge Microgateway

  1. Apri il file ~/.edgemicro/org-env-config.yaml. Vedi anche "Dove è installato Edge Microgateway" in Installazione di Edge Microgateway.
  2. Assicurati che le proprietà del plug-in OAuth siano impostate su false. Sono false per impostazione predefinita, ma ti consigliamo di ricontrollare:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Sempre nel file org-env-config.yaml, assicurati che il plug-in OAuth venga aggiunto all'elemento plugins:sequence, come segue:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Se apporti modifiche al file, ricarica le modifiche nell'istanza Edge Microgateway in esecuzione. Questo comando riconfigura Edge Microgateway con tempo di inattività pari a zero:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Dove:

    • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
    • key è la chiave restituita in precedenza dal comando configure.
    • secret è la chiave restituita in precedenza dal comando configure.

    Esempio

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

3. Chiama l'API in modo sicuro con una chiave API

Chiama l'API con l'intestazione x-api-key come segue. Il valore della chiave utente che hai copiato dall'app sviluppatore è la chiave API. Per impostazione predefinita, Edge Microgateway prevede che tu passi la chiave in un'intestazione denominata x-api-key, come la seguente:

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

Dove:

  • apikey è il valore della chiave consumer ricavato da EdgeMicroTestApp.

Ad esempio:


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

Ora hai un Edge Microgateway completamente funzionante e sicuro. Nella prossima parte del tutorial, daremo uno sguardo ai plug-in che aggiungono funzionalità a Edge Microgateway.

Parte 5: aggiungere un plug-in Spike Arrest

In questa parte, aggiungeremo una funzionalità di limitazione della frequenza chiamata arresto dei picchi alla tua istanza di Edge Microgateway.

Che cosa sono i plug-in?

Un plug-in è un modulo Node.js che aggiunge funzionalità a Edge Microgateway. I moduli plug-in seguono uno schema coerente e vengono archiviati in una posizione nota a Edge Microgateway, in modo che il microgateway li rilevi e li carichi automaticamente. Per scoprire di più sui plug-in, consulta la pagina Utilizzare i plug-in.

Aggiunta del plug-in per l'arresto dei picchi di traffico

Spike Arrest protegge dai picchi di traffico. Limita il numero di richieste elaborate da un'istanza Edge Microgateway.

In Edge Microgateway, l'arresto dei picchi è implementato come modulo plug-in. Per abilitarla, devi aggiungerla al file di configurazione di Edge Microgateway.

  1. Apri il file ~/.edgemicro/org-env-config.yaml. Vedi anche "Dove è installato Edge Microgateway" in Installazione di Edge Microgateway.
  2. Aggiungi il seguente elemento. Puoi aggiungerlo in qualsiasi punto del file.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. Aggiungi spikearrest all'elemento edgemicro:sequence, come mostrato di seguito. La proprietà di configurazione della sequenza indica a Edge Microgateway l'ordine in cui vengono eseguiti i moduli dei plug-in.
    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. Salva il file di configurazione.
  5. Ricarica Edge Microgateway con il comando reload. Devi eseguire questo comando dalla directory in cui hai avviato Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Dove:

    • org è il nome della tua organizzazione Edge (devi essere un amministratore dell'organizzazione).
    • env è un ambiente della tua organizzazione (ad esempio di test o di produzione).
    • key è la chiave restituita in precedenza dal comando configure.
    • secret è la chiave restituita in precedenza dal comando configure.

    Esempio

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. Prova a chiamare l'API più volte in rapida successione. Dopo la seconda chiamata, Edge Microgateway restituisce questo errore:
    {"message":"SpikeArrest engaged","status":503}
    

Il motivo è che l'arresto dei picchi agevola il numero di chiamate che possono essere effettuate nell'unità di tempo specificata. Quindi, in questo caso puoi effettuare 10 chiamate in un minuto o una ogni 6 secondi.

Per ulteriori informazioni, consulta la sezione "Come funziona l'arresto dei picchi di traffico?" nella sezione Utilizzare i plug-in.

Credito aggiuntivo: aggiunta del plug-in per la quota

Seguendo lo stesso pattern utilizzato per configurare l'arresto dei picchi, puoi aggiungere altri plug-in, come il plug-in per la quota. Come per l'arresto dei picchi, il plug-in per la quota è incluso in ogni installazione di Edge Microgateway. Una quota specifica il numero di messaggi di richiesta che un'app può inviare a un'API in un intervallo di tempo specificato (minuti o ore).

Per informazioni sul funzionamento delle quote, consulta la sezione "Utilizzo del plug-in per le quote" in Utilizzo dei plug-in.

Parte 6: visualizzazione dell'analisi su Apigee Edge

Ora abbiamo un'istanza di Microgateway Edge completamente funzionante, vediamo cosa sta facendo. Per impostazione predefinita, il modulo del plug-in di analisi viene aggiunto a Edge Micro. Questo modulo esegue il push dei dati di analisi da Edge Micro a Apigee Edge, dove vengono utilizzati dal sistema Edge Analytics. Vediamo:

  1. Accedi alla tua organizzazione su Apigee Edge.
  2. Seleziona Analytics > Proxy Performance (Analytics > Rendimento proxy).
  3. Nella dashboard delle prestazioni del proxy, seleziona il proxy edgemicro_hello.
  4. Il grafico mostra informazioni sui modelli di traffico del proxy, come traffico totale, tempo di risposta medio, tempo medio di risposta target e altro ancora.

Puoi scoprire di più sulle dashboard di Edge Analytics nella home page delle dashboard di analisi nella documentazione di Edge. Per scoprire di più sui plug-in, consulta Utilizzare i plug-in.