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 chránit back-endové rozhraní API 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
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.
- 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.
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ě:
- V instanci služby API Management vyberte rozhraní API.
- Ze seznamu rozhraní API vyberte ukázkové rozhraní API konference.
- Vyberte kartu Test v horní části obrazovky.
- Vyberte operaci GetSpeakers a pak vyberte Odeslat.
Původní odpověď rozhraní API by měla vypadat podobně jako následující odpověď:
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.
Vyberte Ukázkové konferenční rozhraní API>– Návrh>všech operací.
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 X-Powered-By.
- Ponechte hodnotu prázdnou. Pokud se v rozevíracím seznamu zobrazí hodnota, odstraňte ji.
- V části Akce vyberte odstranit.
- Zvolte Uložit.
Opakujte předchozí dva kroky a přidejte zásadu hlavičky Set, která odstraní hlavičku X-AspNet-Version :
Po konfiguraci se v části Zpracování odchozích přenosů 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ě:
Vyberte Ukázkový test rozhraní API>konference.
Vyberte operaci GetSpeakers a pak vyberte Odeslat.
Jak vidíte, odpověď obsahuje původní back-endové adresy URL:
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.
Vyberte Ukázkové konferenční rozhraní API>– Návrh>všech operací.
V části Zpracování odchozích přenosů vyberte ikonu editoru kódu (</>).
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 pravém okně v části Zásady transformace vyberte Maskovat adresy URL v obsahu.
Prvek
<redirect-content-urls />
se přidá na kurzor.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.
Vyberte Ukázkové konferenční rozhraní API>– Návrh>všech operací.
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-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
Vyberte Ukázkový test rozhraní API>konference.
Vyberte operaci GetSpeakers a vyberte Odeslat.
Jak vidíte, záhlaví X-AspNet-Version a X-Powered-By byla odebrána:
Test nahrazené adresy URL
Vyberte Ukázkový test rozhraní API>konference.
Vyberte operaci GetSpeakers a vyberte Odeslat.
Jak vidíte, adresy URL se nahradí.
Test omezování četnosti (omezení využití sítě)
Vyberte Ukázkový test rozhraní API>konference.
Vyberte operaci GetSpeakers. V řádku vyberte Odeslat čtyřikrát.
Po odeslání požadavku čtyřikrát 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:
- 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
Další kroky
Přejděte k dalšímu kurzu: