Delen via


Zelfstudie: Uw API transformeren en beveiligen

VAN TOEPASSING VOOR: Alle API Management-lagen

In deze zelfstudie leert u hoe u beleidsregels configureert om uw API te beveiligen of transformeren. Beleidsregels zijn een verzameling instructies die opeenvolgend worden uitgevoerd op de aanvraag of het antwoord van een API die het gedrag van de API wijzigt.

Aanbeveling

API-teams kunnen deze functie gebruiken in werkruimten. Werkruimten bieden geïsoleerde beheerderstoegang tot API's en hun eigen API-runtimeomgevingen.

U kunt bijvoorbeeld een aangepaste antwoordheader instellen. Of configureer een frequentielimietbeleid om uw back-end-API te beveiligen, zodat ontwikkelaars de API niet te veel gebruiken. Deze voorbeelden zijn een eenvoudige inleiding tot API Management-beleid. Zie API Management-beleid voor meer beleidsopties.

Notitie

API Management configureert standaard een globaal forward-request beleid. Het forward-request beleid is nodig voor de gateway om een aanvraag naar een back-endservice te voltooien.

In deze zelfstudie leert u het volgende:

  • Een API transformeren om een aangepaste antwoordheader in te stellen
  • Een API beveiligen door een beleid voor frequentielimiet of beperking toe te voegen
  • De transformaties testen

Schermopname van API Management-beleid in de portal.

Voorvereisten

Ga naar uw API management-instantie

  1. Zoek en selecteer in de Azure portalde API Management-services:

    Schermopname van API Management-services in de zoekresultaten.

  2. Selecteer op de pagina API Management-services uw API Management-exemplaar:

    Schermopname van een API Management-exemplaar op de pagina API Management-services.

Het oorspronkelijke antwoord testen

Het oorspronkelijke antwoord zien:

  1. Selecteer in uw API Management-service-exemplaar API's>API's.
  2. Selecteer Swagger Petstore in uw API-lijst.
  3. Selecteer Testen bovenaan het scherm.
  4. Selecteer de GET Finds Pets by status operatie en selecteer eventueel een andere waarde voor de parameter statusQuery.
  5. Selecteer Verzenden.

Het oorspronkelijke API-antwoord moet er ongeveer als volgt uitzien:

Schermopname van het oorspronkelijke API-antwoord in Azure Portal.

Een API transformeren om een aangepaste antwoordheader toe te voegen

API Management bevat verschillende transformatiebeleidsregels die u kunt gebruiken om nettoladingen, headers of statuscodes van aanvragen of antwoorden te wijzigen. In dit voorbeeld stelt u een aangepaste antwoordheader in het API-antwoord in.

Transformatiebeleid instellen

In deze sectie wordt beschreven hoe u een aangepaste antwoordheader configureert met behulp van het set-header beleid. Hier gebruikt u een op formulieren gebaseerde beleidseditor die de beleidsconfiguratie vereenvoudigt.

  1. Selecteer Swagger Petstore>Design>Alle bewerkingen.

  2. In de sectie Uitgaande verwerking selecteert u + Beleid toevoegen.

    Schermopname van navigeren naar uitgaand beleid in de portal.

  3. Selecteer kopteksten instellen in het venster Uitgaand beleid toevoegen.

    Schermopname van het configureren van het Set-headers-beleid in de Portal.

  4. Ga als volgende te werk om het beleid voor headers instellen te configureren:

    1. Voer onder NaamAangepast in.
    2. Selecteer onder Waarde de optie + Waarde toevoegen. Voer mijn aangepaste waarde in.
    3. Selecteer Opslaan.

    Na de configuratie wordt een set-header beleidselement weergegeven in de sectie Uitgaande verwerking.

    Schermopname van uitgaande beleidsregels voor setheaders in de portal.

Een API beveiligen door beleid voor frequentielimiet toe te voegen

In deze sectie wordt beschreven hoe u beveiliging toevoegt aan uw back-end-API door frequentielimieten te configureren, zodat ontwikkelaars de API niet te veel gebruiken. In dit voorbeeld ziet u hoe u het rate-limit-by-key beleid configureert met behulp van de code-editor. In dit voorbeeld wordt de limiet ingesteld op drie aanroepen per 15 seconden. Na 15 seconden kan een ontwikkelaar de API opnieuw proberen aan te roepen.

Notitie

Dit beleid wordt niet ondersteund in de verbruikslaag.

  1. Selecteer Swagger Petstore>Design>Alle bewerkingen.

  2. Selecteer in de sectie Binnenkomende verwerking het pictogram van de code-editor (</>).

    Schermopname van navigeren naar de code-editor voor inkomend beleid in de portal.

  3. Plaats de cursor in het <inbound> element op een lege regel. Vervolgens, selecteer Fragmenten weergeven in de rechterbovenhoek van het scherm.

    Schermopname van het selecteren van fragmenten weergeven in de editor voor inkomend beleid in de portal.

  4. Selecteer in het rechtervenster onder Toegangsbeperkingsbeleid de optie Oproepsnelheid per sleutel beperken.

    Het <rate-limit-by-key /> element wordt toegevoegd aan de cursor.

    Schermopname van het invoegen van het limietaantal oproepfrequenties per sleutelbeleid in de portal.

  5. Wijzig de <rate-limit-by-key /> code in het <inbound> element naar de volgende code. Selecteer vervolgens Opslaan.

    <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
    

De transformaties testen

Als u nu de code in de code-editor bekijkt, ziet uw beleid eruit als de volgende code:

<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>

In de rest van deze sectie worden de beleidstransformaties getest die u in dit artikel hebt ingesteld.

De aangepaste antwoordheader testen

  1. Selecteer Swagger Petstore>Test.

  2. Selecteer de GET Finds Pets door status-bewerking en selecteer eventueel een andere waarde van de statusQuery-parameter. Selecteer Verzenden.

    Zoals u kunt zien, wordt de aangepaste antwoordheader toegevoegd:

    Schermopname van de aangepaste antwoordheader in de portal.

De frequentielimiet testen

  1. Selecteer Swagger Petstore>Test.

  2. Selecteer de GET Finds Pets by status operatie. Selecteer Meerdere keren in een rij Verzenden .

    Nadat u te veel aanvragen hebt verzonden in de geconfigureerde periode, krijgt u het antwoord 429 Te veel aanvragen .

    Schermopname van Te veel aanvragen in het antwoord in de portal.

  3. Wacht 15 seconden of meer en selecteer vervolgens Opnieuw verzenden . Deze keer zou u een 200 OK antwoord moeten krijgen.

Hulp krijgen bij Copilot

U kunt AI-hulp krijgen van Copilot om uw API Management-beleidsdefinities te maken en te bewerken. U kunt Copilot gebruiken om beleidsregels te maken en bij te werken die voldoen aan uw specifieke vereisten zonder dat u de XML-syntaxis hoeft te kennen. U kunt ook uitleg krijgen over bestaande beleidsregels. Copilot kan u helpen bij het vertalen van beleidsregels die u mogelijk hebt geconfigureerd in andere API Management-oplossingen.

  • Azure Copilot biedt hulp bij het ontwerpen van beleid met prompts voor natuurlijke taal in Azure Portal. U kunt beleidsregels ontwerpen in de API Management-beleidseditor en Copilot vragen om beleidssecties uit te leggen.
  • GitHub Copilot voor Azure in Visual Studio Code biedt hulp bij het ontwerpen van beleid in Visual Studio Code en u kunt de Azure API Management-extensie voor Visual Studio Code gebruiken om de beleidsconfiguratie te versnellen. U kunt Copilot Chat of Copilotbewerkingen met natuurlijke taal gebruiken om beleidsdefinities te maken en te verfijnen.

Voorbeeldprompt:

Generate a policy that adds an Authorization header to the request with a Bearer token.

Copilot wordt mogelijk gemaakt door AI, dus verrassingen en fouten zijn mogelijk. Zie voor meer informatie Veelgestelde vragen over algemeen gebruik van Copilot.

Samenvatting

In deze zelfstudie heeft u het volgende geleerd:

  • Een API transformeren om een aangepaste antwoordheader in te stellen
  • Een API beveiligen door een beleid voor frequentielimiet toe te voegen
  • De transformaties testen

Volgende stap

Ga verder naar de volgende tutorial: