Einführung in API-Produkte

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

In den folgenden Abschnitten werden API-Produkte und verbundene Konzepte wie Kontingente und API-Schlüssel vorgestellt.

Was ist ein API-Produkt?

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

API-Produktsets umfassen einen oder mehrere Vorgänge. Ein Vorgang gibt einen API-Proxy und die Ressourcenpfade an, auf die mit diesem Proxy zugegriffen werden kann. Ein Vorgang kann den Zugriff auch durch HTTP-Methoden und Kontingente beschränken.

API-Produkte sind der zentrale Mechanismus für die Zugriffssteuerung auf Ihre APIs. Wenn Sie ein oder mehrere API-Produkte in einer Entwickleranwendung definieren, können Sie den Zugriff auf Proxys mit einem API-Schlüssel einschränken. In Apigee werden API-Schlüssel bereitgestellt, nicht für APIs selbst, sondern für API-Produkte. Mit anderen Worten: API-Schlüssel werden für Gruppen von Vorgängen bereitgestellt, die eine Produktlinie oder einen bestimmten Serviceplan definieren.

Gängige Anwendungsfälle

Sie können mehrere API-Produkte erstellen, die Vorgänge enthalten, mit denen bestimmte Anwendungsfälle bedient werden können. Beispielsweise können Sie ein API-Produkt erstellen, das eine Reihe von Zuordnungsressourcen bündelt, damit Entwickler Karten ganz einfach in ihre Anwendungen integrieren können.

Darüber hinaus können Sie für jedes API-Produkt verschiedene Kriterien festlegen, die auf Preisstufen basieren.

Die Anzahl der Anfragen:

  • Premium: Unbegrenzte Anfragen pro Tag
  • Basic: Bis zu 1.000 Anfragen pro Tag
  • Kostenlos bis zu 100 Anfragen pro Tag

Oder Zugriffsebene:

  • Premium: Lesen, Schreiben, Aktualisieren und Löschen
  • Basic: Lesen und Aktualisieren
  • Kostenlos: Schreibgeschützt

Oder eine beliebige Kombination der oben genannten Optionen:

  • Super Premium: Lesen und Schreiben beliebig oft am Tag
  • Premium: Lesen und Schreiben von bis zu 1.000 Anfragen pro Tag
  • Basic: Lese- und Schreibzugriff bis zu 100 Mal pro Tag
  • Kostenlos: Lesen bis zu 1.000 Mal pro Tag
  • Kostenlos: Schreibgeschützter Zugriff auf bis zu 100 Anfragen pro Tag

Voraussetzungen

API-Produkte, die Teil von „Pay as you go“ sind, müssen Folgendes enthalten:

Vorgänge

Ein Vorgang ist eine Gruppe von Attributen, die den Zugriff auf einen oder mehrere API-Proxys beschränken, basierend auf Kriterien wie Ressourcenpfad, HTTP-Methode und Kontingent. Ein Vorgang umfasst folgende Attribute:

Attribut Erforderlich/Optional? Beschreibung
API-Proxy Erforderlich Für jede Vorgangsgruppe muss ein API-Proxy angegeben werden. Pro Vorgangsgruppe ist nur ein Proxy zulässig.
Remotedienst Nicht festgelegt Nur erforderlich, wenn Sie den Apigee Adapter for Envoy installieren und verwenden möchten.
Ressourcenpfad Erforderlich Jede Vorgangsgruppe muss einen oder mehrere Ressourcenpfade angeben. Ressourcenpfade in einem Vorgang schränken den Zugriff auf bestimmte Ressourcen eines API-Proxys ein. Ein Ressourcenpfad ist der Teil einer API-Proxy-Anfrage-URL, die nach dem Proxy-Basispfad folgt.
HTTP-Methode Optional Sie können auch den Zugriff auf einen Proxy mithilfe einer HTTP-Methode einschränken. Wenn Sie beispielsweise für eine Vorgangsgruppe die Methoden GET und POST angeben, können nur HTTP-GET- und POST-Anfragen auf den Proxy für den angegebenen Ressourcenpfad zugreifen. Ist keine Methode angegeben, sind alle Methoden zulässig.
Kontingent Optional Sie können ein Kontingent für die Vorgangsgruppe festlegen. Das in einer Vorgangsgruppe angegebene Kontingent hat Vorrang vor einem API-Kontingent auf Produktebene.
Benutzerdefinierte Attribute Optional Benutzerdefinierte Attribute eignen sich für Messwerte, Monitoring oder Fälle, in denen Sie zusätzliche Informationen mit einem API-Produkt speichern möchten, das später aufgerufen bzw. abgerufen werden kann. Einem Vorgang zugeordnete benutzerdefinierte Attribute sind zusätzlich zu allen benutzerdefinierten Attributen auf API-Produktebene verfügbar. Sie können in der Laufzeit als Ablaufvariablen mit dem Präfix apiproduct.operation.attributes aufgerufen werden.

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 wird die App in Apigee einem eindeutigen Nutzerschlüssel zugewiesen. Siehe auch Zugriff auf APIs durch Registrierung von Anwendungen steuern.

Der Consumer-Schlüssel oder das Zugriffstoken dient als Anfrageanmeldedaten. Der App-Entwickler bettet den Consumer-Schlüssel in die App ein. Wenn die App eine Anfrage an eine von Apigee gehostete API sendet, gibt die App den Consumer-Schlüssel in der Anfrage so weiter:

  • 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-Schlüssel oder OAuth-Tokens als Anfrageanmeldedaten verwendet werden, validiert der API-Proxy die Anfrageanmeldedaten in Ihren API-Proxys, indem eine VerifyAPIKey-Richtlinie oder eine VerifyAccessToken-Richtlinienkonfiguration (siehe OAuthv2-Richtlinie) in den entsprechenden Ablauf aufgenommen wird. Wenn Sie in Ihrem API-Proxy keine Richtlinie zur Durchsetzung von Anmeldedaten angeben, kann jeder Aufrufer Ihre APIs aufrufen.

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

  1. Anmeldedaten abrufen, die mit der Anfrage übergeben wurden. Im Fall der OAuth-Token-Prüfung verifiziert Apigee, dass das Token nicht abgelaufen ist, und ruft dann den Nutzerschlüssel ab, mit dem das Token generiert wurde.
  2. Liste der API-Produkte abrufen, denen der Consumer-Schlüssel zugeordnet wurde.
  3. Prüfen, ob der aktuelle API-Proxy im API-Produkt enthalten ist, ob der aktuelle Ressourcenpfad (URL-Pfad) für das API-Produkt aktiviert ist und ob die Anfrage (falls im Produkt enthalten) ein angegebenes HTTP-Verb verwendet.
  4. Prüfen, ob das Kontingent (sofern angegeben) nicht überschritten wurde.
  5. 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.

Das heißt, Apigee generiert automatisch Consumer-Schlüssel, API-Publisher müssen jedoch die Schlüsselprüfung in API-Proxys mithilfe entsprechender Richtlinien erzwingen.

Schlüsselgenehmigung

Standardmäßig werden alle Anfragen zum Abrufen eines Schlüssels für den Zugriff auf ein API-Produkt aus einer Anwendung automatisch genehmigt. Alternativ können Sie das API-Produkt so konfigurieren, dass Schlüssel manuell genehmigt werden müssen. Die entsprechende Einstellung wird unter API-Produkte verwalten beschrieben. In diesem Fall müssen Sie wichtige Anfragen von allen Apps genehmigen, die das API-Produkt hinzufügen. Weitere Informationen finden Sie unter Zugriff auf APIs durch Registrierung der Apps steuern.

Kontingente

Mit Kontingenten können Sie 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 mit einem niedrigeren Kontingent als ein Basic-Produkt anbieten. Kontingente können dabei helfen, Ihre Server vor Überlastung zu schützen, wenn ein Produkt häufig verwendet wird und innerhalb kurzer Zeit eine große Anzahl von Anfragen erhält.

Sie können ein Kontingent für alle API-Proxys angeben, die im API-Produkt enthalten sind, oder Kontingente auf Vorgangsebene angeben. Ein in einem Vorgang angegebenes Kontingent hat Vorrang vor einem Kontingent, das auf API-Produktebene festgelegt wurde.

Durch das Festlegen von Kontingentlimits für ein API-Produkt werden Kontingente nicht automatisch erzwungen. Es sind lediglich Standardlimits, auf das in Kontingentrichtlinien verwiesen werden kann. Beim Festlegen eines Kontingents für das Produkt, auf das in Kontingentrichtlinien verwiesen wird, haben Sie folgende Vorteile:

  • Bei Kontingentrichtlinien kann eine einheitliche Einstellung für alle API-Proxys in einem API-Produkt verwendet werden.
  • Wenn Sie die Kontingenteinstellungen des API-Produkts zur Laufzeit ändern, verweisen die Kontingentrichtlinien automatisch auf die aktualisierten Kontingenteinstellungen.

Hier finden Sie weitere Informationen:

OAuth-Bereiche

Sie können OAuth-Bereiche als eine durch Kommas getrennte Liste definieren, die in Zugriffstokens vorhanden sein muss, die mit dem Produkt verknüpft sind. Weitere Informationen zur Verwendung von Bereichen mit Apigee-OAuth-Richtlinien finden Sie unter Mit OAuth2-Bereichen arbeiten.

Zugriffsebenen

Beim Definieren eines API-Produkts können Sie folgende Zugriffsebenen festlegen:

Zugriffsebene Beschreibung
Public API-Produkte, die allen Entwicklern zur Verfügung stehen. Sie können sie zu integrierten oder Drupal-basierten Entwicklerportalen hinzufügen.
Private oder Internal only API-Produkte, die für den privaten oder internen Gebrauch bestimmt sind.

Für das integrierte Portal können Sie API-Produkte Private oder Internal only hinzufügen und App-Entwicklern bei Bedarf zur Verfügung stellen.

Für Drupal-basierte Entwicklerportale können Sie den Zugriff auf die API-Produkte Private oder Internal only in Ihrem Entwicklerportal verwalten. Dies wird in den folgenden Abschnitten beschrieben:

  • Für Drupal 10-Entwicklerportale können Sie den Zugriff auf Private oder Internal only API-Produkte in Ihrem Entwicklerportal konfigurieren, wie unter Zugriffsberechtigungen für API-Produkte konfigurieren beschrieben.
  • Für Drupal 7-Entwicklerportale können Sie keine Private oder Internal only API-Produkte zu Ihrem Entwicklerportal hinzufügen.

    Um App-Entwicklern API-Produkte, die Private oder Internal only sind, zur Verfügung zu stellen, müssen Sie sie manuell über eine Apigee-Benutzeroberfläche oder API zu einer registrierten App hinzufügen. Eine Beschreibung hierzu finden Sie unter Zugriff auf APIs durch Registrierung von Anwendungen steuern.

    Nach dem Hinzufügen sieht der Entwickler das mit der App verknüpfte API-Produkt in Ihrem Portal, wie unter API-Produkte in einer App verwalten beschrieben. Wenn der App-Entwickler den Zugriff auf ein API-Produkt deaktiviert, das Private oder Internal only ist, wird das API-Produkt aus der App entfernt und muss vom Portaladministrator manuell wieder hinzugefügt werden.