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. Nebo nakonfigurujte zásadu omezení rychlosti požadavků pro ochranu back-endového rozhraní API, aby vývojáři API nepřekročili limit. 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 nebo omezováním
  • 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 API Management vyberte rozhraní API>rozhraní API.
  2. V seznamu rozhraní API vyberte Swagger Petstore.
  3. V horní části obrazovky vyberte Test.
  4. Vyberte operaci GET Finds Pets by status a volitelně vyberte jinou hodnotu parametrustatus Query.
  5. 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 webu Azure Portal

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. K konfiguraci zásad nastavení hlaviček:

    1. V části Název zadejte Vlastní.
    2. V části Hodnota vyberte + Přidat hodnotu. Zadejte Vlastní hodnotu.
    3. Zvolte Uložit.

    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.

Ochrana rozhraní API přidáním zásad omezení rychlosti

V této části se dozvíte, jak přidat ochranu k vašemu back-end API tím, že nakonfigurujete omezení rychlosti, aby vývojáři API nepřetěžovali. 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 GET Finds Pets by status a volitelně vyberte jinou hodnotu parametrustatus Query. 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

Otestování limitu 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
  • Testovat transformace

Další krok

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