API sichern, indem Sie API-Schlüssel anfordern

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Aufgaben in diesem Lab

In dieser Anleitung lernen Sie Folgendes:

  • Erstellen Sie einen API-Proxy, der einen API-Schlüssel erfordert.
  • Ein API-Produkt hinzufügen
  • Fügen Sie einen Entwickler hinzu und registrieren Sie eine App.
  • API mit einem API-Schlüssel aufrufen

Es ist wichtig, Ihre API vor nicht autorisiertem Zugriff zu schützen. Eine Möglichkeit, um Dies ist mit API-Schlüsseln (auch als öffentliche Schlüssel, Nutzer Schlüssel oder App-Schlüssel.

Wenn eine App eine Anfrage an Ihre API verwenden, muss die Anwendung einen gültigen Schlüssel bereitstellen. Die Richtlinie zum Überprüfen des API-Schlüssels während der Laufzeit überprüft, ob der bereitgestellte API-Schlüssel:

  • Ist gültig
  • Wurde nicht widerrufen
  • Stimmt mit dem API-Schlüssel für das API-Produkt überein, das den angeforderten Ressourcen

Wenn der Schlüssel gültig ist, ist die Anfrage zulässig. Wenn der Schlüssel ungültig ist, wird der Parameter -Anforderung zu einem Autorisierungsfehler führt.

In dieser Anleitung erstellen Sie einen API-Proxy, der eine gültige API erfordert um darauf zuzugreifen.

Voraussetzungen

  • Ein Apigee Edge-Konto. Falls Sie noch keines haben, können Sie sich registrieren. mit den Anweisungen unter <ph type="x-smartling-placeholder"></ph> Apigee Edge-Konto erstellen
  • Ein Webbrowser, der einen API-Aufruf durchführt.
  • (Für den Bereich „Zusätzliches Guthaben“ nicht erforderlich) cURL installiert auf um API-Aufrufe über die Befehlszeile auszuführen.

API-Proxy erstellen

Über das „Mocktarget“

Der mocktarget-Dienst wird von Apigee gehostet und gibt einfache Daten. Ein API-Schlüssel oder ein Zugriffstoken sind nicht erforderlich. Sie können sogar in einem Webbrowser. Klicken Sie zum Testen auf folgenden Link:

http://mocktarget.apigee.net

Das Ziel gibt Hello, Guest! zurück. Verwenden Sie die Methode /help , um eine Hilfeseite mit anderen verfügbaren API-Ressourcen zu erhalten.

  1. Gehe zu <ph type="x-smartling-placeholder"></ph> https://apigee.com/edge und melden Sie sich an.
  2. Wechseln Sie zur gewünschten Organisation, indem Sie auf Ihren Nutzernamen neben der seitlichen Navigationsleiste, um das Menü „Nutzerprofil“ anzuzeigen. um die Organisation aus der Liste auszuwählen.

    Organisation im Menü „Nutzerprofil“ auswählen
  3. Klicken Sie auf der Landingpage auf API-Proxys, um die API aufzurufen. Liste der Proxys.

    Menü für Edge-APIs
  4. Klicken Sie auf + Proxy.
    Schaltfläche &quot;Proxy erstellen&quot;
  5. Wählen Sie auf der Seite Proxy erstellen die Option Reverse-Proxy (am häufigsten) aus.
  6. Konfigurieren Sie den Proxy auf der Seite Proxydetails so:
    In diesem Feld tun Sie Folgendes
    Proxy-Name Eingeben: helloworld_apikey
    Projektbasispfad

    Ändern zu: /helloapikey

    Der Basispfad des Projekts ist Teil der URL, an den API-Proxy senden.

    Hinweis: Apigees Empfehlungen zur API-Versionsverwaltung finden Sie unter Siehe Versionsverwaltung im Bereich Web API Design: The Missing E-Book verlinken

    Vorhandene API

    Eingeben: http://mocktarget.apigee.net

    Dies definiert die Ziel-URL, die Apigee Edge auf einem -Anfrage an den API-Proxy.

    Beschreibung Eingeben: hello world protected by API key
  7. Klicken Sie auf Weiter.
  8. Gehen Sie auf der Seite Allgemeine Richtlinien zum Thema Sicherheit: Autorisierung, wählen Sie API-Schlüssel aus und klicken Sie auf Weiter. Dieses fügt Ihrem API-Proxy zwei Richtlinien hinzu.
  9. Wählen Sie auf der Seite Virtuelle Hosts die Option default und secure und klicken Sie dann auf Next (Weiter). Wenn Sie default auswählen, können Sie Ihre API mit http:// aufrufen. Wenn Sie sicher auswählen, ermöglicht Ihnen, Ihre API mit https:// aufzurufen.
  10. Prüfen Sie auf der Seite Summary, ob das test-Deployment Umgebung ausgewählt ist, und klicken Sie dann auf Erstellen und bereitstellen.
  11. Sie erhalten eine Bestätigung, dass Ihr neuer API-Proxy und eine API Produkt erstellt und der API-Proxy wurde auf dem Ihrer Testumgebung.
  12. Klicken Sie auf Proxy bearbeiten, um die Seite Übersicht für die API-Proxy.

Richtlinien ansehen

  1. Klicken Sie im API-Proxy-Editor auf den Tab Develop. Wie Sie sehen, Dem Anfrageablauf des API-Proxys wurden zwei Richtlinien hinzugefügt: <ph type="x-smartling-placeholder">
      </ph>
    • API-Schlüssel überprüfen:Damit wird sichergestellt, dass im API-Aufruf eine gültige API-Schlüssel vorhanden (als Abfrageparameter gesendet)
    • Remove Query Param apikey:EineAssignMessage-Richtlinie, die Der API-Schlüssel wird nach der Überprüfung entfernt, sodass er nicht übergeben wird. und unbeabsichtigt bedeckt werden.
  2. Klicken Sie in der Ablaufansicht auf das Symbol zum Überprüfen der Richtlinie für API-Schlüssel und sehen Sie sich die XML-Konfiguration der Richtlinie in der unteren Codeansicht. Die Das <APIKey>-Element teilt der Richtlinie mit, wo es angezeigt werden soll nach dem API-Schlüssel suchen. Standardmäßig sucht es nach Schlüssel als Suchparameter namens apikey im HTTP- Anfrage:

    <APIKey ref="request.queryparam.apikey" />
    

    Der Name apikey ist frei wählbar und kann ein beliebiges Attribut sein das den API-Schlüssel enthält.

Versuchen Sie, die API aufzurufen

In diesem Schritt führen Sie einen erfolgreichen API-Aufruf direkt an das Ziel dann senden Sie einen fehlgeschlagenen Aufruf an den API-Proxy, um zu sehen, durch die Richtlinien geschützt wird.

  1. Erfolg

    Rufen Sie in einem Webbrowser die folgende Adresse auf. Dies ist der Zieldienst, für den der API-Proxy konfiguriert ist an die die Anfrage gesendet wird, aber vorerst wird sie direkt gesendet:

    http://mocktarget.apigee.net
    

    Sie sollten folgende erfolgreiche Antwort erhalten: Hello, Guest!.

  2. Fehler

    Versuchen Sie nun, den API-Proxy aufzurufen:

    http://ORG_NAME-test.apigee.net/helloapikey
    

    Ersetzen Sie ORG_NAME durch den Namen Ihres Edge-Organisation.

    Ohne die Richtlinie zum Überprüfen des API-Schlüssels erhalten Sie bei diesem Aufruf dieselbe wie beim vorherigen Aufruf. Aber in diesem Fall sollten Sie folgende Fehlerantwort:

    {"fault":{"faultstring":"Failed to resolve API Key variable request.queryparam.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
    

    Das bedeutet, dass Sie keinen gültigen API-Schlüssel einen Suchparameter).

In den nächsten Schritten fügen Sie ein API-Produkt hinzu.

API-Produkt hinzufügen

So fügen Sie ein API-Produkt über die Apigee-Benutzeroberfläche hinzu:

  1. Wählen Sie Publish > API Products aus.
  2. Klicken Sie auf +API Product.
  3. Geben Sie die Produktdetails für Ihr API-Produkt ein.

    Feld Beschreibung
    Name Interner Name des API-Produkts. Das sollten Sie nicht tun: Sonderzeichen im Namen enthalten.
    Hinweis:Sie kann den Namen nicht mehr bearbeiten, nachdem das API-Produkt erstellt wurde. Für Beispiel: helloworld_apikey-Product.
    Anzeigename Anzeigename für das API-Produkt. Der Anzeigename wird in und können jederzeit bearbeitet werden. Wenn keine Angabe erfolgt, wird der Name-Wert wird verwendet. Dieses Feld wird automatisch mit dem Name value; können Sie den Inhalt bearbeiten oder löschen. Das Display Namen können Sonderzeichen enthalten. Beispiel: helloworld_apikey-Product
    Beschreibung Beschreibung des API-Produkts. Beispiel: Test product for tutorial.
    Umgebung Umgebungen, auf die das API-Produkt Zugriff gewährt. Beispiel: test oder prod.
    Zugriff Wählen Sie Public aus.
    Zugriffsanfragen automatisch genehmigen Automatische Genehmigung von Schlüsselanfragen für diese API aktivieren aus jeder App herausholen.
    Kontingent Für diese Anleitung ignorieren.
    Erlaubte OAuth-Bereiche Für diese Anleitung ignorieren.
  4. Wählen Sie im Abschnitt API-Ressourcen den gerade verwendeten API-Proxy aus. erstellt. Beispiel: helloworld_apikey.
  5. Klicken Sie auf Hinzufügen.
  6. Fügen Sie im Abschnitt Pfade den Pfad „/“ hinzu.
  7. Klicken Sie auf Hinzufügen.
  8. Klicken Sie auf Speichern.

In den nächsten Schritten erhalten Sie den erforderlichen API-Schlüssel.

Entwickler und App zu deinem Organisation

Als Nächstes simulieren wir den Workflow Ihre APIs verwenden. Ein Entwickler hat eine oder mehrere Apps, die Ihre APIs aufrufen. und jede App erhält einen eindeutigen API-Schlüssel. Dadurch erhalten Sie als API-Anbieter eine detaillierte Kontrolle über den Zugriff auf Ihre APIs und detailliertere Berichte API-Traffic nach App.

Entwickler erstellen

So erstellen Sie einen Entwickler:

  1. Wählen Sie im Menü Veröffentlichen > Entwickler aus.
  2. Klicken Sie auf + Entwickler.
  3. Geben Sie im Fenster "New Developer" Folgendes ein:

    In diesem Feld eingeben
    Vorname Keyser
    Nachname Soze
    Nutzername keyser
    E-Mail keyser@example.com
  4. Klicken Sie auf Erstellen.

App registrieren

So registrieren Sie eine Entwickler-App:

  1. Wählen Sie Veröffentlichen > Apps aus.
  2. Klicken Sie auf + App.
  3. Geben Sie im Fenster New App (Neue App) Folgendes ein:

    p
    In diesem Feld tun Sie Folgendes
    Name und Anzeigename Eingeben: keyser_app
    Unternehmen / Entwickler Wählen Sie Developer aus.
    Entwickler Wählen Sie Keyser Soze (keyser@example.com) aus.
    Callback URL und Hinweise Leer lassen
  4. Wählen Sie im Abschnitt Anmeldedaten die Option Nie aus der Menü Ablauf: Die Anmeldedaten für diese Anwendung laufen nie ab.
  5. Klicken Sie unter Produkte auf Produkt hinzufügen.
  6. Wählen Sie helloworld_apikey-Product aus.
  7. Klicken Sie auf Hinzufügen.
  8. Klicken Sie über und rechts neben App-Details auf Erstellen. um Ihre Arbeit zu speichern.

API-Schlüssel abrufen

So rufen Sie den API-Schlüssel ab:

  1. Klicken Sie auf der Seite Apps (Veröffentlichen > Apps) auf keyser_app.
  2. Klicken Sie auf der Seite keyser_app neben Schlüssel auf Anzeigen. im Abschnitt Anmeldedaten ein. Gehen Sie im Bereich Produkt so vor: Beachten Sie, dass der Schlüssel mit helloworld_apikey verknüpft ist.

    .
  3. Wählen Sie den Schlüssel aus und kopieren Sie ihn. Sie benötigen sie im nächsten Schritt.

API mit einem Schlüssel aufrufen

Mit dem API-Schlüssel können Sie jetzt den API-Proxy aufrufen. Eingabetaste Führen Sie die folgenden Schritte in Ihrem Webbrowser aus. Ersetzen Sie den Namen Ihrer Edge-Organisation für ORG_NAME und den API-Schlüssel für API_KEY unten. Der Suchparameter darf keine zusätzlichen Leerzeichen enthalten.

http://ORG_NAME-test.apigee.net/helloapikey?apikey=API_KEY

Wenn Sie jetzt den API-Proxy aufrufen, sollten Sie die folgende Antwort erhalten: Hello, Guest!

Glückwunsch! Sie haben einen API-Proxy erstellt und geschützt durch der Aufruf erfordert, dass ein gültiger API-Schlüssel enthalten ist.

Es ist generell nicht empfehlenswert, einen API-Schlüssel als Suchparameter angeben. Sie sollten überlegen, <ph type="x-smartling-placeholder"></ph> übergeben Sie sie stattdessen im HTTP-Header.

Best Practice: Schlüssel im HTTP-Header übergeben

In diesem Schritt ändern Sie den Proxy, sodass er in einem mit dem Namen x-apikey.

  1. API-Proxy bearbeiten. Wählen Sie Entwickeln > API-Proxys > blogger_apikey und rufen Sie die Ansicht Develop auf.
  2. Wählen Sie die Richtlinie API-Schlüssel verifizieren aus und ändern Sie die Richtlinien-XML, die Richtlinie in der header statt im queryparam:

    <APIKey ref="request.header.x-apikey"/>
    
  3. Speichern Sie den API-Proxy, um die Änderung bereitzustellen.
  4. Führen Sie den folgenden API-Aufruf aus. Verwenden Sie dabei cURL, um den API-Schlüssel als mit dem Namen x-apikey. Vergessen Sie nicht, Name der Organisation.

    curl -v -H "x-apikey: API_KEY" http://ORG_NAME-test.apigee.net/helloapikey
    

Damit die Änderung abgeschlossen werden kann, müssen Sie auch die Konfiguration des assignMessage-Richtlinie, um den Header anstelle des Suchparameters zu entfernen. Beispiel:

<Remove>
<Headers>
    <Header name="x-apikey"/>
</Headers>
</Remove>
<ph type="x-smartling-placeholder">

Weitere Informationen

Folgende Themen beziehen sich direkt auf diese Anleitung:

Etwas genauer, der Schutz von APIs mit API-Schlüsseln ist nur ein Teil der Geschichte. Oftmals Der API-Schutz umfasst zusätzliche Sicherheitsmaßnahmen wie OAuth.

OAuth ist ein offenes Protokoll, das kurz gesagt Anmeldedaten (wie Nutzername und Passwort) gegen Zugriffstokens. Zugriffstokens sind lange, zufällige Strings, die um eine Nachricht herum übergeben werden können. von App zu App ausführen, ohne die ursprünglichen Anmeldedaten zu beeinträchtigen. Zugriff Tokens haben oft eine kurze Lebensdauer, sodass ständig neue Tokens generiert werden.