Sdílet prostřednictvím


Kurz: Transformace a ochrana rozhraní API

PLATÍ PRO: Všechny úrovně služby správy rozhraní API

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.

Návod

Týmy rozhraní API můžou tuto funkci používat v pracovních prostorech. Pracovní prostory poskytují izolovaný přístup pro správu k rozhraním API a svým vlastním runtime prostředím API.

Můžete například chtít nastavit vlastní hlavičku odpovědi. Můžete také chránit backendové rozhraní API tím, že nakonfigurujete zásady omezení rychlosti, aby rozhraní API nebylo nadužívané vývojáři. 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. Pro k forward-request dokončení požadavku na službu backendu je potřeba politika pro bránu.

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 portálu Azure vyhledejte a vyberte služby API Management:

    Snímek obrazovky zobrazící služby API Management ve výsledcích hledání

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

    snímek obrazovky znázorňující instanci služby API Management na stránce služeb API Management

Test původní odpovědi

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

  1. V instanci služby Správa rozhraní API vyberte rozhraní API.
  2. Ze seznamu rozhraní API vyberte Swagger Petstore .
  3. Vyberte kartu Test v horní části obrazovky.
  4. Vyberte operaci „Získat zvířata podle stavu“ (GET Finds pets by status), a volitelně vyberte jinou hodnotu pro stavdotazovacího parametru. 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 nakonfigurovat vlastní hlavičku odpovědi pomocí zásad set-header. Tady použijete editor zásad založený na formuláři, který zjednodušuje konfiguraci zásad.

  1. Vyberte Swagger Petstore>Design>Všechny operace.

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

    Snímek obrazovky s navigací na odchozí politika 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ího zpracování zobrazí element zásady nastavení hlavičky.

    Snímek obrazovky zásad pro nastavení odchozích hlaviček na portálu.

Ochránit rozhraní API přidáním zásady omezení rychlosti (throttling)

Tato část ukazuje, jak přidat ochranu k vašemu backendovému rozhraní API tím, že nakonfigurujete omezení přístupu, aby rozhraní API nebylo nadměrně používáno vývojáři. 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ě spotřeby podporovaná.

  1. Vyberte Swagger Petstore>Design>Všechny operace.

  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á k pozici kurzoru.

    Snímek obrazovky znázorňující nastavení limitu četnosti volání u klíčové politiky 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.

Otestujte hlavičku vlastní odpovědi

  1. Vyberte Swagger Petstore>Test.

  2. Vyberte operaci „Získat zvířata podle stavu“ (GET Finds pets by status), a volitelně vyberte jinou hodnotu pro stavdotazovacího parametru. 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í rychlosti

  1. Vyberte Swagger Petstore>Test.

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

    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.

Získejte asistenci Copilota

Pomoc s AI můžete získat od společnosti Copilot k vytvoření a úpravě definic zásad služby API Management. Pomocí Copilotu můžete vytvářet a aktualizovat zásady, které odpovídají vašim konkrétním požadavkům, aniž byste museli znát syntaxi XML. Můžete také získat vysvětlení existujících zásad. A Copilot vám může pomoct přeložit zásady, které jste možná nakonfigurovali v jiných řešeních služby API Management.

Příklad výzvy:

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

Copilot využívá AI, takže překvapení a chyby jsou možné. Další informace najdete v tématu Nejčastější dotazy k obecnému použití copilotu.

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: