Richtlinien auf API-Ebene

webMethods API Gateway bietet einen Richtlinienrahmen, der es ermöglicht, API-Verhalten zu programmieren und bestimmte begrenzte Verwaltungsfunktionen zu implementieren, ohne Code schreiben zu müssen. Sie können einer API eine Richtlinie auferlegen, um bestimmte Aufgaben auszuführen, z. B. Transport, Sicherheit, Protokollierung, Weiterleitung von Anforderungen an Zieldienste und Umwandlung von Daten von einem Format in ein anderes. Sie können auch eine Richtlinie definieren, um die verschiedenen API-Aufrufe während der Laufzeit zu bewerten und zu verarbeiten. Eine Richtlinie könnte zum Beispiel anweisen webMethods API Gateway anweisen, eine der folgenden Aufgaben auszuführen und bösartige Angriffe zu verhindern:

  • Überprüfen Sie, ob API-Anfragen von authentifizierten und autorisierten Anwendungen stammen, indem Sie die angegebenen Identifikatoren in der Kopfzeile HTTP verwenden.
  • Validierung digitaler Signaturen im Sicherheitskopf von Anfrage- und Antwortnachrichten.
  • Überwachen Sie eine benutzerdefinierte Reihe von Laufzeitleistungsbedingungen und begrenzen Sie die Anzahl der Aufrufe während eines bestimmten Zeitintervalls für eine bestimmte API und für Anwendungen. Senden Sie Warnmeldungen an ein bestimmtes Ziel, wenn diese Leistungsbedingungen verletzt werden.
  • Protokollieren Sie die Anfrage- und Antwortmeldungen sowie die Laufzeitleistungsmessungen für APIs und Anwendungen.

Sie können Richtlinien in einer API auf die folgenden Arten durchsetzen:

  • Globale Durchsetzung von Richtlinien. Diese Durchsetzung gilt global für alle APIs, die in webMethods API Gateway. So können beispielsweise die Richtlinien zum Schutz vor Bedrohungen für alle APIs durchgesetzt werden, um sie vor bösartigen Angriffen zu schützen. Weitere Informationen zu Bedrohungsschutzrichtlinien finden Sie unter Bedrohungsschutzrichtlinien.
  • Durchsetzung von Richtlinien auf API-Ebene. Diese Durchsetzung gilt für alle Ressourcen und ihre verschachtelten Methoden einer REST-API bzw. für alle Vorgänge einer SOAP-API. Diese Maßnahmen werden je nach ihrer Verwendung in verschiedene Stufen eingeteilt, z. B:

    So kann beispielsweise die Richtlinienkategorie "Identifizieren und Zugreifen" für eine API durchgesetzt werden, um die Identifikatoren festzulegen, die zur Identifizierung der Anwendung verwendet werden, und sie für alle Anwendungen zu autorisieren, die in webMethods API Gateway.

  • Durchsetzung von Richtlinien auf Umfangsebene
    • Durchsetzung von Richtlinien auf Ressourcenebene. Gilt nur für REST-APIs. Diese Durchsetzung gilt für eine oder mehrere Ressourcen und ihre verschachtelten Methoden in der REST-API.
    • Durchsetzung von Richtlinien auf Methodenebene. Gilt nur für REST-APIs. Diese Durchsetzung gilt für eine oder mehrere Methoden, die innerhalb einer Ressource in der REST-API verschachtelt sind.
    • Durchsetzung von Richtlinien auf Betriebsebene. Gilt nur für SOAP-APIs. Diese Durchsetzung gilt für einen oder mehrere Vorgänge in der SOAP-API.

Wie funktioniert die Durchsetzung von Richtlinien?

Wenn Sie Richtlinien global (über globale Richtlinien) und direkt (über Richtlinien auf API-Ebene und Bereichsebene) anwenden, bestimmt der webMethods API Gateway bestimmt die effektiven Richtlinien unter Berücksichtigung der Priorität auf API-Ebene, der Richtlinienstufen, der Richtlinienpriorität, der Laufzeitbeschränkungen und des Status der angewandten globalen Richtlinien. Nehmen wir an, eine API wird mit der Identifizierungs- und Zugriffsrichtlinie auf den folgenden Ebenen der Richtliniendurchsetzung durchgesetzt: global, auf API-Ebene und auf Bereichsebene. Der Vorrang der Richtliniendurchsetzung, die für die API zur Laufzeit wirksam ist, ist wie folgt:

  1. Globale Durchsetzung von Richtlinien
  2. Durchsetzung von Richtlinien auf Methodenebene oder auf Betriebsebene
  3. Durchsetzung von Richtlinien auf Ressourcenebene
  4. Durchsetzung von Richtlinien auf API-Ebene

Wenn für die API die Identifizierungs- und Zugriffsrichtlinie sowohl global als auch auf API-Ebene angewendet wird, webMethods API Gateway keinen Konflikt anzeigen. Die Identifizierungs- und Zugriffsrichtlinie, die über die globale Richtlinie angewendet wird, hat Vorrang und wird zur Laufzeit verarbeitet.

Bei einer REST-API wird die Identifizierungs- und Zugriffsrichtlinie über eine Richtlinie auf Bereichsebene auf der Ressourcenebene und der API-Ebene angewandt, wobei die Identifizierungs- und Zugriffsrichtlinie, die über die Richtlinie auf Bereichsebene angewandt wird, Vorrang hat und zur Laufzeit verarbeitet wird.

Wenn Sie eine Transportrichtlinie auf globaler Ebene anwenden, ist die Transportrichtlinie, die auf API-Ebene angewandt wird, im deaktivierten Zustand. Wenn Sie versuchen, eine Transportrichtlinie auf API-Ebene zu löschen, die sich im deaktivierten Zustand befindet, wird ein Fehler angezeigt. Sie dürfen diese Richtlinie nicht löschen, da die Transportrichtlinie auf API-Ebene erforderlich ist und durchgesetzt wird, wenn Sie die globale Richtlinie deaktivieren.

Variabler Rahmen

Alle Arten von Variablen wie Anfrage-, Antwort-, benutzerdefinierte, benutzerdefinierte Kontext- und Systemkontextvariablen werden über den gemeinsamen Rahmen namens Variablenrahmen gehandhabt. Der Variablenrahmen in webMethods API Gateway bietet eine Option zum Extrahieren von Variablenwerten, die stufenübergreifend verwendet werden können. Beispielsweise können Sie die extrahierte Variable verwenden, um Anfrage- und Antwortinhalte wie Kopfzeilen, Abfrageparameter, Pfadparameter und Nutzdaten nach Ihren Anforderungen umzuwandeln. Mit dem Variablen-Framework können Sie die Syntax normalisieren und eine gemeinsame Vorlage für den Zugriff auf die verschiedenen Variablentypen erstellen. Einzelheiten zu den zu verwendenden Variablensyntaxen finden Sie unter Variablen-Framework

Aliasnamen

webMethods API Gateway bietet die Möglichkeit, Aliasnamen zu verwenden. Ein Alias enthält stufenspezifische Eigenschaftswerte, die von mehreren Richtlinienkonfigurationen gemeinsam genutzt werden können. Aliase, auf die in Richtlinienkonfigurationen verwiesen wird, werden zur Laufzeit ersetzt. Das Ändern eines Alias-Wertes wirkt sich auf alle referenzierenden Richtlinien aus. Aliasnamen werden über einen Namen referenziert, daher müssen Aliasnamen innerhalb einer webMethods API Gateway. Der entsprechende Alias-Wert wird zur Laufzeit anstelle eines Alias-Namens eingesetzt. So kann ein und derselbe Alias in mehreren Richtlinien genannt werden, und die Änderung eines bestimmten Alias würde sich auf alle Richtlinieneigenschaften auswirken. Weitere Einzelheiten zu Aliasen und deren Verwendung finden Sie unter Aliase

Richtlinienvorlagen

webMethods API Gateway bietet Richtlinienvorlagen, d. h. eine Reihe von Richtlinien, die direkt mit einer einzelnen API verknüpft werden können. Richtlinienvorlagen bieten die Flexibilität, die Konfigurationen der Richtlinie entsprechend den individuellen API-Anforderungen zu ändern. Diese Richtlinienvorlagen gelten für die API-Ebene und können an die Bedürfnisse einer bestimmten API angepasst werden. Weitere Einzelheiten zu Richtlinienvorlagen und deren Verwendung finden Sie unter Richtlinienvorlagen.

Richtlinienvalidierung und Abhängigkeiten

Wenn Sie eine Richtlinie durchsetzen, um eine API zur Laufzeit zu steuern, webMethods API Gateway validiert die Richtlinien, um sicherzustellen, dass:

  • Jede Richtlinie (z. B. "Aufruf protokollieren"), die in einer API mehrfach erscheinen kann, darf auch mehrfach erscheinen.
  • Bei Richtlinien (z. B. Require HTTP / HTTPS ), die nur einmal in einer API vorkommen können, gibt API Gateway eine Fehlermeldung aus.
  • Bei Richtlinien (z. B. Monitor SLA), die abhängig sind und eine andere Richtlinie in Verbindung verwenden (z. B. Identify and Authorize Application) in einer API, webMethods API Gateway fordert Sie mit einer Warnmeldung auf, die abhängige Richtlinie einzubeziehen.

Wenn Sie eine API speichern, webMethods API Gateway die Richtlinien aus allen globalen und direkten Richtlinien, die für die API gelten, zusammen (d. h. auf API-Ebene) und generiert die so genannte effektive Richtlinie für die API. Nehmen wir zum Beispiel an, dass Ihre REST-API in den Geltungsbereich von zwei Richtlinien fällt: eine Richtlinie, die eine Protokollierungsaufgabe erfüllt, und eine andere Richtlinie, die eine Sicherheitsaufgabe erfüllt. Wenn Sie die REST-API speichern, webMethods API Gateway die beiden Richtlinien automatisch zu einer einzigen effektiven Richtlinie zusammen. Die effektive Richtlinie, die sowohl die Protokollierungsaufgabe als auch die Sicherheitsaufgabe enthält, ist die Richtlinie, die webMethods API Gateway tatsächlich zur Veröffentlichung der REST-API verwendet wird.

Wenn webMethods API Gateway die wirksame Richtlinie erstellt, validiert es die resultierende Richtlinie, um sicherzustellen, dass sie keine widersprüchlichen oder inkompatiblen Richtlinien enthält.

Wenn die Richtlinie Konflikte oder Inkonsistenzen enthält, webMethods API Gateway die effektive API-Richtlinie gemäß den Regeln zur Richtlinienauflösung. Eine wirksame API-Richtlinie kann zum Beispiel nur eine Richtlinie zur Identifizierung und Autorisierung von Anwendungen enthalten. Wenn die resultierende Richtlinienliste mehrere Identifizieren- und Autorisieren-Richtlinien enthält, webMethods API Gateway zeigt den Konflikt an, indem es neben dem Namen der konfligierenden Richtlinien in der effektiven Richtlinie das Symbol Konflikt Symbol anzeigt. Einzelheiten zur Richtlinienvalidierung und zu Abhängigkeiten finden Sie unter Richtlinienvalidierung und Abhängigkeiten.