Edge Microgateway einrichten und konfigurieren

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen
info

Edge Microgateway v. 2.3.x

Übersicht

In dieser Anleitung werden Sie durch die Schritte geführt, die zum Einrichten einer Instanz von Edge Microgateway erforderlich sind.

Nachdem Sie die Schritte hier ausgeführt haben, haben Sie eine vollständig konfigurierte, funktionierende Edge Microgateway-Installation, die API-Anfragen verarbeiten kann. Sie testen die Einrichtung, indem Sie sichere API-Aufrufe über Edge Microgateway an ein Backend-Ziel senden. Außerdem erfahren Sie, wie Sie dem Microgateway ein Spike-Arrest-Plug-in hinzufügen.

Dieser Leitfaden ist in folgende Abschnitte unterteilt:

Voraussetzung: Edge Microgateway installieren

Folgen Sie der Anleitung unter Edge Microgateway installieren. Nach Abschluss der Installation können Sie die Schritte in dieser Anleitung ausführen.

Wenn Sie die Installation abgeschlossen haben, fahren Sie mit dem nächsten Abschnitt Teil 1: Edge Microgateway konfigurieren fort.

Teil 1: Edge Microgateway konfigurieren

In diesem Teil verwenden Sie einen Befehlszeilenbefehl, um Edge Microgateway für die Kommunikation mit Apigee Edge zu konfigurieren. Wenn Sie Apigee Edge Cloud verwenden, folgen Sie der Anleitung zur Konfiguration von Apigee Edge Cloud. Wenn Sie Apigee Private Cloud verwenden, folgen Sie der Anleitung für Apigee Edge Private Cloud.

Konfigurationsschritte für die Apigee Edge Cloud

So verwenden Sie Edge Microgateway mit Apigee Edge Cloud:

  1. Wenn Sie Edge Microgateway noch nicht initialisiert haben, führen Sie diesen Schritt einmalig aus:
    edgemicro init
  2. Optional: Hilfe zum Befehl edgemicro configure ausgeben:
    edgemicro configure -h
  3. Führen Sie den folgenden Befehl aus, um Edge Microgateway zu konfigurieren:
    edgemicro configure -o [org] -e [env] -u [username] 

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • username ist die E-Mail-Adresse, die mit Ihrem Apigee-Konto verknüpft ist.

Beispiel

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

Ausgabe

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

Konfigurationsschritte für Apigee Private Cloud

So verwenden Sie Edge Microgateway mit Apigee Private Cloud:

  1. Gibt Hilfeinformationen zum Befehl edgemicro private configure aus. So können Sie Hilfe für jeden Edge Microgateway-Befehlszeilenbefehl oder jede Befehlsoption ausgeben.
    edgemicro private configure -h
  2. Führen Sie folgenden Befehl aus: Dazu sind Standardinformationen zu Ihrem Apigee Edge Private Cloud-Konto erforderlich: Organisationsname, Umgebungsname, Nutzername (E-Mail-Adresse), Passwort, IP-Adresse des Verwaltungsservers und IP-Adresse des Routers. Sie müssen ein Edge-Organisationsadministrator sein, um diesen Befehl verwenden zu können:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • runtime_url ist die Laufzeit-URL für Ihre Private Cloud-Instanz.
    • mgmt_url ist die URL des Verwaltungsservers für Ihre Private Cloud-Instanz.
    • username ist die E-Mail-Adresse, die mit Ihrem Apigee-Konto verknüpft ist.
    • virtual_host ist eine durch Kommas getrennte Liste von Namen virtueller Hosts. Die Standardwerte sind default,secure

Beispiel

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

Wenn Sie einen Alias für den virtuellen Host mit dem Namen myorg-test.mycompany.com haben, verwenden Sie einen Befehl wie diesen:

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

Ausgabe

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!
    

Installation überprüfen

Führen Sie diesen Befehl aus, um die Installation zu überprüfen. Wenn keine Fehler gemeldet werden, ist alles richtig eingerichtet und Sie können Edge Microgateway starten.

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

Wobei:

  • org ist der Name Ihrer Edge-Organisation. Sie müssen ein Organisationsadministrator sein.
  • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
  • key ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
  • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

Beispiel

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

Konfiguration

Mit der bisherigen Konfiguration kann Edge Microgateway sich selbst in Apigee Edge einrichten. Nachdem das Bootstrapping erfolgreich war, ruft Edge Microgateway eine Nutzlast mit zusätzlichen Konfigurationsinformationen von Apigee Edge ab.

Wofür werden diese Konfigurationsinformationen verwendet? Wie wir im nächsten Teil dieser Anleitung sehen werden, muss Edge Microgateway beim Start eine Liste spezieller Edge Microgateway-fähiger API-Proxys von Apigee Edge erhalten. Im nächsten Teil dieser Anleitung erstellen Sie einen Microgateway-kompatiblen Proxy. Edge Microgateway beschränkt Clients darauf, nur die APIs aufzurufen, die von diesen Microgateway-fähigen API-Proxys bereitgestellt werden. Clients müssen (standardmäßig) für jeden Aufruf ein gültiges Sicherheitstoken präsentieren. Weitere Informationen zu diesen Proxys finden Sie im Überblick über Edge Microgateway unter „Wissenswertes über Edge Microgateway-kompatible Proxys“.

Als Edge-Admin der Organisation sollten Sie wissen, dass Edge Microgateway-kompatible Proxys wie alle anderen Proxys zu Edge-Produkten hinzugefügt werden können. Mithilfe von Produkten und Entwickler-Apps können Sie clientspezifische Sicherheitstokens generieren, um den Zugriff auf APIs zu steuern, die über Edge Microgateway aufgerufen werden. Die verwendeten Muster sind identisch mit denen, die bei der Arbeit mit API-Proxys, Produkten und Entwickler-Apps in Apigee Edge verwendet werden. Wenn Sie mehr über Produkte erfahren möchten, lesen Sie zuerst den Abschnitt Was ist ein API-Produkt? in der Edge-Dokumentation.

Als Nächstes erfahren Sie, wie Sie Edge Microgateway-fähige Proxys erstellen. Danach starten wir Edge Microgateway und testen die Einrichtung.

Teil 2: Entitäten in Apigee Edge erstellen

In diesem Teil erstellen Sie die folgenden Entitäten auf Edge:

  • Ein Microgateway-fähiger Proxy: Dies ist ein spezieller Proxy, den Edge Microgateway beim Starten erkennen kann. Für Microgateway-kompatible Proxys gilt eine Namenskonvention, die Sie einhalten müssen: Der Name muss mit edgemicro_ beginnen. Beispiel: edgemicro_hello oder edgemicro_userinfo. Wenn Edge Microgateway gestartet wird, ruft es von Edge eine Liste der Microgateway-kompatiblen Proxys aus derselben Edge-Organisation und -Umgebung ab, die Sie beim Starten von Edge Microgateway angegeben haben.

    Für jeden Microgateway-fähigen Proxy ruft Edge Microgateway die Ziel-URL des Proxys und seinen Basispfad ab. Microgateway-fähige Proxys bieten auch eine praktische Möglichkeit, Analysedaten, die von Edge Microgateway generiert werden, einem Proxy auf der Edge-Plattform zuzuordnen. Da das Microgateway API-Aufrufe verarbeitet, werden Analysedaten asynchron an Edge gesendet. Analysedaten werden in der Edge Analytics-Benutzeroberfläche unter dem Namen des Microgateway-kompatiblen Proxys angezeigt, wie bei jedem anderen Proxy.
  • Produkt, Entwickler und Entwickler-App: Edge Microgateway verwendet Produkte, Entwickler und Entwickler-Apps, um die Sicherheit von OAuth2-Zugriffstokens oder API-Schlüsseln zu ermöglichen. Beim Start von Edge Microgateway werden alle Produktkonfigurationen aus Ihrer Apigee Edge-Organisation heruntergeladen. Anhand dieser Informationen werden API-Aufrufe, die über Edge Microgateway mit API-Schlüsseln oder OAuth2-Zugriffstokens erfolgen, überprüft.

Weitere Informationen:Siehe auch „Wissenswertes zu Edge Microgateway-kompatiblen Proxys“ im Überblick über Edge Microgateway.

1. Edge Microgateway-fähigen API-Proxy in Edge erstellen

  1. Melden Sie sich in Ihrer Organisation in Apigee Edge an.
  2. Klicken Sie auf ZUR KLASSISCHEN BENUTZEROBERFLÄCHE WECHSELN, um zur klassischen Edge-Benutzeroberfläche zu wechseln.
  3. Wählen Sie im oberen Menü APIs > API-Proxys aus.
  4. Klicken Sie auf der Seite „API-Proxys“ auf + API-Proxy.
  5. Wählen Sie im Assistenten zum Erstellen eines Proxys die Option Reverse proxy (am häufigsten) aus.
  6. Klicken Sie auf Weiter.
  7. Konfigurieren Sie auf der Detailseite des Assistenten Folgendes. Füllen Sie den Assistenten genau wie dargestellt aus:
    • Proxyname: edgemicro_hello
    • Proxy-Basispfad: /hello
    • Vorhandene API: http://mocktarget.apigee.net/
  8. Klicken Sie auf Weiter.
  9. Wählen Sie auf der Seite „Sicherheit“ des Assistenten die Option Pass through (none) aus.
  10. Klicken Sie auf Weiter.
  11. Übernehmen Sie auf der Seite „Virtuelle Hosts“ des Assistenten die Standardeinstellungen.
  12. Klicken Sie auf Weiter.
  13. Prüfen Sie auf der Seite „Build“ des Assistenten Ihre Proxy-Einstellungen. Achten Sie darauf, dass die Testumgebung ausgewählt ist.
  14. Klicken Sie auf Build and Deploy (Erstellen und bereitstellen).

2. Produkt erstellen

Erstellen Sie ein Produkt, das zwei Proxys enthält:

  • Ihr Microgateway-kompatibler Proxy: edgemicro_hello
  • Der Authentifizierungsproxy, der von Edge Microgateway installiert wurde: edgemicro-auth.
  1. Rufen Sie in der Edge-Benutzeroberfläche (klassische Version) Veröffentlichen > Produkte auf.
  2. Klicken Sie auf der Seite „Produkte“ auf + Produkt. Füllen Sie die Seite „Produktdetails“ so aus:
    • Name:EdgeMicroTestProduct
    • Anzeigename:EdgeMicroTestProduct
    • Umgebung:test und prod
    • Zugriff: Öffentlich
    • Schlüsselfreigabetyp:Automatisch
    • Ressourcen:
      • API-Proxy: Wählen Sie edgemicro_hello aus.
      • Version: 1
      • Ressourcenpfad: /**
  3. Klicken Sie auf Ressource importieren.
  4. Klicken Sie unter „Ressourcen“ auf + API-Proxy.
  5. Wählen Sie edgemicro-auth aus.
  6. Klicken Sie auf Speichern.

3. (Optional) Testentwickler erstellen

Für diese Anleitung können Sie im nächsten Schritt einen beliebigen vorhandenen Entwickler verwenden, um eine Entwickler-App zu erstellen. Wenn Sie möchten, können Sie jetzt einen Testentwickler erstellen:

  1. Rufen Sie Veröffentlichen > Entwickler auf.
  2. Klicken Sie auf der Seite „Produkte“ auf + Entwickler.
  3. Füllen Sie das Dialogfeld aus, um einen Testentwickler zu erstellen.

4. Entwickler-App erstellen

Sie verwenden die Clientanmeldedaten dieser App, um sichere API-Aufrufe über Edge Microgateway auszuführen:

  1. Rufen Sie Veröffentlichen > Entwickler-Apps auf.
  2. Klicken Sie auf der Seite „Entwickler-Apps“ auf + Entwickler-App.
  3. Füllen Sie die Seite „Entwickler-App“ wie unten beschrieben aus:
    1. Name:EdgeMicroTestApp
    2. Anzeigename:EdgeMicroTestApp
    3. Entwickler:Wählen Sie den Testentwickler aus, den Sie erstellt haben. Alternativ können Sie einen beliebigen vorhandenen Entwickler für diese Anleitung verwenden.
    4. Anmeldedaten:
      1. Wählen Sie „Ablaufdatum“ Nie aus.
      2. Klicken Sie auf + Produkt und wählen Sie EdgeMicroTestProduct aus (das Produkt, das Sie gerade erstellt haben).
  4. Klicken Sie auf Speichern.
  5. Sie kehren zur Seite mit der Liste der Entwickler-Apps zurück.
  6. Wählen Sie die gerade erstellte App EdgeMicroTestApp aus.
  7. Klicken Sie neben Consumer-Key und Consumer-Secret auf Anzeigen.

Teil 3: Edge Microgateway betreiben

Nachdem Sie Edge Microgateway konfiguriert und mindestens einen Edge Microgateway-fähigen Proxy in Edge haben, ist es an der Zeit, Edge Microgateway zu starten. Ein Edge Microgateway-HTTP-Server wird auf Ihrem lokalen Computer ausgeführt und Sie führen API-Aufrufe direkt an diesen Server aus.

1. Edge Microgateway starten

Verwenden Sie den Befehl edgemicro start, um Edge Microgateway zu starten.

  1. Sie benötigen die Schlüssel, die zuvor bei der Ausführung des Befehls edgemicro configure zurückgegeben wurden. Die Ausgabe sah in etwa so aus:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
  2. Optional: Hilfeinformationen für den Befehl edgemicro start ausgeben.
    edgemicro start -h
  3. Führen Sie den folgenden Befehl aus, um Edge Microgateway zu starten:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

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

    Ausgabe

    Mit dem Startbefehl werden viele Konfigurationsinformationen von Apigee Edge abgerufen, die im Terminalfenster angezeigt werden. In der Ausgabe sehen Sie eine Liste der erkannten Microgateway-kompatiblen Proxys und Produkte. Am Ende der Ausgabe sollte Folgendes angezeigt werden:

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

Was ist passiert?

Sehen Sie sich das Terminal an, in dem Sie den Befehl edgemicro config ausgeführt haben. Wenn Sie in der Standardausgabe nach oben scrollen, sehen Sie, dass mit dem Befehl eine Nutzlast mit Edge Microgateway-Konfigurationsinformationen aus Apigee Edge abgerufen wird. Zu diesen Daten gehören:

  • Der öffentliche Schlüssel, den wir zuvor erstellt und im Apigee-Vault gespeichert haben.
  • Eine JSON-Darstellung aller Edge Microgateway-kompatiblen Proxys, die in der Organisation/Umgebung vorhanden sind. Das sind alle Proxys mit dem Präfix edgemicro_.
  • Eine JSON-Darstellung aller API-Produkte, die in der Organisation/Umgebung vorhanden sind.

Anhand dieser Informationen weiß Edge Microgateway, welche Proxys und Proxy-Pfade verarbeitet werden dürfen. Die Produktinformationen werden verwendet, um die Sicherheit zu erzwingen (genau wie bei jedem API-Proxy in Apigee Edge, wo Entwickler-App-Schlüssel mit Produkten verknüpft sind). Die Schritte zum Sichern von Edge Microgateway werden weiter unten erläutert.

2. Edge Microgateway testen

Wenn Edge Microgateway ausgeführt wird, können Sie den Proxy aufrufen. Die Konfiguration für den Proxy edgemicro_hello wurde von Edge heruntergeladen, als Sie Edge Microgateway gestartet haben. Der Proxy-Basispfad ist /hello.

Um Edge Microgateway zu testen, beginnen wir mit dem Basispfad und fügen einen Ressourcenpfad /echo hinzu. Alles nach dem Basispfad (einschließlich aller Abfrageparameter) wird einfach an das Backend-Ziel übergeben:

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

Der Fehler tritt auf, weil Sie mit der Anfrage keinen gültigen API-Schlüssel oder kein gültiges Zugriffstoken gesendet haben. Standardmäßig ist für jeden API-Aufruf in Edge Microgateway entweder ein API-Schlüssel oder ein Zugriffstoken erforderlich. Im nächsten Schritt der Anleitung schützen wir diese API richtig und zeigen Ihnen, wie Sie ein gültiges Zugriffstoken erhalten und in die Anfrage einfügen.

4. Edge Microgateway beenden

  1. cd Sie in einem separaten Terminalfenster in dasselbe Verzeichnis, in dem Sie Edge Microgateway gestartet haben.
  2. Geben Sie den Stoppbefehl ein:
    edgemicro stop

Teil 4: Edge Microgateway sichern

Sie können API-Aufrufe, die über Edge Microgateway erfolgen, mit einem API-Schlüssel oder einem Zugriffstoken sichern.

API-Aufrufe mit einem OAuth2-Zugriffstoken sichern

So authentifizieren Sie API-Aufrufe mit einem OAuth2-Zugriffstoken:

1. Erforderliche Schlüssel abrufen

  1. Rufen Sie in der Edge-Benutzeroberfläche die Entwickler-App auf, die Sie zuvor erstellt haben, wie in Teil 2: Entitäten in Apigee Edge erstellen beschrieben. Der Name der App war „EdgeMicroTestApp“.
  2. Lassen Sie auf der Seite „Developer App“ den Consumer-Key und das Consumer-Secret anzeigen und kopieren Sie sie. Diese Werte sind erforderlich, um im nächsten Schritt ein Zugriffstoken zu erhalten.

2. Zugriffstoken anfordern

Es gibt zwei Möglichkeiten, ein Zugriffstoken zu erhalten. Wir zeigen Ihnen beide Methoden.

Zugriffstoken über die Befehlszeile abrufen

Die erste Methode ist praktisch und folgt dem Muster, das wir im gesamten Tutorial verwendet haben. Die zweite Methode ist in der Regel nützlicher für Entwickler von Client-Apps, die Tokens anfordern müssen. Der tatsächliche Token-Endpunkt wird im Proxy edgemicro-auth implementiert, der bei der Konfiguration von Edge Microgateway bereitgestellt wurde.

  1. Optional: Rufen Sie die Hilfe zum Befehl token get auf:
    edgemicro token get -h
  2. Generieren Sie das Token und ersetzen Sie die Werte für „Consumer Key“ und „Consumer Secret“ aus der Entwickler-App, die Sie in Apigee Edge erstellt haben, in den Parametern -i und -s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • consumer_id ist die Verbraucher-ID in der Entwickler-App, die Sie zuvor erstellt haben.
    • consumer_secret ist der Consumer-Schlüssel der zuvor erstellten Entwickler-App.

    Beispiel

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

    Ausgabe (Beispiel)

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

(Optional) Token über die API abrufen

Wenn Sie Edge-Proxys mit curl oder einem anderen HTTP-Client aufrufen, können Sie den Token-Endpunkt direkt aufrufen, anstatt den Befehl edgemicro token zu verwenden. Hier ein curl-Beispiel. Ersetzen Sie einfach die Namen Ihrer Organisation und Umgebung in der URL und übergeben Sie die durch Doppelpunkt getrennten Werte für Consumer-Key:Consumer-Secret in einem Basic Authentication-Header:

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"

Wobei:

  • org ist der Name Ihrer Edge-Organisation. Sie müssen ein Organisationsadministrator sein.
  • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
  • client_id ist die Verbraucher-ID in der Entwickler-App, die Sie zuvor erstellt haben.
  • client_secret ist der Consumerschlüssel in der Entwickler-App, die Sie zuvor erstellt haben.

Ausgabe (Beispiel)

Der Befehl gibt unabhängig davon, ob Sie den CLI-Befehl edgemicro token verwendet oder den Endpunkt mit curl aufgerufen haben, ein signiertes Zugriffstoken zurück, mit dem Clientaufrufe ausgeführt werden können. Beispiel:

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. Konfiguration in Edge Microgateway prüfen

  1. Öffnen Sie die Datei ~/.edgemicro/org-env-config.yaml. . Weitere Informationen finden Sie unter „Wo ist Edge Microgateway installiert?“ in Edge Microgateway installieren.
  2. Achten Sie darauf, dass diese OAuth-Plug-in-Properties auf false gesetzt sind. Sie sind standardmäßig auf „false“ gesetzt. Es empfiehlt sich jedoch, Folgendes zu überprüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Achten Sie auch in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem Element plugins:sequence hinzugefügt wird, wie hier gezeigt::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
  4. Wenn Sie Änderungen an der Datei vornehmen, müssen Sie die Änderungen in die laufende Edge Microgateway-Instanz neu laden. Mit diesem Befehl wird Edge Microgateway ohne Ausfallzeit neu konfiguriert:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

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

4. API sicher aufrufen

Mit einem Zugriffstoken können Sie den API-Aufruf jetzt sicher ausführen. Beispiel:

  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

Die API gibt Header und andere Informationen vom Mock-Server zurück.

API mit einem API-Schlüssel sichern

Wenn Sie einen API-Schlüssel zur Autorisierung verwenden möchten, gehen Sie so vor:

1. API-Schlüssel abrufen

  1. Rufen Sie in der Edge-Benutzeroberfläche die Entwickler-App auf, die Sie zuvor erstellt haben, wie in Teil 2: Entitäten in Apigee Edge erstellen beschrieben. Der Name der App war „EdgeMicroTestApp“.
  2. Lassen Sie sich auf der Seite „Entwickler-App“ den Consumer-Key anzeigen und kopieren Sie ihn. Dieser Wert ist der API-Schlüssel. Sie verwenden diesen Schlüssel für authentifizierte API-Aufrufe.

2. Konfiguration in Edge Microgateway prüfen

  1. Öffnen Sie die Datei ~/.edgemicro/org-env-config.yaml. . Weitere Informationen finden Sie unter „Wo ist Edge Microgateway installiert?“ in Edge Microgateway installieren.
  2. Achten Sie darauf, dass diese OAuth-Plug-in-Properties auf false gesetzt sind. Sie sind standardmäßig auf „false“ gesetzt. Es empfiehlt sich jedoch, Folgendes zu überprüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Achten Sie auch in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem Element plugins:sequence hinzugefügt wird, wie hier gezeigt::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
  4. Wenn Sie Änderungen an der Datei vornehmen, müssen Sie die Änderungen in die laufende Edge Microgateway-Instanz neu laden. Mit diesem Befehl wird Edge Microgateway ohne Ausfallzeit neu konfiguriert:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

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

3. API sicher mit einem API-Schlüssel aufrufen

Rufen Sie die API mit dem Header x-api-key auf. Der Consumer-Key-Wert, den Sie aus der Entwickler-App kopiert haben, ist der API-Schlüssel. Standardmäßig erwartet Edge Microgateway, dass Sie den Schlüssel in einem Header namens x-api-key übergeben, wie hier:

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

Wobei:

  • apikey ist der Consumer-Schlüsselwert aus EdgeMicroTestApp.

Beispiel:


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

Sie haben jetzt ein voll funktionsfähiges und sicheres Edge Microgateway. Im nächsten Teil des Tutorials sehen wir uns Plug-ins an, die Edge Microgateway zusätzliche Funktionen hinzufügen.

Teil 5: Spike Arrest-Plug-in hinzufügen

In diesem Teil fügen wir Ihrer Edge Microgateway-Instanz eine Ratenbegrenzungsfunktion namens „Spike Arrest“ hinzu.

Was sind Plug-ins?

Ein Plug-in ist ein Node.js-Modul, das Edge Microgateway Funktionen hinzufügt. Plugin-Module folgen einem einheitlichen Muster und werden an einem Speicherort gespeichert, der Edge Microgateway bekannt ist. So kann das Microgateway sie automatisch erkennen und laden. Weitere Informationen zu Plug‑ins finden Sie unter Plug‑ins verwenden.

Spike Arrest-Plug-in hinzufügen

Spike Arrest schützt vor Trafficspitzen. Damit wird die Anzahl der Anfragen begrenzt, die von einer Edge Microgateway-Instanz verarbeitet werden.

In Edge Microgateway wird die Spike-Arrest-Funktion als Plug-in-Modul implementiert. Dazu müssen Sie sie der Edge Microgateway-Konfigurationsdatei hinzufügen.

  1. Öffnen Sie die Datei ~/.edgemicro/org-env-config.yaml. . Weitere Informationen finden Sie unter „Wo ist Edge Microgateway installiert?“ in Edge Microgateway installieren.
  2. Fügen Sie das folgende Element hinzu. Sie können sie an einer beliebigen Stelle in der Datei einfügen.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
  3. Fügen Sie spikearrest dem edgemicro:sequence-Element hinzu, wie unten dargestellt. Das Konfigurationsattribut „sequence“ gibt die Reihenfolge an, in der die Plug-in-Module von Edge Microgateway ausgeführt werden.
    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. Speichern Sie die Konfigurationsdatei.
  5. Laden Sie Edge Microgateway mit dem Befehl reload neu. Sie müssen diesen Befehl in dem Verzeichnis ausführen, in dem Sie Edge Microgateway gestartet haben.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Wobei:

    • org ist der Name Ihrer Edge-Organisation (Sie müssen ein Organisationsadministrator sein).
    • env ist eine Umgebung in Ihrer Organisation (z. B. „test“ oder „prod“).
    • key ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.
    • secret ist der Schlüssel, der zuvor vom Befehl „configure“ zurückgegeben wurde.

    Beispiel

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
  6. Rufen Sie die API mehrmals kurz hintereinander auf. Nach dem zweiten Aufruf gibt Edge Microgateway diesen Fehler zurück:
    {"message":"SpikeArrest engaged","status":503}

Der Grund dafür ist, dass durch die Spike-Unterdrückung die Anzahl der Aufrufe, die in der angegebenen Zeiteinheit erfolgen können, geglättet wird. In diesem Fall können Sie also 10 Anrufe pro Minute oder einen Anruf alle 6 Sekunden starten.

Weitere Informationen finden Sie unter „Wie funktioniert die Funktion zur Verhinderung von Spikes?“ im Hilfeartikel Plug-ins verwenden.

Zusätzlicher Schritt: Kontingent-Plug-in hinzufügen

Nach demselben Muster, das zum Konfigurieren der Spike-Unterdrückung verwendet wird, können Sie andere Plug-ins wie das Kontingent-Plug-in hinzufügen. Wie bei der Spike-Arrest-Funktion ist das Kontingent-Plug-in in jeder Edge Microgateway-Installation enthalten. Ein Kontingent gibt die Anzahl der Anfragenachrichten an, die eine App in einem bestimmten Zeitintervall (Minuten oder Stunden) an eine API senden darf.

Informationen zur Funktionsweise von Kontingenten finden Sie unter Plug‑ins verwenden im Abschnitt „Kontingent-Plug‑in verwenden“.

Teil 6: Analytics in Apigee Edge ansehen

Wir haben jetzt eine voll funktionsfähige Edge Microgateway-Instanz. Sehen wir uns an, was sie so macht. Standardmäßig wird das Analytics-Plug-in-Modul Edge Micro hinzugefügt. Dieses Modul überträgt Analysedaten von Edge Micro im Hintergrund an Apigee Edge, wo sie vom Edge Analytics-System verwendet werden. Sehen wir uns das mal an:

  1. Melden Sie sich in Ihrer Organisation in Apigee Edge an.
  2. Wählen Sie Analysen > Proxy-Leistung aus.
  3. Wählen Sie im Proxy-Dashboard zur Leistungsüberwachung den edgemicro_hello-Proxy aus.
  4. Das Diagramm enthält Informationen zu den Traffic-Mustern des Proxys, z. B. den Gesamttraffic, die durchschnittliche Antwortzeit und die durchschnittliche Zielantwortzeit.

Weitere Informationen zu Edge Analytics-Dashboards finden Sie auf der Startseite der Analytics-Dashboards in der Edge-Dokumentation. Weitere Informationen zu Plug‑ins