Einführung

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

In den folgenden Abschnitten werden API-Produkte und verbundene Schlüsselkonzepte vorgestellt.

Was ist ein API-Produkt?

Als API-Anbieter erstellen Sie API-Produkte, um Ihre APIs zu bündeln und sie App-Entwicklern zur Nutzung zur Verfügung zu stellen. Sie können sich API-Produkte als Produktlinie vorstellen.

Ein API-Produkt umfasst insbesondere Folgendes:

  • Sammlung von API-Ressourcen (URIs)
  • Serviceplan
  • Spezifische Metadaten für Ihr Unternehmen zum Monitoring oder zur Analyse (optional)

Die in einem API-Produkt gebündelten API-Ressourcen können von einer oder mehreren APIs stammen. Sie können also Ressourcen kombinieren, um spezielle Funktionen zu erstellen, wie in der folgenden Abbildung dargestellt.

Sie können mehrere API-Produkte für Anwendungsfälle erstellen, die bestimmte Anforderungen erfüllen. Sie können beispielsweise ein API-Produkt erstellen, das eine Reihe von Kartenressourcen bündelt, um Entwicklern die einfache Integration von Karten in ihre Anwendungen zu ermöglichen. Darüber hinaus lassen sich für jedes API-Produkt unterschiedliche Eigenschaften festlegen, z. B. unterschiedliche Preisstufen. Sie können beispielsweise die folgenden API-Produktkombinationen anbieten:

  • Ein API-Produkt mit einem niedrigen Zugriffslimit, z. B. 1.000 Anfragen pro Tag zu einem günstigen Preis. Ein zweites API-Produkt, das Zugriff auf dieselben Ressourcen bietet, aber mit einem höheren Zugriffslimit und zu einem höheren Preis.
  • Ein kostenloses API-Produkt mit Lesezugriff auf Ressourcen. Ein zweites API-Produkt, das Lese-/Schreibzugriff auf dieselben Ressourcen gegen eine geringe Gebühr bietet.

Darüber hinaus können Sie den Zugriff auf die API-Ressourcen in einem API-Produkt steuern. Sie können beispielsweise Ressourcen bündeln, auf die nur interne Entwickler oder nur zahlende Kunden zugreifen können.

API-Produkte sind der zentrale Mechanismus für die Autorisierung und Zugriffssteuerung Ihrer APIs. In Apigee werden API-Schlüssel nicht für APIs selbst, sondern für API-Produkte bereitgestellt. Mit anderen Worten, API-Schlüssel werden für Ressourcen-Bundles mit einem angehängten Dienstplan bereitgestellt.

App-Entwickler greifen über die Registrierung ihrer Apps auf Ihre API-Produkte zu, wie unter "Apps registrieren" beschrieben. Wenn eine App versucht, auf ein API-Produkt zuzugreifen, wird die Autorisierung von Apigee zur Laufzeit erzwungen, um Folgendes sicherzustellen:

  • Die anfragende App kann auf eine bestimmte API-Ressource zugreifen.
  • Die anfragende App hat das zulässige Kontingent nicht überschritten.
  • Wenn definiert, stimmen die im API-Produkt definierten OAuth-Bereiche mit denen überein, die mit dem von der App gezeigten Zugriffstoken verbunden sind.

Schlüsselkonzepte

Machen Sie sich mit den folgenden Schlüsselkonzepten vertraut, bevor Sie API-Produkte erstellen.

API-Schlüssel

Wenn Sie die App eines Entwicklers in Ihrer Organisation registrieren, muss die App mit mindestens einem API-Produkt verknüpft werden. Durch das Koppeln einer App mit einem oder mehreren API-Produkten weist Edge der App einen eindeutigen Consumer-Key zu.

Der Consumer-Schlüssel oder das Zugriffstoken dient als Anfrageanmeldedaten. Der App-Entwickler bettet den Consumer-Key in die App ein. Wenn die App also eine Anfrage an eine von Edge gehostete API stellt, übergibt die App den Consumer-Key in der Anfrage auf eine der folgenden Arten:

  • Wenn die API die API-Schlüsselverifizierung verwendet, muss die App den Consumer-Schlüssel direkt übergeben.
  • Wenn die API die OAuth-Token-Verifizierung verwendet, muss die App ein Token übergeben, das vom Consumer-Schlüssel abgeleitet wurde.

API-Schlüssel werden nicht automatisch erzwungen. Unabhängig davon, ob der Consumer-Key oder OAuth-Tokens als Anfrageanmeldedaten verwendet werden, validiert der API-Proxy die Anfrage-Anmeldedaten in Ihren API-Proxys, indem er im entsprechenden Ablauf eine VerifyAPIKey-Richtlinie oder eine OAuth/VerifyAccessToken-Richtlinie einschließt. Wenn Sie keine Richtlinie zur Erzwingung von Anmeldedaten in Ihren API-Proxy einfügen, kann jeder Aufrufer Ihre APIs aufrufen. Weitere Informationen findest du unter Richtlinie für API-Schlüssel prüfen.

Um die in der Anfrage übergebenen Anmeldedaten zu überprüfen, führt Edge die folgenden Schritte aus:

  • Anmeldedaten abrufen, die mit der Anfrage übergeben wurden. Bei der OAuth-Tokenüberprüfung überprüft Edge, ob das Token abgelaufen ist, und sucht dann nach dem Consumer-Schlüssel, mit dem das Token generiert wurde.
  • Liste der API-Produkte abrufen, denen der Consumer-Schlüssel zugeordnet wurde.
  • Prüfen, ob der aktuelle API-Proxy im API-Produkt enthalten ist und ob der aktuelle Ressourcenpfad (URL-Pfad) für das API-Produkt aktiviert ist.
  • Verifizieren, dass der Consumer-Schlüssel nicht abgelaufen ist oder widerrufen wurde, dass die App nicht widerrufen wurde und dass der App-Entwickler aktiv ist.

Wenn alle oben genannten Prüfungen bestanden wurden, ist die Verifizierung der Anmeldedaten erfolgreich.

Letztendlich generiert Edge automatisch Consumer-Keys, aber API-Publisher müssen die Schlüsselprüfung in API-Proxys mithilfe geeigneter Richtlinien erzwingen.

Automatische Genehmigung im Vergleich zu manueller Genehmigung

Standardmäßig werden alle Anfragen zum Abrufen eines Schlüssels für den Zugriff auf ein API-Produkt über eine App automatisch genehmigt. Alternativ können Sie das API-Produkt so konfigurieren, dass Schlüssel manuell genehmigt werden. In diesem Fall müssen Sie Schlüsselanfragen von jeder Anwendung genehmigen, in der das API-Produkt hinzugefügt wird. Weitere Informationen findest du unter Apps registrieren und API-Schlüssel verwalten.

Kontingente

Kontingente können Ihre Back-End-Server vor hohem Traffic schützen und Ihre Produktlinie differenzieren. Sie können beispielsweise Ressourcen mit einem hohen Kontingent als Premium-Produkt bündeln und dasselbe Bündel an Ressourcen mit einem niedrigeren Kontingent als ein Basic-Produkt anbieten. Ein Kontingent kann dabei helfen, Ihre Server vor Überlastung zu schützen, wenn ein Produkt häufig verwendet wird und viele Anfragen erhält.

Informationen zum Konfigurieren von Kontingenten finden Sie unter Kontingentrichtlinie. Informationen zur Verwendung der Produktkontingenteinstellungen in Kontingentrichtlinien finden Sie im folgenden Community-Artikel Wie interagieren die Kontingenteinstellungen eines API-Produkts mit Kontingentrichtlinien in einem API-Proxy?.

OAuth-Bereiche

Als zusätzliche Sicherheitsstufe können Sie beliebige OAuth-Bereiche als eine durch Kommas getrennte Liste definieren, die in Zugriffstokens vorhanden sein muss, die über das Produkt gesendet werden. Wenn Sie ein Produkt erstellen, müssen Sie alle Bereiche berücksichtigen, die Ihre Organisation verwendet. Die Bereiche, die Sie einem Produkt hinzufügen, müssen mit vorhandenen Bereichen übereinstimmen. Andernfalls ist das Produkt nicht sicher.

Weitere Informationen zur Verwendung von Bereichen mit Edge-OAuth-Richtlinien finden Sie unter Mit OAuth2-Bereichen arbeiten.

Zugriffsebenen

Beim Definieren eines API-Produkts können Sie die folgenden Zugriffsebenen festlegen.

Zugriffsebene Beschreibung
Öffentlich API-Produkte, die allen Entwicklern zur Verfügung stehen. Sie können sie zu integrierten oder Drupal-basierten Entwicklerportalen hinzufügen.
Privat oder interne Nutzung

API-Produkte, die für den privaten oder internen Gebrauch bestimmt sind.

Hinweis:In Bezug auf Funktion gibt es keinen Unterschied zwischen privaten und nur internen Zugriffsebenen. Wählen Sie das Label aus, das die Zielgruppe des API-Produkts am besten beschreibt.

Für das integrierte Portal können Sie API-Produkte, die privat oder für die interne Nutzung bestimmt sind, hinzufügen und für App-Entwickler bereitstellen.

Bei Drupal-basierten Entwicklerportalen können Sie den Zugriff auf private oder interne API-Produkte in Ihrem Entwicklerportal verwalten, wie in den folgenden Abschnitten beschrieben:

  • Für Drupal 9-Entwicklerportale können Sie den Zugriff auf private oder interne API-Produkte in Ihrem Entwicklerportal konfigurieren, wie unter Zugriffsberechtigungen für API-Produkte konfigurieren beschrieben.
  • In Entwicklerportalen von Drupal 7 können Sie Ihrem Entwicklerportal keine API-Produkte hinzufügen, die privat oder für die interne Nutzung bestimmt. Wenn Sie private oder interne API-Produkte für App-Entwickler verfügbar machen möchten, müssen Sie sie manuell über die Edge-Management-Benutzeroberfläche oder -API zu einer registrierten App hinzufügen, wie unter Apps registrieren und API-Schlüssel verwalten beschrieben. Nach dem Hinzufügen sieht der Entwickler das API-Produkt, das mit der App in Ihrem Portal verknüpft ist, wie unter API-Produkte in einer App verwalten beschrieben. Wenn der App-Entwickler den Zugriff auf ein API-Produkte deaktiviert, das privat oder für die interne Nutzung bestimmt ist, wird das API-Produkt aus der App entfernt und muss vom Portaladministrator manuell neu hinzugefügt werden.