Was ist eine Richtlinie?

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

Mit Apigee Edge können Sie das API-Verhalten mit „Richtlinien“ programmieren, ohne Code schreiben zu müssen. Eine Richtlinie ist wie ein Modul, das eine bestimmte, eingeschränkte Verwaltungsfunktion implementiert. Mithilfe von Richtlinien können Sie gängige Verwaltungsoptionen einfach und zuverlässig auf APIs anwenden. Richtlinien bieten Funktionen wie Sicherheits-, Ratenbegrenzungs-, Transformations- und Vermittlungsfunktionen. Sie müssen dann nicht mehr Code schreiben und diese Funktionen selbst verwalten.

Sie sind nicht auf die von Apigee Edge bereitgestellten Richtlinientypen beschränkt. Sie können auch benutzerdefinierte Skripts und benutzerdefinierten Code schreiben (z. B. JavaScript- und Node.js-Anwendungen), um die API-Proxy-Funktionalität zu erweitern. So können Sie zusätzlich zu den grundlegenden Verwaltungsfunktionen, die von Apigee-Richtlinien unterstützt werden, auch Innovationen vorantreiben.

In diesem Video erhalten Sie eine Einführung in den Richtlinienanhang und die Durchsetzung von Richtlinien.

Richtlinientypen

Technisch gesehen ist eine Richtlinie eine XML-formatierte Konfigurationsdatei. Die Struktur jedes Richtlinientyps (z. B. die erforderlichen und optionalen Konfigurationselemente) wird durch ein XML-Schema definiert. Wenn Sie sich mit XML-Tools auskennen, sollten Sie sich mit den Richtlinienschemas in den API-Plattformbeispielen auf GitHub vertraut machen.

Edge-Richtlinientypen werden in die folgenden Funktionskategorien gruppiert:

Traffic-Verwaltung

Mit Richtlinien in der Kategorie "Trafficverwaltung" können Sie den Flow von Anfrage- und Antwortnachrichten über einen API-Proxy steuern. Diese Richtlinien unterstützen die Kontrolle auf Betriebs- und Geschäftsebene. Sie haben die Kontrolle über den Rohdurchsatz und können den Traffic für einzelne Apps steuern. Durch Richtlinientypen für die Trafficverwaltung können Sie Kontingente durchsetzen und damit Denial-of-Service-Angriffe verringern.

Sicherheit

Richtlinien in der Sicherheitskategorie unterstützen Authentifizierung, Autorisierung und inhaltsbasierte Sicherheit.

Mediation

Mit Richtlinien in der Kategorie Mediation können Sie Nachrichten aktiv bearbeiten, wenn sie durch API-Proxys fließen. Sie können damit Nachrichtenformate von XML in JSON (und umgekehrt) oder ein XML-Format in ein anderes XML-Format umwandeln. Außerdem können Sie Nachrichten parsen, neue Nachrichten generieren und die Werte ausgehender Nachrichten ändern. Mediationsrichtlinien interagieren auch mit grundlegenden Diensten von API-Diensten, sodass Sie Daten zu Anwendungen, Entwicklern, Sicherheitstokens und API-Produkten zur Laufzeit abrufen können.

Erweiterung

Mit Richtlinien in der Kategorie Erweiterung können Sie die Erweiterbarkeit von API-Diensten nutzen, um benutzerdefiniertes Verhalten in der Programmiersprache Ihrer Wahl zu implementieren.

Jeder Richtlinientyp ist in der Übersicht über die Richtlinienreferenz ausführlich dokumentiert. In diesem Thema wird eine allgemeine Interaktion veranschaulicht. Sie erfahren, wie Sie Richtlinien erstellen und sie an Abläufe in einer API-Proxykonfiguration anhängen.

Richtlinienänderungen bereitstellen

Damit die Richtlinienänderungen wirksam werden, müssen Sie die API-Proxy-Revision für eine Umgebung bereitstellen. Nachdem Sie eine Richtlinie angehängt oder Änderungen an einer vorhandenen Richtlinie vorgenommen haben, stellen Sie die Änderungen über die Verwaltungs-UI oder die Verwaltungs-API bereit.

Erzwingung von Richtlinien prüfen

Um zu prüfen, ob eine Richtlinie ordnungsgemäß erzwungen wird, muss die API von einem HTTP-Client aufgerufen werden. Um diese Kontingentkonfiguration zu prüfen, senden Sie mehrere Anfragen an die API, indem Sie das in der Kontingentrichtlinie festgelegte Kontingentlimit überschreiten. (Der URI-Pfad, der im ProxyEndpoint als Basispfadeinstellung konfiguriert ist, lautet in der folgenden Anfrage /weather).

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

Wenn Sie mehr als 1 Anfrage innerhalb einer Minute gesendet haben, sollten Sie die folgende Fehlermeldung sehen:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Dies bedeutet, dass die Kontingentrichtlinie von API-Diensten erzwungen wird.

Richtlinienbasierte Fehlerbehandlung

Beachten Sie das Format der oben aufgeführten Fehlermeldung. Es enthält die Attribute faultstring und errorcode. In vielen Fällen müssen Sie ein Verhalten implementieren, das mit diesen Fehlern umgehen kann. Sie können beispielsweise eine benutzerdefinierte Nachricht an einen Entwickler senden, dessen App das Kontingent überschritten hat.

Weitere Informationen zur Fehlerbehandlung finden Sie unter Fehlerbehandlung.

Best Practices: Allgemeine Richtliniensätze

Zur Einhaltung der grundlegenden Verwaltungsanforderungen erzwingen API-Proxys normalerweise die folgenden Richtlinien:

Grundlegende API-Schlüsselvalidierung

ProxyEndpoint-Anfrageablauf:
  1. SpikeArrest
  2. XMLThreatProtection oder JSONThreatProtection
  3. API-Schlüsselüberprüfung
  4. Kontingent
  5. ResponseCache
ProxyEndpoint-Antwortfluss:
  1. ResponseCache

Grundtransformation: JSON in XML

Anfrageablauf:
  1. SpikeArrest
  2. JSONThreatProtection
  3. API-Schlüsselüberprüfung
  4. Kontingent
  5. JSONtoXML
Antwortfluss:
  1. XMLtoJSON
  2. ResponseCache