Sdílet prostřednictvím


Kurz: Transformace a ochrana rozhraní API

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

V tomto kurzu se dozvíte o konfiguraci zásad pro ochranu nebo transformaci rozhraní API. Zásady jsou kolekce příkazů, které se spouštějí postupně na požadavku nebo odpovědi rozhraní API, které upravují chování rozhraní API.

Můžete například chtít nastavit vlastní hlavičku odpovědi. Můžete také chránit back-endové rozhraní API tím, že nakonfigurujete zásady omezení rychlosti, aby rozhraní API nepřehledlo vývojářům. Tyto příklady představují jednoduchý úvod do zásad služby API Management. 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:

  • Transformace rozhraní API pro nastavení vlastní hlavičky odpovědi
  • Ochrana rozhraní API přidáním zásad omezení rychlosti (omezování)
  • Testovat transformace

Snímek obrazovky se zásadami služby API Management 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

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 Swagger Petstore .
  3. Vyberte kartu Test v horní části obrazovky.
  4. Vyberte get Finds pets by status operation, and optionally select a different value of the status Query parameter. Vyberte Odeslat.

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

Snímek obrazovky s původní odpovědí rozhraní API na portálu

Transformace rozhraní API pro přidání vlastní hlavičky odpovědi

Služba API Management obsahuje několik zásad transformace, které můžete použít k úpravě datových částí požadavků nebo odpovědí, hlaviček nebo stavových kódů. V tomto příkladu nastavíte vlastní hlavičku odpovědi v odpovědi rozhraní API.

Nastavení zásady transformací

V této části se dozvíte, jak pomocí zásad nakonfigurovat vlastní hlavičku set-header odpovědi. Tady použijete editor zásad založený na formuláři, který zjednodušuje konfiguraci zásad.

  1. Vyberte Swagger Petstore>Design>All operations.

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

    Snímek obrazovky s přechodem na odchozí zásady na portálu

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

    Snímek obrazovky s konfigurací zásad nastavení hlaviček na portálu

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

    1. V části Název zadejte Vlastní.
    2. V části Hodnota vyberte + Přidat hodnotu. Zadejte "Moje vlastní hodnota".
    3. Zvolte Uložit.
  5. Po konfiguraci se v části Odchozí zpracování zobrazí element zásad hlavičky set.

    Snímek obrazovky se zásadami nastavení odchozích přenosů na portálu

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. Tento příklad ukazuje, jak nakonfigurovat zásadu rate-limit-by-key pomocí editoru kódu. V tomto příkladu je limit nastavený na tři volání za 15 sekund. Po 15 sekundách může vývojář zkusit volat rozhraní API znovu.

Poznámka:

Tato zásada není ve vrstvě Consumption podporovaná.

  1. Vyberte Swagger Petstore>Design>All operations.

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

    Snímek obrazovky s přechodem na editor kódu příchozích zásad na portálu

  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.

    Snímek obrazovky s výběrem možnosti Zobrazit fragmenty kódu v editoru příchozích zásad na portálu

  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.

    Snímek obrazovky s vložením limitu četnosti volání na zásadu klíče na portálu

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

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

Otestování hlavičky vlastní odpovědi

  1. Vyberte test Swagger Petstore>.

  2. Vyberte get Finds pets by status operation, and optionally select a different value of the status Query parameter. Vyberte Odeslat.

    Jak vidíte, přidá se vlastní hlavička odpovědi:

    Snímek obrazovky zobrazující záhlaví vlastní odpovědi na portálu

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

  1. Vyberte test Swagger Petstore>.

  2. Vyberte operaci GET Finds Pets by Status (Najít domácí zvířata podle stavu). V řádku vyberte Odeslat několikrát.

    Po odeslání příliš velkého počtu požadavků v nakonfigurované době získáte odpověď 429 Příliš mnoho požadavků .

    Snímek obrazovky znázorňující příliš mnoho požadavků v odpovědi na portálu

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

Shrnutí

V tomto kurzu jste se naučili, jak:

  • Transformace rozhraní API pro nastavení vlastní hlavičky odpovědi
  • Ochrana rozhraní API přidáním zásad omezení rychlosti (omezování)
  • Testovat transformace

Další kroky

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