Configurazione e configurazione di Edge Microgateway

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Edge Microgateway v. 3.1.x

Panoramica

Dopo aver completato i passaggi di questa guida alla configurazione, 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 di protezione dai picchi a Microgateway.

Questa guida è suddivisa nelle seguenti parti:

Prerequisito: installa Edge Microgateway

Segui le istruzioni riportate in Installazione di Edge Microgateway. Al termine dell'installazione, potrai seguire i passaggi di questo tutorial.

Parte 1: configura Edge Microgateway

In questa parte utilizzerai un comando dell'interfaccia a riga di comando (CLI) per configurare Edge Microgateway in modo che comunichi con Apigee Edge.

Passaggi di configurazione di Apigee Edge Cloud

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

  1. Inizializza Edge Microgateway (devi eseguire questo passaggio una sola volta):
    edgemicro init
  2. Un file di configurazione denominato default.yaml è stato inserito nella tua home directory in una sottodirectory denominata .edgemicro. Controlla ora per assicurarti che questo file esista:
    ls ~/.edgemicro
    default.yaml

    Nota : nella documentazione di Edge Microgateway, facciamo riferimento alla home directory con la tilde (~), che è una scorciatoia UNIX. Se utilizzi Windows e un'interfaccia a riga di comando che non supporta la tilde, dovrai sostituire la variabile di ambiente appropriata alla tilde nei comandi che fanno riferimento alla home directory. Ad esempio: %USERPROFILE%/.edgemicro.

  3. Tutti i comandi CLI hanno una funzione di aiuto. Stampa la guida per il comando edgemicro configure:
    edgemicro configure -h
  4. 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 nella tua organizzazione (ad esempio test o produzione).
    • username: L'indirizzo email associato al tuo account Apigee.

      Nota:il comando di configurazione consente parametri aggiuntivi. Per un elenco completo, consulta Configurazione di Edge Microgateway per Apigee Edge Cloud.

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 v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
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/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Passaggi di configurazione di Apigee Private Cloud

Per utilizzare Edge Microgateway con Apigee Private Cloud:

  1. Inizializza Edge Microgateway (devi eseguire questo passaggio una sola volta):
    edgemicro init
  2. Stampa le informazioni della guida per il comando edgemicro private configure. In questo modo puoi stampare la guida per qualsiasi comando o opzione di comando della CLI di Edge Microgateway.
    edgemicro private configure -h
  3. Esegui questo comando. Richiede informazioni standard sul tuo account Apigee Edge Private Cloud: nome dell'organizzazione, nome dell'ambiente, nome utente (indirizzo email), password, IP del server di gestione e IP del router. Per utilizzare questo comando, devi essere un amministratore dell'organizzazione Edge:
    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 test o produzione).
    • runtime_url è l'URL di runtime per l'istanza del tuo cloud privato.
    • mgmt_url è l'URL del server di gestione per la tua istanza di cloud privato.
    • username è l'indirizzo email associato al tuo account Apigee.
    • virtual_host è un elenco separato da virgole di nomi di 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

o, se hai un alias di host virtuale di myorg-test.mycompany.com, utilizzeresti 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 KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

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

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 test o 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 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Informazioni sulla configurazione

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

Per cosa vengono utilizzate queste informazioni di configurazione? Come vedremo nella parte successiva di questo tutorial, quando Edge Microgateway viene avviato, deve ricevere un elenco di proxy API speciali compatibili con Edge Microgateway da Apigee Edge. Nella parte successiva di questo tutorial, creerai un proxy compatibile con Microgateway. Edge Microgateway limita i client alla chiamata solo delle API front-end di questi proxy API compatibili con Microgateway e i client dovranno (per impostazione predefinita) presentare un token di sicurezza valido per ogni chiamata. Per saperne di più su questi proxy, consulta la sezione "Cosa devi sapere sui proxy compatibili con Edge Microgateway" nella Panoramica di Edge Microgateway.

In qualità di amministratore dell'organizzazione Edge, ti interesserà sapere che i proxy compatibili con 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 per il client per controllare l'accesso alle API chiamate tramite Edge Microgateway. Anche in questo caso, i pattern coinvolti sono identici a quelli utilizzati con qualsiasi proxy API, prodotto 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.

Successivamente, vedremo come creare proxy compatibili con Edge Microgateway e, dopodiché, avvieremo Edge Microgateway e testeremo la configurazione.

Parte 2: crea entità su Apigee Edge

In questa parte creerai le seguenti entità su Edge:

  • Un proxy compatibile con microgateway: si tratta di un proxy speciale che Edge Microgateway può rilevare all'avvio. I proxy compatibili con Microgateway hanno una convenzione di denominazione che devi rispettare: il nome deve iniziare con edgemicro_. Ad esempio edgemicro_hello o edgemicro_userinfo. Quando Edge Microgateway viene avviato, recupera da Edge un elenco di proxy compatibili con il microgateway dalla stessa organizzazione e dallo stesso ambiente Edge che hai specificato all'avvio di Edge Microgateway.

    Per ogni proxy compatibile con microgateway, Edge Microgateway recupera l'URL di destinazione del proxy e il relativo percorso di base. I proxy compatibili con Microgateway forniscono anche un modo pratico per associare i dati di analisi generati da Edge Microgateway a un proxy sulla piattaforma Edge. Poiché Microgateway gestisce le chiamate API, invia in modo asincrono i dati di analisi a Edge. I dati di Analytics verranno visualizzati nell'interfaccia utente di Edge Analytics sotto il nome o i nomi del proxy compatibile con il microgateway, come per qualsiasi altro proxy.
  • Un prodotto, uno sviluppatore e un'app per sviluppatori: Edge Microgateway utilizza prodotti, sviluppatori e app per sviluppatori per abilitare la sicurezza del token di accesso OAuth2 o della chiave API. Quando viene avviato Edge Microgateway, vengono scaricate tutte le configurazioni del prodotto 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.

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

  1. Accedi alla tua organizzazione su Apigee Edge.
  2. Seleziona Sviluppa > Proxy API nel menu di navigazione laterale.
  3. Fai clic su + Proxy. Viene richiamata la procedura guidata Crea un proxy.
  4. Nella prima pagina della procedura guidata, seleziona Reverse proxy (più comune).
  5. Fai clic su Avanti.
  6. Nella pagina dei dettagli della procedura guidata, configura come segue. Assicurati di compilare la procedura guidata esattamente come mostrato:
    • Nome proxy: edgemicro_hello
    • Percorso di base proxy: /hello
    • API esistente: http://mocktarget.apigee.net/
  7. Fai clic su Avanti.
  8. Nella pagina Sicurezza della procedura guidata, seleziona Pass-through (nessuno).
  9. Fai clic su Avanti.
  10. Nella pagina Host virtuali della procedura guidata, accetta i valori predefiniti.
  11. Fai clic su Avanti.
  12. Nella pagina Build della procedura guidata, rivedi le impostazioni del proxy. Assicurati che sia selezionato l'ambiente test.
  13. Fai clic su Crea ed esegui il deployment.

2. Creare un prodotto

  1. Seleziona Pubblica > Prodotti API nel menu di navigazione laterale.
  2. Fai clic su + Prodotto API. Viene visualizzata la pagina Dettagli prodotto.
  3. Compila la pagina Dettagli prodotto come segue:
    • Nome: EdgeMicroTestProduct
    • Nome visualizzato: EdgeMicroTestProduct
    • Ambiente:test e produzione
    • Accesso: pubblico
    • Tipo di approvazione della chiave:automatica
  4. In Risorse, fai clic su + Proxy API.
  5. Seleziona edgemicro-auth
  6. Fai di nuovo clic su + API Proxy.
  7. Seleziona edgemicro_hello
  8. Seleziona + Risorsa personalizzata.
  9. Inserisci /**
  10. Seleziona di nuovo + Risorsa personalizzata.
  11. Inserisci /
  12. 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, la creazione di un'app per sviluppatori. Se vuoi, crea subito uno sviluppatore di test:

  1. Seleziona Pubblica > Sviluppatori nel menu di navigazione laterale.
  2. Fai clic su + Sviluppatore.
  3. Compila la finestra di dialogo per creare uno sviluppatore di test.

4. Creare un'app sviluppatore

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

  1. Seleziona Pubblica > App nel menu di navigazione laterale.
  2. Fai clic su + App. Viene visualizzata la pagina dei dettagli dell'app sviluppatore.
  3. Compila la pagina App sviluppatore come segue:
    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 che hai appena creato).
  4. Fai clic su Salva.
  5. Tornerai alla pagina dell'elenco delle app.
  6. Seleziona l'app appena creata, EdgeMicroTestApp.
  7. Fai clic su Mostra accanto a Chiave utente e Secret consumer.

Parte 3: gestisci Edge Microgateway

Ora che hai configurato Edge Microgateway e almeno un proxy compatibile con Edge Microgateway su Edge, è il momento di avviare Edge Microgateway. Un server HTTP Edge Microgateway verrà eseguito sulla tua macchina locale e tu effettuerai chiamate API direttamente a quel server.

1. Avvia Edge Microgateway

Utilizza il comando edgemicro start per avviare Edge Microgateway.

  1. Assicurati di avere le chiavi restituite in precedenza quando hai eseguito il comando edgemicro configure. L'output era simile al seguente:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
  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 test o 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 scorrono nella finestra del terminale). Nell'output vedrai un elenco di proxy e prodotti compatibili con microgateway rilevati. Alla fine dell'output, dovresti vedere qualcosa di simile a questo:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
  4. Controlla lo stato del microgateway. In un'altra finestra del terminale, vai alla stessa directory in cui hai avviato Edge Micro ed esegui questo comando:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers

Che cosa è successo?

Un payload di Edge Microgateway con le informazioni di configurazione viene scaricato da Apigee Edge e memorizzato nella cache locale. Queste informazioni comprendono:

  • La chiave pubblica che abbiamo creato e archiviato in precedenza in una mappa chiave-valore (KVM) criptata.
  • Una rappresentazione di tutti i proxy compatibili con Edge Microgateway esistenti nell'organizzazione/ambiente. Questi sono tutti i proxy denominati con il prefisso edgemicro_.
  • Una rappresentazione di tutti i prodotti API esistenti nell'organizzazione/nell'ambiente.

Con queste informazioni, Edge Microgateway sa quali proxy e percorsi proxy può elaborare. Utilizza le informazioni sul prodotto per applicare la sicurezza (esattamente come qualsiasi proxy API su Apigee Edge, dove le chiavi delle app per sviluppatori sono associate ai prodotti). A breve vedremo i passaggi per proteggere Edge Microgateway.

2. Testa Edge Microgateway

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 di risorsa /echo. Tieni presente che tutto ciò che segue il percorso di base (inclusi i parametri di query) viene semplicemente passato alla destinazione di 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 a 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. Interrompi Edge Microgateway

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

Parte 4: Secure Edge Microgateway

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

Proteggere 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. Ottenere le chiavi richieste

  1. Nell'interfaccia utente Edge, vai all'app per sviluppatori che hai creato in precedenza. Il nome dell'app era EdgeMicroTestApp.
  2. Nella pagina App per sviluppatori, mostra la chiave utente e il secret consumer 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 il pattern che abbiamo utilizzato durante il tutorial. Il secondo metodo è generalmente più utile per gli sviluppatori di app client che devono richiedere token. L'endpoint token effettivo viene implementato nel proxy edgemicro-auth che è stato deployment quando hai configurato Edge Microgateway.

  1. (Facoltativo) Visualizza la guida per il comando token get:
    edgemicro token get -h
  2. Genera il token sostituendo i valori di Consumer Key e Consumer Secret dell'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 test o produzione).
    • consumer_id è l'ID consumatore nell'app per sviluppatori che hai creato in precedenza.
    • consumer_secret è il segreto del consumatore nell'app per sviluppatori che hai creato in precedenza.

    Esempio

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

    Output (esempio)

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

(Facoltativo) Utilizzo dell'API per ottenere un token

Se sei abituato a chiamare i proxy Edge utilizzando curl o un altro client HTTP, ti interesserà sapere che puoi chiamare l'endpoint token direttamente, anziché utilizzare il comando edgemicro token. 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 "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "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 test o produzione).
  • client_id è l'ID consumatore nell'app sviluppatore che hai creato in precedenza.
  • client_secret è il segreto del consumatore nell'app per sviluppatori che hai creato in precedenza.

Output (esempio)

Il comando, indipendentemente dal fatto che tu abbia utilizzato il comando CLI edgemicro token 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+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
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 $HOME/.edgemicro/org-env-config.yaml. Consulta Dove è installato Edge Microgateway se non riesci a trovare questo file.
  2. Assicurati che queste proprietà del plug-in OAuth siano impostate su false. Per impostazione predefinita, sono false, ma è una buona idea ricontrollare:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Inoltre, nel file org-env-config.yaml, assicurati che il plug-in oauth sia aggiunto all'elemento plugins:sequence, come segue:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Se apporti modifiche al file, ricarica le modifiche nell'istanza di Edge Microgateway in esecuzione. Questo comando riconfigura Edge Microgateway senza tempi di inattività:
    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 test o 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 a portata di mano, ora puoi effettuare la chiamata API in modo sicuro. Ad esempio:

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

L'API restituisce intestazioni e altre informazioni dal server di simulazione.

Protezione dell'API con una chiave API

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

1. Ottieni la chiave API

  1. Nell'interfaccia utente Edge, vai all'app per sviluppatori che hai creato in precedenza. Il nome dell'app era EdgeMicroTestApp.
  2. Nella pagina App sviluppatore, mostra la chiave utente e copiala. Questo valore è la chiave API. Utilizzerai questa chiave per effettuare chiamate API autenticate.

2. Controlla la configurazione in Edge Microgateway

  1. Apri il file $HOME/.edgemicro/org-env-config.yaml. Consulta Dove è installato Edge Microgateway se non riesci a trovare questo file.
  2. Assicurati che queste proprietà del plug-in OAuth siano impostate su false. Sono false per impostazione predefinita, ma puoi verificarle se vuoi:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Inoltre, nel file org-env-config.yaml, assicurati che il plug-in oauth sia aggiunto all'elemento plugins:sequence, come segue:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Se apporti modifiche al file, ricarica le modifiche nell'istanza di Edge Microgateway in esecuzione. Questo comando riconfigura Edge Microgateway senza tempi di inattività:
    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 test o 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 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d

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

Chiama l'API con l'intestazione x-api-key nel seguente modo. Il valore della chiave consumer che hai copiato dall'app per sviluppatori è la chiave API. Per impostazione predefinita, Edge Microgateway prevede che tu trasmetta la chiave in un'intestazione chiamata x-api-key, come segue:

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

Dove:

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

Ad esempio:


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

Ora hai un Edge Microgateway completamente funzionante e sicuro. Nella parte successiva del tutorial, esamineremo i plug-in che aggiungono funzionalità a Edge Microgateway.

Parte 5: aggiungi un plug-in Spike Arrest

In questa parte, aggiungeremo una funzionalità di limitazione della frequenza chiamata spike arrest 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 un pattern coerente e vengono archiviati in una posizione nota a Edge Microgateway, consentendo al microgateway di rilevarli e caricarli automaticamente. Per saperne di più sui plug-in, consulta la sezione Utilizzare i plug-in.

Aggiunta di un plug-in Spike Arrest

Un plugin di arresto dei picchi protegge dai picchi di traffico. Limita il numero di richieste elaborate da un'istanza Edge Microgateway.

In Edge Microgateway, il controllo dei picchi viene implementato come modulo plug-in. Per abilitarlo, devi aggiungerlo al file di configurazione di Edge Microgateway.

  1. Apri il file $HOME/.edgemicro/org-env-config.yaml.Where is Edge Microgateway installed se non riesci a trovare questo file.
  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 del 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:
        - oauth
        - spikearrest
  4. Salvi 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 test o 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 attenua 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.

Credito extra: aggiunta del plug-in quota

Seguendo lo stesso pattern utilizzato per configurare la protezione dai picchi, puoi aggiungere altri plug-in, come il plug-in quota. Come per la protezione dai picchi, il plug-in per le quote è 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).

Parte 6: visualizzazione dei dati analitici su Apigee Edge

Ora abbiamo un'istanza di Edge Microgateway completamente funzionante. Vediamo cosa ha fatto. Per impostazione predefinita, il modulo del plug-in di analisi viene aggiunto a Edge Micro. Questo modulo esegue il push silenzioso 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.
  3. Nella dashboard Proxy Performance, seleziona il proxy edgemicro_hello.
  4. Il grafico mostra informazioni sui pattern di traffico del proxy, ad esempio traffico totale, tempo di risposta medio, tempo di risposta target medio e altro ancora.

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