Edge Microgateway einrichten und konfigurieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Edge Microgateway Version 2.3.x

Überblick

In dieser Anleitung werden Sie durch die Schritte geführt, die erforderlich sind, um eine Instanz von Edge Microgateway einzurichten und auszuführen.

Mit den hier aufgeführten Schritten haben Sie eine vollständig konfigurierte, funktionierende Edge Microgateway-Installation, die API-Anfragen verarbeiten kann. Zum Testen der Einrichtung führen Sie sichere API-Aufrufe über Edge Microgateway an ein Back-End-Ziel aus. Außerdem erfahren Sie, wie Sie dem Microgateway ein Spike Arrest-Plug-in hinzufügen.

Dieser Leitfaden ist in folgende Teile gegliedert:

Voraussetzung: Edge Microgateway installieren

Folgen Sie der Anleitung unter Edge Microgateway installieren. Wenn Sie die Installation abgeschlossen haben, 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 den Konfigurationsschritten für Apigee Edge Cloud. Wenn Sie Apigee Private Cloud verwenden, folgen Sie den Schritten für Apigee Edge Private Cloud.

Konfigurationsschritte für Apigee Edge Cloud

Führen Sie die folgenden Schritte aus, um Edge Microgateway mit Apigee Edge Cloud zu verwenden:

  1. Initialisieren Sie Edge Microgateway (Sie müssen diesen Schritt nur einmal ausführen):
    edgemicro init
    
  2. Optional: Drucken Sie die Hilfe für den Befehl edgemicro configure aus:
    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 mit Ihrem Apigee-Konto verknüpfte E-Mail-Adresse.

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!
    

Apigee Private Cloud-Konfigurationsschritte

Führen Sie die folgenden Schritte aus, um Edge Microgateway mit Apigee Private Cloud zu verwenden:

  1. Geben Sie Hilfeinformationen für den Befehl edgemicro private config aus. Sie können auf diese Weise Hilfe für alle Edge Microgateway-Befehlszeilenbefehle oder -Befehlsoptionen ausgeben.
    edgemicro private configure -h
    
  2. Führen Sie folgenden Befehl aus: Er erfordert Standardinformationen zu Ihrem Apigee Edge Private Cloud-Konto: Organisationsname, Umgebungsname, Nutzername (E-Mail-Adresse), Passwort, IP-Adresse des Verwaltungsservers und Router-IP-Adresse. 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 mit Ihrem Apigee-Konto verknüpfte E-Mail-Adresse.
    • virtual_host ist eine durch Kommas getrennte Liste virtueller Hostnamen. 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 den virtuellen Hostalias 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 den folgenden Befehl aus, um die Installation zu überprüfen. Wenn keine Fehler gemeldet werden, ist alles korrekt eingerichtet und Sie können das Edge Microgateway erfolgreich 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 zuvor vom Befehl „config“ zurückgegebene Schlüssel.
  • secret ist der zuvor vom Befehl „config“ zurückgegebene Schlüssel.

Beispiel

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

Informationen zur Konfiguration

Die gesamte bisher durchgeführte Konfiguration ermöglicht Edge Microgateway das Bootstrapping an Apigee Edge. Nachdem das Bootstrapping erfolgreich war, ruft Edge Microgateway eine Nutzlast zusätzlicher Konfigurationsinformationen von Apigee Edge ab.

Wofür werden diese Konfigurationsinformationen verwendet? Wie im nächsten Teil dieser Anleitung erfahren wird, muss Edge Microgateway beim Start eine Liste spezieller, Edge Microgateway-kompatibler API-Proxys von Apigee Edge erhalten. Im nächsten Teil dieser Anleitung erstellen Sie einen Microgateway-fähigen Proxy. Edge Microgateway beschränkt Clients darauf, nur die APIs aufzurufen, vor denen diese Microgateway-fähigen API-Proxys stehen. Clients müssen standardmäßig für jeden Aufruf ein gültiges Sicherheitstoken vorlegen. Weitere Informationen zu diesen Proxys finden Sie in der Übersicht zu Edge Microgateway unter „Was Sie über Edge Microgateway-fähige Proxys wissen müssen“.

Als Edge-Organisationsadministrator wird es für Sie interessant sein, dass Edge-Microgateway-fähige Proxys wie alle anderen Proxys zu Edge-Produkten hinzugefügt werden können. Mithilfe von Produkten und Entwickleranwendungen können Sie clientspezifische Sicherheitstokens generieren, um den Zugriff auf APIs zu steuern, die über Edge Microgateway aufgerufen werden. Auch hier sind die beteiligten Muster identisch mit der Arbeit mit API-Proxys, Produkten und Entwickleranwendungen in Apigee Edge. Wenn Sie sich über Produkte informieren möchten, beginnen Sie mit 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 diese Entitäten in Edge:

  • Ein Microgateway-aware-Proxy – Dies ist ein spezieller Proxy, den Edge Microgateway beim Start erkennen kann. Für Microgateway-fähige Proxys gilt eine Namenskonvention, die Sie befolgen müssen: Der Name muss edgemicro_ enthalten. Beispiel: edgemicro_hello oder edgemicro_userinfo. Beim Start von Edge Microgateway wird von Edge eine Liste von Microgateway-fähigen Proxys aus derselben Edge-Organisation und -Umgebung abgerufen, die Sie beim Start von Edge Microgateway angegeben haben.

    Für jeden Microgateway-fähigen Proxy ruft Edge Microgatway die Ziel-URL des Proxys und dessen Basispfad ab. Microgateway-fähige Proxys bieten auch eine bequeme Möglichkeit, von Edge Microgateway generierte Analysedaten einem Proxy auf der Edge-Plattform zuzuordnen. Da das Microgateway API-Aufrufe verarbeitet, überträgt es Analysedaten asynchron an Edge. Analysedaten werden in der Edge Analytics-Benutzeroberfläche wie bei jedem anderen Proxy unter den Microgateway-fähigen Proxy-Namen angezeigt.
  • Eine Produkt-, Entwickler- und Entwickleranwendung: Edge Microgateway verwendet Produkte, Entwickler und Entwickleranwendungen, um die Sicherheit von OAuth2-Zugriffstoken oder API-Schlüsseln zu aktivieren. Beim Start von Edge Microgateway werden alle Produktkonfigurationen aus Ihrer Apigee Edge-Organisation heruntergeladen. Diese Informationen werden verwendet, um API-Aufrufe zu überprüfen, die über Edge Microgateway mit API-Schlüsseln oder OAuth2-Zugriffstoken durchgeführt wurden.

Weitere Informationen: Siehe auch „Wissenswertes zu Edge Microgateway-fähigen Proxys“ in der Übersicht über Edge Microgateway.

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

  1. Melden Sie sich in Apigee Edge in Ihrer Organisation an.
  2. Klicken Sie auf ZU KLASSISCH WECHSELN, um zur klassischen Edge-Benutzeroberfläche zu wechseln.
  3. Wählen Sie im Menü oben APIs > API-Proxies 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 im Assistenten auf der Seite „Details“ die folgenden Einstellungen. Achten Sie darauf, den Assistenten genau wie hier angegeben auszufüllen:
    • Proxy-Name: 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) (Pass durch (keine)) aus.
  10. Klicken Sie auf Weiter.
  11. Übernehmen Sie auf der Seite „Virtuelle Hosts“ des Assistenten die Standardwerte.
  12. Klicken Sie auf Weiter.
  13. Überprüfen Sie auf der Build-Seite des Assistenten Ihre Proxy-Einstellungen. Achten Sie darauf, dass die test-Umgebung 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 Mikrogateway-fähiger Proxy: edgemicro_hello
  • Der Authentifizierungs-Proxy, der von Edge Microgateway installiert wurde: edgemicro-auth.
  1. Gehen Sie in der Edge-Benutzeroberfläche (klassische Version) zu Veröffentlichen > Produkte.
  2. Klicken Sie auf der Seite „Produkte“ auf + Produkt. Füllen Sie die Seite „Produktdetails“ so aus:
    • Name:EdgeMicroTestProduct
    • Anzeigename:EdgeMicroTestProduct
    • Umgebung: Test und Produktion
    • Zugriff: Öffentlich
    • Schlüsselgenehmigungstyp:Automatisch
    • Ressourcen:
      • API-Proxy: Wählen Sie edgemicro_hello aus.
      • Version: 1
      • Ressourcenpfad: /**
  3. Klicken Sie auf Ressource importieren.
  4. Klicken Sie unter „Resources“ (Ressourcen) auf +API Proxy (+ 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 einen beliebigen vorhandenen Entwickler für den nächsten Schritt verwenden und eine Entwickler-App erstellen. Sie können aber auch jetzt einen Testentwickler erstellen:

  1. Gehen Sie zu Veröffentlichen > Entwickler.
  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 aus dieser Anwendung, um sichere API-Aufrufe über Edge Microgateway durchzuführen:

  1. Gehen Sie zu Publish > Developer Apps (Veröffentlichen > Entwickler-Apps).
  2. Klicken Sie auf der Seite für Entwickler-Apps auf + Entwickler-App.
  3. Füllen Sie die Entwickler-App-Seite so aus:
    1. Name:EdgeMicroTestApp
    2. Anzeigename:EdgeMicroTestApp
    3. Entwickler:Wenn Sie einen Testentwickler erstellt haben, wählen Sie ihn aus. Alternativ können Sie für diese Anleitung einen beliebigen vorhandenen Entwickler verwenden.
    4. Anmeldedaten:
      1. Wählen Sie für das Ablaufdatum Nie aus.
      2. Klicken Sie auf + Produkt und wählen Sie EdgeMicroTestProduct aus (das soeben erstellte Produkt).
  4. Klicken Sie auf Speichern.
  5. Sie befinden sich wieder auf der Seite mit der Liste der Entwickler-Apps.
  6. Wählen Sie die soeben erstellte App EdgeMicroTestApp aus.
  7. Klicken Sie neben Consumer Key (Consumer-Key) und Consumer Secret (Consumer-Secret) auf Anzeigen.

Teil 3: Edge Microgateway ausführen

Nachdem Sie nun ein Edge Microgateway und mindestens einen Edge Microgateway-fähigen Proxy in Edge konfiguriert haben, können Sie Edge Microgateway starten. Ein Edge Microgateway-HTTP-Server wird auf Ihrem lokalen Computer ausgeführt und Sie senden API-Aufrufe direkt an diesen Server.

1. Edge Microgateway starten

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

  1. Achten Sie darauf, dass Sie die Schlüssel haben, die zuvor mit dem Befehl edgemicro config 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) Geben Sie Hilfeinformationen für den Befehl edgemicro start aus.
    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 zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der Schlüssel, der zuvor vom Befehl „config“ zurückgegeben wurde.

    Beispiel

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

    Ausgabe

    Der Startbefehl ruft viele Konfigurationsinformationen von Apigee Edge ab (das in das Terminalfenster scrollt). In der Ausgabe wird eine Liste der erkannten Proxys und Produkte angezeigt, die Microgateway-kompatibel sind. Am Ende der Ausgabe sollten Sie in etwa Folgendes sehen:

    ...
    
    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, auf dem Sie den Befehl edgemicro config ausgeführt haben. Wenn Sie in der Standardausgabe nach oben scrollen, sehen Sie, dass der Befehl eine Nutzlast von Edge Microgateway-Konfigurationsinformationen von Apigee Edge abruft. Zu diesen Informationen gehören:

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

Mit diesen Informationen weiß Edge Microgateway, welche Proxys und Proxypfade verarbeitet werden dürfen. Es verwendet die Produktinformationen, um die Sicherheit zu erzwingen (genau wie jeder API-Proxy in Apigee Edge, bei dem Entwickler-App-Schlüssel eine Verbindung mit Produkten haben). Wir werden gleich die Schritte zum Sichern von Edge Microgateway durchgehen.

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 beim Start von Edge Microgateway von Edge heruntergeladen. Denken Sie daran, dass der Proxy-Basispfad /hello lautet.

Zum Testen von Edge Microgateway beginnen wir mit dem Basispfad und fügen den Ressourcenpfad /echo hinzu. Beachten Sie, dass alles nach dem Basispfad (einschließlich aller Abfrageparameter) einfach an das Back-End-Ziel übergeben wird:

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 Zugriffstoken gesendet haben. Standardmäßig erfordert Edge Microgateway bei jedem API-Aufruf entweder einen API-Schlüssel oder ein Zugriffstoken. Im nächsten Schritt der Anleitung wird diese API ordnungsgemäß gesichert. Außerdem zeigen wir Ihnen, wie Sie ein gültiges Zugriffstoken abrufen und der Anfrage hinzufügen.

4. Edge Microgateway beenden

  1. Führen Sie in einem separaten Terminalfenster cd in demselben Verzeichnis aus, in dem Sie Edge Microgateway gestartet haben.
  2. Geben Sie den Befehl zum Beenden ein:
    edgemicro stop
    

Teil 4: Secure Edge Microgateway

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 schützen

Führen Sie die folgenden Schritte aus, wenn Sie API-Aufrufe mit einem OAuth2-Zugriffstoken authentifizieren möchten:

1. Erforderliche Schlüssel abrufen

  1. Gehen Sie in der Edge-Benutzeroberfläche zur Entwickler-App, die Sie zuvor erstellt haben, wie in Teil 2: Entitäten in Apigee Edge erstellen beschrieben. Der Name der App war EdgeMicroTestApp.
  2. Zeigen Sie auf der Seite der Entwickler-App den Consumer Key und das Consumer Secret an und kopieren Sie diese. Diese Werte sind erforderlich, um im nächsten Schritt ein Zugriffstoken abzurufen.

2. Zugriffstoken abrufen

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

Zugriffstoken über die Befehlszeile abrufen

Die erste Methode ist praktisch und folgt dem Muster, das wir in dieser Anleitung verwendet haben. Die zweite Methode ist im Allgemeinen nützlicher für Entwickler von Clientanwendungen, die Tokens anfordern müssen. Der tatsächliche Tokenendpunkt ist im Proxy edgemicro-auth implementiert, der bei der Konfiguration von Edge Microgateway bereitgestellt wurde.

  1. (Optional) Sehen Sie sich die Hilfe zum Befehl token get an:
    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 in den Parametern -i und -s erstellt haben:
    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 Nutzer-ID in der Entwickler-App, die Sie zuvor erstellt haben.
    • consumer_secret ist das Consumer Secret in der Entwickler-App, die Sie zuvor erstellt haben.

    Beispiel

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

    Ausgabe (Stichprobe)

    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 es gewohnt sind, Edge-Proxys mit curl oder einem anderen HTTP-Client aufzurufen, ist es interessant zu wissen, dass Sie den Token-Endpunkt direkt aufrufen können, anstatt den Befehl edgemicro token zu verwenden. Hier ein curl-Beispiel. Ersetzen Sie einfach Ihre Organisations- und Umgebungsnamen in der URL und übergeben Sie die durch Doppelpunkt getrennten Werte vom Typ „Consumer Key:Consumer Secret“ in einem Header für die Basisauthentifizierung:

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 Nutzer-ID in der Entwickler-App, die Sie zuvor erstellt haben.
  • client_secret ist das Consumer Secret in der Entwickler-App, die Sie zuvor erstellt haben.

Ausgabe (Beispiel)

Unabhängig davon, ob Sie den CLI-Befehl edgemicro token verwendet oder den Endpunkt mit curl aufgerufen haben, gibt der Befehl ein signiertes Zugriffstoken zurück, das für Clientaufrufe verwendet werden kann. 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 Edge Microgateway installieren unter „Wo ist Edge Microgateway installiert?“.
  2. Achten Sie darauf, dass die Attribute des OAuth-Plug-ins auf false festgelegt sind. Der Standardwert ist „false“, aber es empfiehlt sich, Folgendes noch einmal zu überprüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Achten Sie außerdem in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem plugins:sequence-Element hinzugefügt wird:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Wenn Sie Änderungen an der Datei vornehmen, laden Sie die Änderungen neu in die ausgeführte Edge Microgateway-Instanz. Mit diesem Befehl wird Edge Microgateway ohne Ausfallzeiten 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 zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der Schlüssel, der zuvor vom Befehl „config“ zurückgegeben wurde.

    Beispiel

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

4. API sicher aufrufen

Nachdem Sie das Zugriffstoken erhalten haben, können Sie den API-Aufruf 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 Testserver zurück.

API mit einem API-Schlüssel sichern

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

1. API-Schlüssel anfordern

  1. Gehen Sie in der Edge-Benutzeroberfläche zur Entwickler-App, die Sie zuvor erstellt haben, wie in Teil 2: Entitäten in Apigee Edge erstellen beschrieben. Der Name der App war EdgeMicroTestApp.
  2. Zeigen Sie auf der Seite der Entwickler-App den Consumer-Key an und kopieren Sie ihn. Dieser Wert ist der API-Schlüssel. Mit diesem Schlüssel führen Sie authentifizierte API-Aufrufe aus.

2. Konfiguration in Edge Microgateway prüfen

  1. Öffnen Sie die Datei ~/.edgemicro/org-env-config.yaml. . Weitere Informationen finden Sie unter Edge Microgateway installieren unter „Wo ist Edge Microgateway installiert?“.
  2. Achten Sie darauf, dass die Attribute des OAuth-Plug-ins auf false festgelegt sind. Der Standardwert ist „false“, aber es empfiehlt sich, Folgendes noch einmal zu überprüfen:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Achten Sie außerdem in der Datei org-env-config.yaml darauf, dass das OAuth-Plug-in dem plugins:sequence-Element hinzugefügt wird:
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Wenn Sie Änderungen an der Datei vornehmen, laden Sie die Änderungen neu in die ausgeführte Edge Microgateway-Instanz. Mit diesem Befehl wird Edge Microgateway ohne Ausfallzeiten 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 zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der Schlüssel, der zuvor vom Befehl „config“ zurückgegeben wurde.

    Beispiel

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

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

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

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

Wobei:

  • apikey ist der Consumer-Schlüsselwert, der von EdgeMicroTestApp übernommen wurde.

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 der Anleitung schauen wir uns Plug-ins an, die Edge Microgateway Funktionen hinzufügen.

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

In diesem Teil fügen wir Ihrer Instanz von Edge Microgateway ein Feature zur Ratenbegrenzung mit dem Namen Spike Arrest hinzu.

Was sind Plug-ins?

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

Spike Arrest-Plug-in hinzufügen

Spike Arrest schützt vor Verkehrsspitzen. Sie drosselt die Anzahl der Anfragen, die von einer Edge Microgateway-Instanz verarbeitet werden.

In Edge Microgateway ist Spike Arrest als Plug-in-Modul implementiert. Zum Aktivieren müssen Sie es der Konfigurationsdatei von Edge Microgateway hinzufügen.

  1. Öffnen Sie die Datei ~/.edgemicro/org-env-config.yaml. . Weitere Informationen finden Sie unter Edge Microgateway installieren unter „Wo ist Edge Microgateway installiert?“.
  2. Fügen Sie das folgende Element hinzu. Sie können ihn an einer beliebigen Stelle in der Datei hinzufügen.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. Fügen Sie dem edgemicro:sequence-Element spikearrest hinzu, wie unten gezeigt. Das Attribut für die Sequenzkonfiguration teilt Edge Microgateway die Reihenfolge mit, in der die Plug-in-Module 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 zuvor vom Befehl „config“ zurückgegebene Schlüssel.
    • secret ist der Schlüssel, der zuvor vom Befehl „config“ zurückgegeben wurde.

    Beispiel

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

Der Grund dafür ist, dass der Spike Arrest die Anzahl der Aufrufe ausgleicht, die in der angegebenen Zeiteinheit erfolgen können. In diesem Fall können Sie also 10 Aufrufe pro Minute oder einen Aufruf alle 6 Sekunden ausführen.

Weitere Informationen finden Sie unter „Wie funktioniert Spike Arrest?“ im Abschnitt Plug-ins verwenden.

Zusätzliches Guthaben: Kontingent-Plug-in hinzufügen

Nach dem Muster zum Konfigurieren des Spike Arrests können Sie weitere Plug-ins wie das Kontingent-Plug-in hinzufügen. Wie beim Spike Arrest ist das Kontingent-Plug-in in jeder Edge Microgateway-Installation enthalten. Ein Kontingent gibt die Anzahl der Anfragenachrichten an, die eine Anwendung in einem bestimmten Zeitintervall (Minuten oder Stunden) an eine API senden darf.

Informationen zur Funktionsweise von Kontingenten finden Sie im Abschnitt "Kontingent-Plug-in verwenden" im Abschnitt Plug-ins verwenden.

Teil 6: Analysen in Apigee Edge ansehen

Wir haben jetzt eine voll funktionsfähige Edge Microgateway-Instanz. Lassen Sie uns ansehen, was es so weit gebracht hat! Standardmäßig wird das Analyse-Plug-in-Modul Edge Micro hinzugefügt. Dieses Modul überträgt Analysedaten im Hintergrund von Edge Micro an Apigee Edge, wo sie vom Edge Analytics-System verarbeitet werden. Sehen wir uns Folgendes an:

  1. Melden Sie sich in Apigee Edge in Ihrer Organisation an.
  2. Wählen Sie Analytics > Proxy-Leistung aus.
  3. Wählen Sie im Proxy-Leistungs-Dashboard den edgemicro_hello-Proxy aus.
  4. Das Diagramm zeigt Ihnen Informationen zu den Traffic-Mustern des Proxys, z. B. der gesamte Traffic, die durchschnittliche Antwortzeit, die durchschnittliche Zielantwortzeit und mehr.

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