Självstudie: Transformera och skydda ditt API
GÄLLER FÖR: Alla API Management-nivåer
I den här självstudien lär du dig hur du konfigurerar vanliga principer för att transformera ditt API. Du kanske vill transformera ditt API så att det inte visar information om privata serverdelar. Genom att transformera ett API kan du dölja teknikstackens information som körs i serverdelen eller dölja de ursprungliga URL:er som visas i brödtexten i API:ets HTTP-svar.
I den här självstudien beskrivs också hur du skyddar ditt serverdels-API genom att konfigurera en hastighetsbegränsningsprincip så att API:et inte överanvänds av utvecklare. Fler principalternativ finns i API Management-principer.
Kommentar
Som standard konfigurerar API Management en global forward-request
princip. Principen forward-request
krävs för att gatewayen ska kunna slutföra en begäran till en serverdelstjänst.
I den här självstudien lär du dig att:
- Omvandla ett API och ta bort svarshuvuden
- Ersätt ursprungliga URL:er i api-svarets brödtext med API Management-gateway-URL:er
- Skydda ett API genom att lägga till en hastighetsbegränsningsprincip (begränsning)
- Testa omvandlingarna
Förutsättningar
- Lär dig Azure API Management-terminologin.
- Förstå begreppet principer i Azure API Management.
- Slutför följande snabbstart: Skapa en Azure API Management-instans.
- Slutför även följande självstudie: Importera och publicera ditt första API.
Gå till API Management-instansen
I Azure-portalen söker du efter och väljer API Management-tjänster.
På sidan API Management-tjänster väljer du din API Management-instans.
Omvandla ett API och ta bort svarshuvuden
Det här avsnittet visar hur du döljer DE HTTP-huvuden som du inte vill visa för användarna. Ta till exempel bort följande rubriker i HTTP-svaret:
- X-Powered-By
- X-AspNet-Version
Testa det ursprungliga svaret
Visa det ursprungliga svaret:
- I din API Management-tjänstinstans väljer du API:er.
- Välj Demo Conference API i din API-lista.
- Välj fliken Test överst på skärmen.
- Välj åtgärden GetSpeakers och välj sedan Skicka.
Det ursprungliga API-svaret bör se ut ungefär så här:
Som du ser innehåller svaret rubrikerna X-AspNet-Version och X-Powered-By .
Ange en transformationsprincip
Det här exemplet visar hur du använder den formulärbaserade principredigeraren, vilket hjälper dig att konfigurera många principer utan att behöva redigera princip-XML-uttryck direkt.
Välj Demo Conference API>Design>Alla åtgärder.
I avsnittet Utgående bearbetning väljer du + Lägg till princip.
I fönstret Lägg till utgående princip väljer du Ange rubriker.
Gör följande för att konfigurera principen Ange rubriker:
- Under Namn anger du X-Powered-By.
- Lämna Värdet tomt. Om ett värde visas i listrutan tar du bort det.
- Under Åtgärd väljer du Ta bort.
- Välj Spara.
Upprepa de föregående två stegen för att lägga till en princip för uppsättningsrubriker som tar bort huvudet X-AspNet-Version :
Efter konfigurationen visas två principelement för set-header i avsnittet Utgående bearbetning .
Ersätt ursprungliga URL:er i api-svarets brödtext med API Management-gateway-URL:er
Det här avsnittet visar hur du ersätter ursprungliga URL:er som visas i brödtexten i API:ets HTTP-svar med API Management-gateway-URL:er. Du kanske vill dölja de ursprungliga url:erna för serverdelen från användare.
Testa det ursprungliga svaret
Visa det ursprungliga svaret:
Välj Demo Conference API>Test.
Välj åtgärden GetSpeakers och välj sedan Skicka.
Som du ser innehåller svaret de ursprungliga url:erna för serverdelen:
Ange en transformationsprincip
I det här exemplet använder du principkodredigeraren för att lägga till princip-XML-kodfragmentet direkt i principdefinitionen.
Välj Demo Conference API>Design>Alla åtgärder.
I avsnittet Utgående bearbetning väljer du kodredigerarens (</>) ikon.
Placera markören inuti elementet
<outbound>
på en tom rad. Välj sedan Visa kodfragment i det övre högra hörnet på skärmen.I det högra fönstret går du till Transformeringsprinciper och väljer Maskera URL:er i innehåll.
Elementet
<redirect-content-urls />
läggs till vid markören.Välj Spara.
Skydda ett API genom att lägga till en princip för frekvensbegränsningar (begränsning)
Det här avsnittet visar hur du lägger till skydd i serverdels-API:et genom att konfigurera hastighetsgränser så att API:et inte överanvänds av utvecklare. I det här exemplet är gränsen inställd på tre anrop per 15 sekunder för varje prenumerations-ID. Efter 15 sekunder kan en utvecklare försöka anropa ett API igen.
Välj Demo Conference API>Design>Alla åtgärder.
I avsnittet Inkommande bearbetning väljer du kodredigerarens (</>) ikon.
Placera markören inuti elementet
<inbound>
på en tom rad. Välj sedan Visa kodfragment i det övre högra hörnet på skärmen.I det högra fönstret går du till Principer för åtkomstbegränsning och väljer Begränsa anropsfrekvens per nyckel.
Elementet
<rate-limit-by-key />
läggs till vid markören.Ändra koden
<rate-limit-by-key />
i elementet<inbound>
till följande kod. Välj sedan Spara.<rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
Testa omvandlingarna
Om du nu tittar på koden i kodredigeraren ser dina principer ut som följande kod:
<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>
I resten av det här avsnittet testas principtransformationer som du anger i den här övningen.
Testa borttagna svarshuvuden
Välj Demo Conference API>Test.
Välj åtgärden GetSpeakers och välj Skicka.
Som du ser har rubrikerna X-AspNet-Version och X-Powered-By tagits bort:
Testa den ersatta URL:en
Välj Demo Conference API>Test.
Välj åtgärden GetSpeakers och välj Skicka.
Som du ser ersätts URL:erna.
Testa frekvensgränsen (begränsningen)
Välj Demo Conference API>Test.
Välj åtgärden GetSpeakers. Välj Skicka fyra gånger i rad.
När du har skickat begäran fyra gånger får du svaret 429 för många begäranden .
Vänta i 15 sekunder eller mer och välj sedan Skicka igen. Den här gången bör få svaret 200 OK.
Sammanfattning
I den här självstudiekursen lärde du dig att:
- Omvandla ett API och ta bort svarshuvuden
- Ersätt ursprungliga URL:er i api-svarets brödtext med API Management-gateway-URL:er
- Skydda ett API genom att lägga till en princip för frekvensbegränsningar (begränsning)
- Testa omvandlingarna
Nästa steg
Gå vidare till nästa kurs: