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 typowych zasad w celu przekształcenia interfejsu API. Możesz chcieć przekształcić interfejs API, aby nie ujawniał prywatnych informacji zaplecza. Przekształcanie interfejsu API może pomóc w ukryciu informacji o stosie technologii uruchomionych w zapleczu lub ukryciu oryginalnych adresów URL wyświetlanych w treści odpowiedzi HTTP interfejsu API.

W tym samouczku wyjaśniono również, jak chronić interfejs API zaplecza, konfigurując zasady limitu szybkości, dzięki czemu interfejs API nie jest nadmiernie nadmierny przez deweloperów. 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 usuwania nagłówków odpowiedzi
  • Zastąp oryginalne adresy URL w treści odpowiedzi interfejsu API adresami URL bramy usługi API Management
  • 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

Przechodzenie do wystąpienia usługi API Management

  1. W witrynie Azure Portal wyszukaj i wybierz pozycję Usługi API Management.

    Wybieranie usług API Management

  2. Na stronie Usługi API Management wybierz wystąpienie usługi API Management.

    Wybieranie wystąpienia usługi API Management

Przekształcanie interfejsu API w celu usuwania nagłówków odpowiedzi

W tej sekcji pokazano, jak ukryć nagłówki HTTP, których nie chcesz wyświetlać użytkownikom. Na przykład usuń następujące nagłówki w odpowiedzi HTTP:

  • X-Powered-By
  • X-AspNet-Version

Testowanie oryginalnej odpowiedzi

Aby zobaczyć oryginalną odpowiedź:

  1. W wystąpieniu usługi API Management wybierz pozycję Interfejsy API.
  2. Wybierz pozycję Pokazowy interfejs API konferencji z listy interfejsów API.
  3. Wybierz kartę Test w górnej części ekranu.
  4. Wybierz operację GetSpeakers , a następnie wybierz pozycję 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.

Jak widać, odpowiedź zawiera nagłówki X-AspNet-Version i X-Powered-By .

Ustawianie zasad przekształcania

W tym przykładzie pokazano, jak używać edytora zasad opartych na formularzach, który pomaga skonfigurować wiele zasad bez konieczności bezpośredniego edytowania instrukcji XML zasad.

  1. Wybierz pozycję Demo Conference API Design>All operations (Projekt interfejsu API>konferencji demonstracyjnej Wszystkie operacje).

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

    Zrzut ekranu przedstawiający przechodzenie do zasad ruchu wychodzącego w portalu.

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

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

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

    1. W obszarze Nazwa wprowadź wartość X-Powered-By.
    2. Pozostaw wartość pustą. Jeśli wartość pojawi się na liście rozwijanej, usuń ją.
    3. W obszarze Akcja wybierz pozycję Usuń.
    4. Wybierz pozycję Zapisz.
  5. Powtórz dwa poprzednie kroki, aby dodać zasady Ustaw nagłówki , które usuwają nagłówek X-AspNet-Version :

  6. Po konfiguracji w sekcji Przetwarzanie danych wychodzących są wyświetlane dwa elementy zasad set-header.

    Zrzut ekranu przedstawiający ustawienie zasad ruchu wychodzącego nagłówków w portalu.

Zastąp oryginalne adresy URL w treści odpowiedzi interfejsu API adresami URL bramy usługi API Management

W tej sekcji pokazano, jak zastąpić oryginalne adresy URL wyświetlane w treści odpowiedzi HTTP interfejsu API przy użyciu adresów URL bramy usługi API Management. Możesz ukryć oryginalne adresy URL zaplecza przed użytkownikami.

Testowanie oryginalnej odpowiedzi

Aby zobaczyć oryginalną odpowiedź:

  1. Wybierz pozycję Pokazowy test interfejsu API>konferencji.

  2. Wybierz operację GetSpeakers , a następnie wybierz pozycję Wyślij.

    Jak widać, odpowiedź zawiera oryginalne adresy URL zaplecza:

    Zrzut ekranu przedstawiający oryginalne adresy URL w odpowiedzi w portalu.

Ustawianie zasad przekształcania

W tym przykładzie użyjesz edytora kodu zasad, aby dodać fragment kodu XML zasad bezpośrednio do definicji zasad.

  1. Wybierz pozycję Demo Conference API Design>All operations (Projekt interfejsu API>konferencji demonstracyjnej Wszystkie operacje).

  2. W sekcji Przetwarzanie danych wychodzących wybierz ikonę edytora kodu (</>).

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

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

    Zrzut ekranu przedstawiający wybieranie pozycji Pokaż fragmenty kodu w edytorze zasad ruchu wychodzącego w portalu.

  4. W prawym oknie w obszarze Zasady przekształcania wybierz pozycję Maskuj adresy URL w zawartości.

    Element <redirect-content-urls /> jest dodawany na kursorze.

    Zrzut ekranu przedstawiający wstawianie adresów URL maski w zasadach zawartości w portalu.

  5. Wybierz pozycję Zapisz.

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 limit jest ustawiony na trzy wywołania na 15 sekund dla każdego identyfikatora subskrypcji. Po 15 sekundach deweloper może ponowić próbę wywołania interfejsu API.

  1. Wybierz pozycję Demo Conference API Design>All operations (Projekt interfejsu API>konferencji demonstracyjnej 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 pozycji Pokaż fragmenty kodu 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 wstawianie zasad limitu liczby wywołań na klucz w portalu.

  5. <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-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
     <base />
   </inbound>
   <backend>
     <base />
   </backend>
   <outbound>
     <set-header name="X-Powered-By" exists-action="delete" />
     <set-header name="X-AspNet-Version" exists-action="delete" />
     <redirect-content-urls />
     <base />
   </outbound>
   <on-error>
     <base />
   </on-error>
</policies>

Pozostała część tej sekcji testuje przekształcenia zasad ustawione w tym artykule.

Testowanie usuniętych nagłówków odpowiedzi

  1. Wybierz pozycję Pokazowy test interfejsu API>konferencji.

  2. Wybierz operację GetSpeakers i wybierz pozycję Wyślij.

    Jak widać, nagłówki X-AspNet-Version i X-Powered-By zostały usunięte:

    Zrzut ekranu przedstawiający usunięte nagłówki odpowiedzi w portalu.

Testowanie zamienionego adresu URL

  1. Wybierz pozycję Pokazowy test interfejsu API>konferencji.

  2. Wybierz operację GetSpeakers i wybierz pozycję Wyślij.

    Jak widać, adresy URL są zastępowane.

    Zrzut ekranu przedstawiający zastąpione adresy URL w portalu.

Testowanie limitu szybkości (ograniczania przepustowości)

  1. Wybierz pozycję Pokazowy test interfejsu API>konferencji.

  2. Wybierz operację GetSpeakers. Wybierz pozycję Wyślij cztery razy z rzędu.

    Po wysłaniu żądania cztery razy 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. 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 usuwania nagłówków odpowiedzi
  • Zastąp oryginalne adresy URL w treści odpowiedzi interfejsu API adresami URL bramy usługi API Management
  • Ochrona interfejsu API poprzez dodanie zasad limitu szybkości (ograniczanie przepustowości)
  • Testowanie przekształceń

Następne kroki

Przejdź do następnego samouczka: