Udostępnij za pośrednictwem


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.

Napiwek

Zespoły interfejsów API mogą używać tej funkcji w obszarach roboczych. Obszary robocze zapewniają izolowany dostęp administracyjny do interfejsów API i ich własnych środowisk uruchomieniowych interfejsu API.

Na przykład możesz ustawić niestandardowy nagłówek odpowiedzi. Możesz też chronić interfejs API zaplecza, konfigurując politykę limitu zapytań, aby interfejs API nie był nadmiernie wykorzystywany przez deweloperów. Te przykłady to proste wprowadzenie do zasad usługi API Management. Aby uzyskać więcej opcji zasad, zobacz zasady zarządzania API.

Uwaga

Domyślnie usługa API Management konfiguruje zasady globalne forward-request . Aby brama sieciowa mogła ukończyć żądanie do usługi zaplecza, potrzebna jest polityka forward-request.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Zmiana interfejsu API w celu ustawienia niestandardowego nagłówka odpowiedzi
  • Ochrona interfejsu API przez dodanie zasad limitu szybkości (ograniczanie przepustowości)
  • Testowanie przekształceń

Zrzut ekranu przedstawiający zasady usługi API Management w portalu.

Wymagania wstępne

Przejdź do instancji usługi API Management

  1. W witrynie Azure portalwyszukaj i wybierz usługi zarządzania API:

    Zrzut ekranu przedstawiający usługi API Management w wynikach wyszukiwania.

  2. Na stronie zarządzania usługami API wybierz instancję API Management:

    Zrzut ekranu przedstawiający instancję systemu zarządzania API na stronie usług API Management.

Testowanie oryginalnej odpowiedzi

Aby zobaczyć oryginalną odpowiedź:

  1. W wystąpieniu usługi API Management wybierz pozycję APIs.
  2. Wybierz pozycję Swagger Petstore z listy interfejsów API.
  3. Wybierz kartę Test w górnej części ekranu.
  4. Wybierz operację GET Znajdowanie zwierząt domowych według stanu i opcjonalnie wybierz inną wartość parametru status zapytania. Wybierz Wyślij.

Oryginalna odpowiedź interfejsu API powinna wyglądać podobnie do następującej odpowiedzi:

Zrzut ekranu przedstawiający oryginalną odpowiedź interfejsu API w portalu.

Przekształć API, aby dodać niestandardowy nagłówek 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 polityki. W tym miejscu użyjesz edytora zasad opartych na formularzach, który upraszcza konfigurację zasad.

  1. Wybierz Swagger Petstore>Projektowanie>Wszystkie operacje.

  2. W sekcji Przetwarzanie danych wychodzących wybierz pozycję + Dodaj zasady.

    Zrzut ekranu przedstawiający przechodzenie do polityki wychodzącej w portalu.

  3. W oknie Dodawanie zasad ruchu wychodzącego wybierz pozycję Ustaw nagłówki.

    Zrzut ekranu przedstawiający konfigurację zasad „Ustawianie nagłówków” w portalu.

  4. Aby skonfigurować zasady ustawiania nagłówków, wykonaj następujące czynności:

    1. Pod Nazwa, wprowadź Niestandardowa.
    2. W obszarze Wartość wybierz pozycję + Dodaj wartość. Wprowadź "Moja wartość niestandardowa".
    3. Wybierz pozycję Zapisz.
  5. Po konfiguracji w sekcji Przetwarzanie wychodzące pojawi się element zasady set-header.

    Zrzut ekranu przedstawiający konfigurowanie zasad nagłówków wychodzących w portalu.

Ochrona interfejsu API poprzez dodanie zasad limitu szybkości (ograniczanie przepustowości)

W tej sekcji pokazano, jak dodać ochronę do interfejsu API zaplecza, zarządzając limitami szybkości, tak aby interfejs API nie był nadmiernie wykorzystywany przez deweloperów. W tym przykładzie pokazano, jak skonfigurować politykę rate-limit-by-key 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

Ta zasada nie jest obsługiwana w poziomie Zużycie.

  1. Wybierz Swagger Petstore>Projektowanie>Wszystkie operacje.

  2. W sekcji Przetwarzanie przychodzące wybierz ikonę edytora kodu (</>).

    Zrzut ekranu przedstawiający przechodzenie do edytora kodu zasad dla ruchu przychodzącego w portalu.

  3. Umieść kursor wewnątrz <inbound> elementu w pustym wierszu. Następnie wybierz pozycję Pokaż fragmenty kodu w prawym górnym rogu ekranu.

    Zrzut ekranu przedstawiający wybieranie opcji Pokaż fragmenty w edytorze zasad dla ruchu przychodzącego w portalu.

  4. 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.

    Zrzut ekranu przedstawiający wstawienie zasad ograniczenia liczby wywołań na klucz w portalu.

  5. Zmodyfikuj swój kod <rate-limit-by-key /> w elemencie <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, które ustawiłeś w tym artykule.

Przetestuj niestandardowy nagłówek odpowiedzi

  1. Wybierz Swagger Petstore>Test.

  2. Wybierz operację GET Znajdowanie zwierząt domowych według stanu i opcjonalnie wybierz inną wartość parametru status zapytania. Wybierz Wyślij.

    Jak widać, dodawany jest niestandardowy nagłówek odpowiedzi:

    Zrzut ekranu przedstawiający niestandardowy nagłówek odpowiedzi w portalu.

Testowanie limitu szybkości (ograniczania przepustowości)

  1. Wybierz Swagger Petstore>Test.

  2. Wybierz operację GET Znajdowanie zwierząt domowych według stanu . Wybierz pozycję Wyślij kilka razy z rzędu.

    Po wysłaniu zbyt wielu żądań w skonfigurowanym okresie otrzymasz odpowiedź 429 Zbyt wiele żądań .

    Zrzut ekranu przedstawiający zbyt wiele żądań w odpowiedzi w portalu.

  3. Poczekaj 15 sekund lub więcej, a następnie wybierz pozycję Wyślij ponownie. Tym razem powinieneś otrzymać odpowiedź 200 OK.

Uzyskaj pomoc Copilota

Możesz uzyskać pomoc dotyczącą sztucznej inteligencji od Copilot, aby utworzyć i edytować definicje zasad usługi API Management. Za pomocą narzędzia Copilot można tworzyć i aktualizować zasady spełniające określone wymagania bez konieczności znajomości składni XML. Możesz również uzyskać wyjaśnienia istniejących zasad. Rozwiązanie Copilot może pomóc w tłumaczeniu zasad, które mogły zostać skonfigurowane w innych rozwiązaniach do zarządzania interfejsami API.

Przykładowy monit:

Generate a policy that adds an Authorization header to the request with a Bearer token.

Copilot jest obsługiwany przez sztuczną inteligencję, więc możliwe są niespodzianki i błędy. Aby uzyskać więcej informacji, zobacz także Copilot często zadawane pytania dotyczące ogólnego użytkowania.

Podsumowanie

W tym samouczku zawarto informacje na temat wykonywania następujących czynności:

  • Zmiana 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: