Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Alle API Management-Ebenen
In diesem Tutorial erfahren Sie, wie Sie Richtlinien konfigurieren, um Ihre API zu schützen oder zu transformieren. Richtlinien sind eine Sammlung von Anweisungen, die bei Anfragen oder Antworten einer API nacheinander ausgeführt werden und das Verhalten der API ändern.
Tipp
API-Teams können dieses Feature in Arbeitsbereichen verwenden. Arbeitsbereiche bieten isolierten administrativen Zugriff auf APIs und ihre eigenen API-Runtimeumgebungen.
Sie können beispielsweise einen benutzerdefinierten Antwortheader festlegen. Sie können Ihre Back-End-API auch schützen, indem Sie eine Richtlinie zur Ratenbegrenzung konfigurieren, damit die API bei der Entwicklung nicht überlastet wird. Diese Beispiele bieten eine einfache Einführung in API-Verwaltungsrichtlinien. Weitere Richtlinienmöglichkeiten finden Sie unter API Management Richtlinien.
Hinweis
Standardmäßig konfiguriert API Management eine globale forward-request
-Richtlinie. Die forward-request
-Richtlinie ist notwendig, damit das Gateway eine Anforderung an einen Backend-Dienst abschließen kann.
In diesem Tutorial lernen Sie Folgendes:
- Transformieren einer API zum Festlegen eines benutzerdefinierten Antwortheaders
- Schützen Sie eine API, indem Sie eine Richtlinie zur Drosselung der Anfragehäufigkeit hinzufügen (Throttling).
- Testen der Transformationen
Voraussetzungen
- Machen Sie sich mit der Azure API Management-Terminologie vertraut.
- Machen Sie sich mit dem Konzept von Richtlinien in Azure API Management vertraut.
- Schließen Sie den folgenden Schnellstart ab: Erstellen einer Azure API Management-Instanz Sie sollten für dieses Tutorial eine der klassischen oder v2-Dienstebenen verwenden, z. B. „Developer“ oder „Basic v2“. Die Dienstebene „Verbrauch“ unterstützt nicht alle Richtlinien, die in diesem Tutorial verwendet werden.
- Absolvieren Sie außerdem das folgende Tutorial: Importieren und Veröffentlichen Ihrer ersten API.
Navigieren zur API Management-Instanz
Suchen Sie im Azure-Portal nach API Management-Dienste, und wählen Sie die entsprechende Option aus:
Wählen Sie auf der Seite API Management-Dienste Ihre API Management-Instanz aus:
Testen der ursprünglichen Antwort
So zeigen Sie die ursprüngliche Antwort an:
- Wählen Sie in der API Management-Dienstinstanz APIs aus.
- Wählen Sie in der API-Liste Swagger Petstore aus.
- Wählen Sie oben auf der Seite die Registerkarte Testen aus.
- Wählen Sie den Vorgang GET Finds pets by status (Haustiere nach Status suchen) und optional einen anderen Wert für den Abfrageparameter Status aus. Wählen Sie Send (Senden) aus.
Die ursprüngliche API-Antwort sollte etwa wie folgende Antwort aussehen:
Transformieren einer API zum Hinzufügen eines benutzerdefinierten Antwortheaders
API Management bietet mehrere Transformationsrichtlinien, die Sie zum Ändern von Anforderungs- oder Antwortnutzdaten, Headern oder Statuscodes verwenden können. In diesem Beispiel legen Sie in der API-Antwort einen benutzerdefinierten Antwortheader fest.
Legen Sie die Transformationsrichtlinie fest
In diesem Abschnitt erfahren Sie, wie Sie mithilfe der Richtlinie set-header
einen benutzerdefinierten Antwortheader konfigurieren. Hier verwenden Sie einen formularbasierten Richtlinien-Editor, der die Richtlinienkonfiguration vereinfacht.
Wählen Sie Swagger Petstore>Design>Alle Operationen aus.
Klicken Sie im Abschnitt Ausgehende Verarbeitung auf Richtlinie hinzufügen.
Wählen Sie im Fenster Ausgehende Richtlinie hinzufügen die Option Header festlegen aus.
Gehen Sie zum Konfigurieren der Richtlinie zum Festlegen von Headern wie folgt vor:
- Geben Sie unter Name den Begriff Custom ein.
- Wählen Sie unter Wert die Option + Wert hinzufügen aus. Geben Sie My custom value ein.
- Wählen Sie Speichern.
Nach der Konfiguration wird ein set-header-Richtlinienelement im Abschnitt Ausgehende Verarbeitung angezeigt.
Eine API schützen, indem eine Ratenbegrenzungspolitik (Drosselung) hinzugefügt wird.
In diesem Abschnitt wird gezeigt, wie Sie Ihre Back-End-API schützen, indem Sie Ratenbegrenzungen konfigurieren, sodass die API von Entwicklern nicht überlastet ist. In diesem Beispiel wird gezeigt, wie Sie die Richtlinie rate-limit-by-key
mithilfe des Code-Editors konfigurieren. In diesem Beispiel wird der Grenzwert auf drei Aufrufe pro 15 Sekunden festgelegt. Nach 15 Sekunden kann ein Entwickler die API erneut aufrufen.
Hinweis
Diese Richtlinie wird auf der Dienstebene „Verbrauch“ nicht unterstützt.
Wählen Sie Swagger Petstore>Design>Alle Operationen aus.
Wählen Sie im Abschnitt Eingehende Verarbeitung das Code-Editor-Symbol (</>) aus.
Positionieren Sie den Cursor innerhalb des
<inbound>
-Elements in einer leeren Zeile. Wählen Sie dann Codeausschnitte anzeigen in der oberen rechten Ecke des Bildschirms aus.Wählen Sie im rechten Fenster unter Richtlinien für die Zugriffsbeschränkung die Option Aufrufrate pro Schlüssel einschränken.
Das Element
<rate-limit-by-key />
wird an der Position des Cursors hinzugefügt.Ändern Sie Ihren
<rate-limit-by-key />
-Code im Element<inbound>
folgendermaßen ab: Klicken Sie dann auf Speichern.<rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
Testen der Transformationen
Zu diesem Zeitpunkt sieht Ihre Richtlinie in etwa wie folgt aus, wenn Sie den Code im Code-Editor betrachten:
<policies>
<inbound>
<rate-limit calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
<base />
</inbound>
<outbound>
<set-header name="Custom" exists-action="override">
<value>"My custom value"</value>
</set-header>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
Im verbleibenden Teil dieses Abschnitts werden die Richtlinientransformationen getestet, die Sie in diesem Artikel festgelegt haben.
Testen des benutzerdefinierten Antwortheaders
Wählen Sie Swagger Petstore>Testen aus.
Wählen Sie den Vorgang GET Finds pets by status (Haustiere nach Status suchen) und optional einen anderen Wert für den Abfrageparameter Status aus. Wählen Sie Send (Senden) aus.
Wie Sie sehen können, wurde der benutzerdefinierte Antwortheader hinzugefügt:
Testen des Aufruflimits (Drosselung)
Wählen Sie Swagger Petstore>Testen aus.
Wählen Sie den Vorgang GET Finds Pets by Status (Haustiere nach Status suchen) aus. Wählen Sie mehrmals nacheinander Senden aus.
Nachdem Sie zu viele Anforderungen im konfigurierten Zeitraum übermittelt haben, erhalten Sie die Antwort 429: Zu viele Anforderungen.
Warten Sie 15 Sekunden oder länger, und wählen Sie dann erneut Senden aus. Jetzt sollten Sie die Antwort 200 OK erhalten.
Copilot-Unterstützung erhalten
Sie können KI-Unterstützung von Copilot erhalten, um Ihre API-Verwaltungsrichtliniendefinitionen zu erstellen und zu bearbeiten. Sie können Copilot verwenden, um Richtlinien zu erstellen und zu aktualisieren, die Ihren spezifischen Anforderungen entsprechen, ohne die XML-Syntax kennen zu müssen. Sie können auch Erläuterungen zu vorhandenen Richtlinien erhalten. Und Copilot kann Ihnen dabei helfen, Richtlinien zu übersetzen, die Sie möglicherweise in anderen API-Verwaltungslösungen konfiguriert haben.
- Microsoft Copilot in Azure bietet Unterstützung bei der Richtlinienerstellung mit Anweisungen in natürlicher Sprache im Azure-Portal. Sie können Richtlinien im API-Verwaltungsrichtlinien-Editor erstellen und Copilot bitten, Richtlinienabschnitte zu erläutern.
- GitHub Copilot für Azure in Visual Studio Code bietet Unterstützung bei der Richtlinienerstellung in Visual Studio Code, und Sie können die Azure API-Verwaltungserweiterung für Visual Studio Code verwenden, um die Richtlinienkonfiguration zu beschleunigen. Sie können Copilot Chat oder Copilot Edits mithilfe natürlicher Sprache verwenden, um Richtliniendefinitionen an Ort und Stelle zu erstellen und zu verfeinern.
Beispielaufforderung:
Generate a policy that adds an Authorization header to the request with a Bearer token.
Copilot wird von KI unterstützt, so dass Überraschungen und Fehler möglich sind. Weitere Informationen finden Sie in den häufig gestellten Fragen zur allgemeinen Verwendung von Copilot.
Zusammenfassung
In diesem Tutorial haben Sie Folgendes gelernt:
- Transformieren einer API zum Festlegen eines benutzerdefinierten Antwortheaders
- Schützen Sie eine API, indem Sie eine Richtlinie zur Drosselung der Anfragehäufigkeit hinzufügen (Throttling).
- Testen der Transformationen
Nächste Schritte
Fahren Sie mit dem nächsten Tutorial fort: