Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: Alla API Management-nivåer
I den här handledningen lär du dig hur du konfigurerar principer för att skydda eller transformera ditt API. Principer är en samling instruktioner som körs sekventiellt på begäran eller svaret från ett API som ändrar API:ets beteende.
Tips
API-team kan använda den här funktionen på arbetsytor. Arbetsytor ger isolerad administrativ åtkomst till API:er och egna API-körningsmiljöer.
Till exempel kanske du vill ange en anpassad svarsrubrik. Du kan också skydda ditt serverdels-API genom att konfigurera en hastighetsbegränsningsprincip så att API:et inte överanvänds av utvecklare. De här exemplen är en enkel introduktion till API Management-principer. Fler principalternativ finns i API Management-principer.
Anteckning
Som standardinställning konfigurerar API Management en global forward-request
policy. Principen forward-request
krävs för att gatewayen ska kunna slutföra en begäran till en serverdelstjänst.
I den här handledningen lär du dig:
- Transformera ett API för att ange ett anpassat svarshuvud
- Skydda ett API genom att lägga till en ratbegränsningsprincip (strypning)
- 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. I den här självstudien rekommenderar vi att du använder någon av de klassiska nivåerna eller v2-nivåerna, till exempel nivån Developer eller Nivån Basic v2. Förbrukningsnivån stöder inte alla principer som används i den här handledningen.
- Slutför även följande självstudie: Importera och publicera ditt första API.
Gå till API Management-instansen
I Azure -portalensöker du efter och väljer API Management-tjänster:
På sidan API Management Services väljer du din API Management-instans:
Testa det ursprungliga svaret
Visa det ursprungliga svaret:
- I din API Management-tjänstinstans väljer du API:er.
- Välj Swagger Petstore i din API-lista.
- Välj fliken Test överst på skärmen.
- Välj åtgärden GET Finds pets by status (GET Söker efter husdjur efter status) och välj ett annat värde för statusen Frågeparameter. Välj Skicka.
Det ursprungliga API-svaret bör se ut ungefär så här:
Transformera ett API för att lägga till ett anpassat svarshuvud
API Management innehåller flera transformeringsprinciper som du kan använda för att ändra nyttolaster för begäran eller svar, rubriker eller statuskoder. I det här exemplet anger du ett anpassat svarshuvud i API-svaret.
Ställ in transformationspolicy
Det här avsnittet visar hur du konfigurerar ett anpassat svarshuvud med hjälp av set-header
principen. Här använder du en formulärbaserad principredigerare som förenklar principkonfigurationen.
Välj Swagger Petstore>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.
För att konfigurera policyn för att ange rubriker, gör följande:
- Under Namn anger du Anpassad.
- Under Värde väljer du + Lägg till värde. Ange "Mitt anpassade värde".
- Välj Spara.
Efter konfigurationen visas ett principelement för set-header i avsnittet Utgående bearbetning .
Skydda ett API genom att lägga till en princip för hastighetsbegränsning (strypning)
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. Det här exemplet visar hur du konfigurerar rate-limit-by-key
principen med hjälp av kodredigeraren. I det här exemplet är gränsen inställd på tre anrop per 15 sekunder. Efter 15 sekunder kan en utvecklare försöka att anropa API:et igen.
Anteckning
Den här principen stöds inte på förbrukningsnivån.
Välj Swagger Petstore>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 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>
I resten av detta avsnitt testas principtransformationer som du anger i denna artikel.
Testa den anpassade svarsheadern
Välj Swagger Petstore>Test.
Välj åtgärden GET Finds pets by status (GET Söker efter husdjur efter status) och välj ett annat värde för statusen Frågeparameter. Välj Skicka.
Som du ser läggs det anpassade svars-huvudet till.
Testa hastighetsgränsen (strypning)
Välj Swagger Petstore>Test.
Välj åtgärden GET Finds Pets by Status. Välj Skicka flera gånger i rad.
När du har skickat för många begäranden under den konfigurerade perioden 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 du få svaret 200 OK.
Få Hjälp med Copilot
Du kan få AI-hjälp från Copilot för att skapa och redigera api Management-principdefinitioner. Du kan använda Copilot för att skapa och uppdatera principer som matchar dina specifika krav utan att behöva känna till XML-syntaxen. Du kan också få förklaringar av befintliga principer. Och Copilot kan hjälpa dig att översätta principer som du kan ha konfigurerat i andra API-hanteringslösningar.
- Microsoft Copilot i Azure tillhandahåller principredigeringshjälp med frågor om naturligt språk i Azure-portalen. Du kan skapa principer i API Management-principredigeraren och be Copilot att förklara principavsnitt.
- GitHub Copilot för Azure i Visual Studio Code ger stöd för principredigering i Visual Studio Code, och du kan använda Azure API Management-tillägget för Visual Studio Code för att påskynda principkonfigurationen. Du kan uppmana Copilot Chat eller Copilot Edits med naturligt språk att skapa och förfina principdefinitioner på plats.
Exempelfråga:
Generate a policy that adds an Authorization header to the request with a Bearer token.
Copilot drivs av AI, så överraskningar och misstag är möjliga. Mer information finns i vanliga frågor och svar om användning av Copilot.
Sammanfattning
I den här självstudiekursen lärde du dig att:
- Transformera ett API för att ange ett anpassat svarshuvud
- Skydda ett API genom att lägga till en ratbegränsningsprincip (strypning)
- Testa omvandlingarna
Nästa steg
Gå vidare till nästa kurs: