Samouczek: przekształcanie i ochrona interfejsu API
DOTYCZY: Wszystkie warstwy usługi API Management
Z tego samouczka dowiesz się więcej o konfigurowaniu zasad w celu ochrony lub przekształcania interfejsu API. Zasady to zbiór instrukcji uruchamianych sekwencyjnie na żądanie lub odpowiedź interfejsu API, który modyfikuje zachowanie interfejsu API.
Na przykład możesz ustawić niestandardowy nagłówek odpowiedzi. Możesz też chronić interfejs API zaplecza, konfigurując zasady limitu szybkości, aby interfejs API nie był nadmiernie używane przez deweloperów. Te przykłady to proste wprowadzenie do zasad usługi API Management. Aby uzyskać więcej opcji zasad, zobacz Api Management policies (Zasady usługi API Management).
Uwaga
Domyślnie usługa API Management konfiguruje zasady globalne forward-request
. Aby forward-request
brama ukończyła żądanie do usługi zaplecza, potrzebne są zasady.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Przekształcanie interfejsu API w celu ustawienia niestandardowego nagłówka odpowiedzi
- Ochrona interfejsu API przez dodanie zasad limitu szybkości (ograniczanie przepustowości)
- Testowanie przekształceń
Wymagania wstępne
- Poznaj terminologię dotyczącą usługi Azure API Management.
- Zapoznaj się z koncepcją zasad w usłudze Azure API Management.
- Wykonaj procedury przedstawione w następującym przewodniku Szybki start: Tworzenie wystąpienia usługi Azure API Management. W tym samouczku zalecamy użycie jednej z warstw klasycznych lub 2, na przykład warstwy Deweloper lub Podstawowa w wersji 2. Warstwa Zużycie nie obsługuje wszystkich zasad używanych w tym samouczku.
- Ponadto wykonaj zadania z następującego samouczka: Importowanie i publikowanie pierwszego interfejsu API.
Przechodzenie do wystąpienia usługi API Management
W witrynie Azure Portal wyszukaj i wybierz pozycję Usługi API Management.
Na stronie Usługi API Management wybierz wystąpienie usługi API Management.
Testowanie oryginalnej odpowiedzi
Aby zobaczyć oryginalną odpowiedź:
- W wystąpieniu usługi API Management wybierz pozycję Interfejsy API.
- Wybierz pozycję Swagger Petstore z listy interfejsów API.
- Wybierz kartę Test w górnej części ekranu.
- Wybierz operację GET Znajdowanie zwierząt domowych według stanu i opcjonalnie wybierz inną wartość parametru zapytania stanu. Wybierz Wyślij.
Oryginalna odpowiedź interfejsu API powinna wyglądać podobnie do następującej odpowiedzi:
Przekształcanie interfejsu API w celu dodania niestandardowego nagłówka odpowiedzi
Usługa API Management zawiera kilka zasad przekształcania, których można użyć do modyfikowania ładunków żądań lub odpowiedzi, nagłówków lub kodów stanu. W tym przykładzie ustawisz niestandardowy nagłówek odpowiedzi w odpowiedzi interfejsu API.
Ustawianie zasad przekształcania
W tej sekcji przedstawiono sposób konfigurowania niestandardowego nagłówka odpowiedzi przy użyciu set-header
zasad. W tym miejscu użyjesz edytora zasad opartych na formularzach, który upraszcza konfigurację zasad.
Wybierz pozycję Swagger Petstore Design All operations (Projektowanie wszystkich>operacji w programie Swagger Petstore).>
W sekcji Przetwarzanie danych wychodzących wybierz pozycję + Dodaj zasady.
W oknie Dodawanie zasad ruchu wychodzącego wybierz pozycję Ustaw nagłówki.
Aby skonfigurować zasady Ustawianie nagłówków, wykonaj następujące czynności:
- W obszarze Nazwa wprowadź wartość Niestandardowa.
- W obszarze Wartość wybierz pozycję + Dodaj wartość. Wprowadź "Moja wartość niestandardowa".
- Wybierz pozycję Zapisz.
Po konfiguracji w sekcji Przetwarzanie wychodzące zostanie wyświetlony element zasad set-header.
Ochrona interfejsu API poprzez dodanie zasad limitu szybkości (ograniczanie przepustowości)
W tej sekcji pokazano, jak dodać ochronę do interfejsu API zaplecza, konfigurując limity szybkości, aby interfejs API nie był nadmiernie zawyżone przez deweloperów. W tym przykładzie pokazano, jak skonfigurować rate-limit-by-key
zasady przy użyciu edytora kodu. W tym przykładzie limit jest ustawiony na trzy wywołania na 15 sekund. Po 15 sekundach deweloper może ponowić próbę wywołania interfejsu API.
Uwaga
Te zasady nie są obsługiwane w warstwie Zużycie.
Wybierz pozycję Swagger Petstore Design All operations (Projektowanie wszystkich>operacji w programie Swagger Petstore).>
W sekcji Przetwarzanie przychodzące wybierz ikonę edytora kodu (</>).
Umieść kursor wewnątrz
<inbound>
elementu w pustym wierszu. Następnie wybierz pozycję Pokaż fragmenty kodu w prawym górnym rogu ekranu.W prawym oknie w obszarze Zasady ograniczeń dostępu wybierz pozycję Ogranicz częstotliwość wywołań na klucz.
Element
<rate-limit-by-key />
jest dodawany na kursorze.<rate-limit-by-key />
Zmodyfikuj kod w elemecie<inbound>
na następujący kod. Następnie wybierz opcję Zapisz.<rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
Testowanie przekształceń
Na tym etapie, jeśli spojrzysz na kod w edytorze kodu, zasady wyglądają jak następujący kod:
<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>
Pozostała część tej sekcji testuje przekształcenia zasad ustawione w tym artykule.
Testowanie nagłówka odpowiedzi niestandardowej
Wybierz pozycję Test sklepu petstore> struktury Swagger.
Wybierz operację GET Znajdowanie zwierząt domowych według stanu i opcjonalnie wybierz inną wartość parametru zapytania stanu. Wybierz Wyślij.
Jak widać, dodawany jest niestandardowy nagłówek odpowiedzi:
Testowanie limitu szybkości (ograniczania przepustowości)
Wybierz pozycję Test sklepu petstore> struktury Swagger.
Wybierz operację GET Znajdowanie zwierząt domowych według stanu . Wybierz pozycję Wyślij kilka razy w wierszu.
Po wysłaniu zbyt wielu żądań w skonfigurowanym okresie otrzymasz odpowiedź 429 Zbyt wiele żądań .
Poczekaj 15 sekund lub więcej, a następnie wybierz pozycję Wyślij ponownie. Teraz interfejs powinien zwrócić odpowiedź 200 OK.
Podsumowanie
W tym samouczku zawarto informacje na temat wykonywania następujących czynności:
- Przekształcanie interfejsu API w celu ustawienia niestandardowego nagłówka odpowiedzi
- Ochrona interfejsu API przez dodanie zasad limitu szybkości (ograniczanie przepustowości)
- Testowanie przekształceń
Następne kroki
Przejdź do następnego samouczka: