Kurz: Transformace a ochrana rozhraní API

PLATÍ PRO: Všechny úrovně služby API Management

V tomto kurzu se dozvíte o konfiguraci běžných zásad pro transformaci rozhraní API. Možná budete chtít transformovat rozhraní API, aby nezorazovala privátní back-endové informace. Transformace rozhraní API vám může pomoct skrýt informace o zásobníku technologií spuštěné v back-endu nebo skrýt původní adresy URL, které se zobrazí v textu odpovědi HTTP rozhraní API.

Tento kurz také vysvětluje, jak do back-endového rozhraní API přidat ochranu tím, že nakonfigurujete zásady omezení rychlosti, aby rozhraní API nebylo příliš nadměrné. Další možnosti zásad najdete v tématu Zásady služby API Management.

Poznámka:

Ve výchozím nastavení služba API Management konfiguruje globální forward-request zásady. K forward-request dokončení požadavku na back-endovou službu je potřeba, aby brána dokončila požadavek.

V tomto kurzu se naučíte:

  • Odebrat hlavičky odpovědi transformováním rozhraní API
  • Nahrazení původních adres URL v textu odpovědi rozhraní API adresami URL brány služby API Management
  • Ochrana rozhraní API přidáním zásad omezení rychlosti (omezování)
  • Testovat transformace

Zásady na portálu

Požadavky

Přejít k instanci služby API Management

  1. Na webu Azure Portal vyhledejte a vyberte služby API Management.

    Výběr služeb API Management

  2. Na stránce služby API Management vyberte instanci služby API Management.

    Výběr instance služby API Management

Odebrat hlavičky odpovědi transformováním rozhraní API

Tato část ukazuje, jak skrýt hlavičky HTTP, které nechcete uživatelům zobrazovat. Odstraňte například následující hlavičky v odpovědi HTTP:

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

Test původní odpovědi

Původní odpověď zobrazíte následovně:

  1. V instanci služby API Management vyberte rozhraní API.
  2. Ze seznamu rozhraní API vyberte ukázkové rozhraní API konference.
  3. Vyberte kartu Test v horní části obrazovky.
  4. Vyberte operaci GetSpeakers a pak vyberte Odeslat.

Původní odpověď rozhraní API by měla vypadat podobně jako následující odpověď:

Původní odpověď rozhraní API

Jak vidíte, odpověď obsahuje hlavičky X-AspNet-Version a X-Powered-By .

Nastavení zásady transformací

Tento příklad ukazuje, jak používat editor zásad založený na formuláři, který vám pomůže nakonfigurovat mnoho zásad, aniž byste museli upravovat příkazy XML zásad přímo.

  1. Vyberte Ukázkové konferenční rozhraní API>– Návrh>všech operací.

  2. V části Zpracování odchozích přenosů vyberte + Přidat zásadu.

    Přechod na zásady odchozích přenosů

  3. V okně Přidat odchozí zásady vyberte Nastavit záhlaví.

    Nastavení zásad hlavičky HTTP

  4. Pokud chcete nakonfigurovat zásady nastavení hlaviček, postupujte takto:

    1. V části Název zadejte X-Powered-By. V části Akce vyberte odstranit.
    2. Vyberte + Přidat záhlaví.
    3. V části Název zadejte X-AspNet-Version. V části Akce vyberte odstranit.

    Nastavení záhlaví HTTP

  5. Zvolte Uložit. V části Zpracování odchozích přenosů se zobrazí dva elementy zásad hlavičky sady.

Nahrazení původních adres URL v textu odpovědi rozhraní API adresami URL brány služby API Management

V této části se dozvíte, jak nahradit původní adresy URL, které se zobrazí v textu odpovědi HTTP rozhraní API, adresami URL brány služby API Management. Můžete chtít skrýt původní adresy URL back-endu od uživatelů.

Test původní odpovědi

Původní odpověď zobrazíte následovně:

  1. Vyberte Ukázkový test rozhraní API>konference.

  2. Vyberte operaci GetSpeakers a pak vyberte Odeslat.

    Jak vidíte, odpověď obsahuje původní back-endové adresy URL:

    Původní adresy URL v odpovědi

Nastavení zásady transformací

V tomto příkladu použijete editor kódu zásad k přidání fragmentu kódu XML zásad přímo do definice zásady.

  1. Vyberte Ukázkové konferenční rozhraní API>– Návrh>všech operací.

  2. V části Zpracování odchozích přenosů vyberte ikonu editoru kódu (</>).

    Přejděte do editoru kódu odchozích zásad.

  3. Umístěte kurzor uvnitř <outbound> prvku na prázdný řádek. Pak vyberte Zobrazit fragmenty kódu v pravém horním rohu obrazovky.

    Výběr možnosti Zobrazit fragmenty kódu

  4. V pravém okně v části Zásady transformace vyberte Maskovat adresy URL v obsahu.

    Prvek <redirect-content-urls /> se přidá na kurzor.

    Mask URLs in content (Maskovat adresy URL v obsahu)

  5. Zvolte Uložit.

Ochránit rozhraní API přidáním zásady omezování četnosti (omezení využití sítě)

V této části se dozvíte, jak do back-endového rozhraní API přidat ochranu tím, že nakonfigurujete omezení rychlosti, aby rozhraní API nepřehledlo vývojářům. V tomto příkladu je limit nastavený na tři volání za 15 sekund pro každé ID předplatného. Po 15 sekundách může vývojář zkusit znovu volat rozhraní API.

  1. Vyberte Ukázkové konferenční rozhraní API>– Návrh>všech operací.

  2. V části Zpracování příchozích dat vyberte ikonu editoru kódu (</>).

    Přechod na příchozí zásady

  3. Umístěte kurzor uvnitř <inbound> prvku na prázdný řádek. Pak vyberte Zobrazit fragmenty kódu v pravém horním rohu obrazovky.

    Nastavení příchozí zásady

  4. V pravém okně v části Zásady omezení přístupu vyberte Omezit četnost volání na klíč.

    Prvek <rate-limit-by-key /> se přidá na kurzor.

    Výběr limitu četnosti volání na klíč

  5. Upravte <rate-limit-by-key /> kód v elementu <inbound> na následující kód. Pak vyberte Uložit.

    <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
    

Testovat transformace

Pokud se v tomto okamžiku podíváte na kód v editoru kódu, vaše zásady vypadají jako následující kód:

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

Zbývající část článku testuje transformace zásad, které jste nastavili.

Test odebraných hlaviček odpovědi

  1. Vyberte Ukázkový test rozhraní API>konference.

  2. Vyberte operaci GetSpeakers a vyberte Odeslat.

    Jak vidíte, záhlaví byla odebrána:

    Stripped response headers

Test nahrazené adresy URL

  1. Vyberte Ukázkový test rozhraní API>konference.

  2. Vyberte operaci GetSpeakers a vyberte Odeslat.

    Jak vidíte, adresy URL se nahradí.

    Nahrazené adresy URL

Test omezování četnosti (omezení využití sítě)

  1. Vyberte Ukázkový test rozhraní API>konference.

  2. Vyberte operaci GetSpeakers. V řádku vyberte Možnost Odeslat třikrát.

    Po odeslání požadavku třikrát získáte odpověď 429 Příliš mnoho požadavků .

    Příliš mnoho žádostí

  3. Počkejte 15 sekund nebo déle a pak znovu vyberte Odeslat . Tentokrát by se už měla objevit odpověď 200 OK.

Další kroky

V tomto kurzu jste se naučili, jak:

  • Odebrat hlavičky odpovědi transformováním rozhraní API
  • Nahrazení původních adres URL v textu odpovědi rozhraní API adresami URL brány služby API Management
  • Ochránit rozhraní API přidáním zásady omezování četnosti (omezení využití sítě)
  • Testovat transformace

Přejděte k dalšímu kurzu: