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
Požadavky
- Seznamte se s terminologií služby Azure API Management.
- Seznamte se s konceptem zásad ve službě Azure API Management.
- Projděte si následující rychlý start: Vytvoření instance Azure API Managementu. Pro účely tohoto kurzu doporučujeme použít některou z klasických nebo v2 úrovní, například úroveň Developer nebo Úroveň Basic v2. Úroveň Consumption nepodporuje všechny zásady používané v tomto kurzu.
- Projděte si také následující kurz: Navíc kurzu: Import a publikování vašeho prvního rozhraní API.
Přejít k instanci služby API Management
Na webu Azure Portal vyhledejte a vyberte služby API Management.
Na stránce služby API Management vyberte instanci služby API Management.
Test původní odpovědi
Původní odpověď zobrazíte následovně:
- V instanci služby API Management vyberte rozhraní API.
- Ze seznamu rozhraní API vyberte Swagger Petstore .
- Vyberte kartu Test v horní části obrazovky.
- 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ěď:
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.
Vyberte Swagger Petstore>Design>All operations.
V části Zpracování odchozích přenosů vyberte + Přidat zásadu.
V okně Přidat odchozí zásady vyberte Nastavit záhlaví.
Pokud chcete nakonfigurovat zásady nastavení hlaviček, postupujte takto:
- V části Název zadejte Vlastní.
- V části Hodnota vyberte + Přidat hodnotu. Zadejte "Moje vlastní hodnota".
- Zvolte Uložit.
Po konfiguraci se v části Odchozí zpracování zobrazí element zásad hlavičky set.
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á.
Vyberte Swagger Petstore>Design>All operations.
V části Zpracování příchozích dat vyberte ikonu editoru kódu (</>).
Umístěte kurzor uvnitř
<inbound>
prvku na prázdný řádek. Pak vyberte Zobrazit fragmenty kódu v pravém horním rohu obrazovky.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.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
Vyberte test Swagger Petstore>.
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:
Test omezování četnosti (omezení využití sítě)
Vyberte test Swagger Petstore>.
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ů .
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: