Zelfstudie: Uw API transformeren en beveiligen
VAN TOEPASSING OP: 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.
U kunt bijvoorbeeld een aangepaste antwoordheader instellen. Of beveilig uw back-end-API door een beleid voor frequentielimieten te configureren, zodat de API niet te veel wordt gebruikt door ontwikkelaars. 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 beleid voor frequentielimieten (beperking) toe te voegen
- De transformaties testen
Vereisten
- Leer de terminologie van Azure API Management.
- Inzicht in het beleidsconcept in Azure API Management.
- Lees de volgende snelstartgids: Een Azure API Management-exemplaar maken. Voor deze zelfstudie wordt u aangeraden een van de klassieke of v2-lagen te gebruiken, bijvoorbeeld de Developer-laag of de Basic v2-laag. De verbruikslaag biedt geen ondersteuning voor alle beleidsregels die in deze zelfstudie worden gebruikt.
- Voltooi tevens de volgende zelfstudie: Uw eerste API importeren en publiceren.
Ga naar uw API Management-exemplaar
Zoek en selecteer API Management-services in Azure Portal.
Selecteer uw API Management-exemplaar op de pagina API Management-services.
Het oorspronkelijke antwoord testen
Het oorspronkelijke antwoord zien:
- Selecteer API’s in uw service-exemplaar van API Management.
- Selecteer Swagger Petstore in uw API-lijst.
- Selecteer bovenaan het scherm het tabblad Testen.
- Selecteer huisdieren zoeken op basis van de statusbewerking en selecteer eventueel een andere waarde van de parameter StatusQuery. Selecteer Verzenden.
Het oorspronkelijke API-antwoord moet er ongeveer als volgt uitzien:
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.
Selecteer Swagger Petstore>Design>All-bewerkingen.
Selecteer + Beleid toevoegen in de sectie Uitgaande verwerking.
Selecteer kopteksten instellen in het venster Uitgaand beleid toevoegen.
Ga als volgt te werk om het beleid voor headers instellen te configureren:
- Voer onder Naam aangepast in.
- Selecteer onder Waarde de optie + Waarde toevoegen. Voer 'Mijn aangepaste waarde' in.
- Selecteer Opslaan.
Na de configuratie wordt een set-headerbeleidselement weergegeven in de sectie Uitgaande verwerking .
Een API beveiligen door beleid voor frequentielimieten toe te voegen
In deze sectie wordt beschreven hoe u beveiliging toevoegt aan uw back-end-API door frequentielimieten te configureren, zodat de API niet wordt gebruikt door ontwikkelaars. 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.
Selecteer Swagger Petstore>Design>All-bewerkingen.
Selecteer in de sectie Binnenkomende verwerking het pictogram van de code-editor (</>).
Plaats de cursor in het
<inbound>
element op een lege regel. Selecteer vervolgens Fragmenten weergeven in de rechterbovenhoek van het scherm.Selecteer in het rechtervenster onder Toegangsbeperkingsbeleid de optie Oproepsnelheid per sleutel beperken.
Het
<rate-limit-by-key />
element wordt toegevoegd aan de cursor.Wijzig de
<rate-limit-by-key />
code in het<inbound>
element in 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
Selecteer Swagger Petstore>Test.
Selecteer huisdieren zoeken op basis van de statusbewerking en selecteer eventueel een andere waarde van de parameter StatusQuery. Selecteer Verzenden.
Zoals u kunt zien, wordt de aangepaste antwoordheader toegevoegd:
De frequentielimiet testen
Selecteer Swagger Petstore>Test.
Selecteer de bewerking GET Finds Pets by Status . 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 .
Wacht 15 seconden of meer en selecteer vervolgens Opnieuw verzenden . Deze keer ontvangt u, als het goed is, het antwoord 200 OK.
Samenvatting
In deze zelfstudie heeft u het volgende geleerd:
- Een API transformeren om een aangepaste antwoordheader in te stellen
- Een API beveiligen door beleid voor frequentielimieten (beperking) toe te voegen
- De transformaties testen
Volgende stappen
Ga door naar de volgende zelfstudie: