Zelfstudie: Uw API transformeren en beveiligen
In deze zelfstudie leert u over het configureren van algemene beleidsregels om uw API te transformeren. U kunt uw API transformeren zodat deze geen persoonlijke back-endgegevens weergeeft. Als u een API transformeert, kunt u de informatie over de technologiestack verbergen die wordt uitgevoerd in de back-end of de oorspronkelijke URL's verbergen die worden weergegeven in de hoofdtekst van het HTTP-antwoord van de API.
In deze zelfstudie wordt ook uitgelegd hoe u beveiliging toevoegt aan uw back-end-API door een frequentielimietbeleid te configureren, zodat de API niet te veel wordt gebruikt door ontwikkelaars. Zie beleid API Management voor meer beleidsopties.
Notitie
Standaard configureert API Management 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 antwoordheaders te verwijderen
- Vervang oorspronkelijke URL's in de hoofdtekst van het API-antwoord door API Management gateway-URL's
- Een API beveiligen door beleid voor frequentielimieten (beperking) toe te voegen
- De transformaties testen
Vereisten
- Informatie over de terminologie van Azure API Management.
- Inzicht in het beleidsconcept in Azure API Management.
- Voltooi de volgende quickstart: Een Azure API Management-exemplaar maken.
- Voltooi ook de volgende zelfstudie: Uw eerste API importeren en publiceren.
Ga naar uw API Management-exemplaar
Zoek in de Azure-portal naar API Management-services en selecteer dit.
Selecteer uw API Management-exemplaar op de pagina API Management-services.
Een API transformeren om antwoordheaders te verwijderen
In deze sectie wordt beschreven hoe u de HTTP-headers kunt verbergen die u niet wilt weergeven aan gebruikers. Verwijder bijvoorbeeld de volgende headers in het HTTP-antwoord:
- X-Powered-By
- X-AspNet-Version
Het oorspronkelijke antwoord testen
Het oorspronkelijke antwoord zien:
- Selecteer API’s in uw service-exemplaar van API Management.
- Selecteer Demo Conference-API in de API-lijst.
- Selecteer bovenaan het scherm het tabblad Testen.
- Selecteer de bewerking GetSpeakers en selecteer vervolgens Verzenden.
Het oorspronkelijke API-antwoord moet er ongeveer uitzien als het volgende antwoord:
Zoals u ziet, bevat het antwoord de headers X-AspNet-Version en X-Powered-By.
Transformatiebeleid instellen
In dit voorbeeld ziet u hoe u de op formulieren gebaseerde beleidseditor gebruikt, waarmee u veel beleidsregels kunt configureren zonder dat u de XML-beleidsinstructies rechtstreeks hoeft te bewerken.
Selecteer Demo Conference-API>Ontwerpen>Alle bewerkingen.
Selecteer + Beleid toevoegen in de sectie Uitgaande verwerking.
Selecteer in het venster Uitgaand beleid toevoegen de optie Kopteksten instellen.
Ga als volgt te werk om het beleid voor het instellen van headers te configureren:
- Voer onder NaamX-Powered-By in. Selecteer verwijderen onder Actie.
- Selecteer + Koptekst toevoegen.
- Voer onder NaamX-AspNet-Version in. Selecteer verwijderen onder Actie.
Selecteer Opslaan. Er worden twee setheaderbeleidselementen weergegeven in de sectie Uitgaande verwerking .
Vervang oorspronkelijke URL's in de hoofdtekst van het API-antwoord door API Management gateway-URL's
In deze sectie wordt beschreven hoe u de oorspronkelijke URL's die in de hoofdtekst van het HTTP-antwoord van de API worden weergegeven, kunt vervangen door API Management gateway-URL's. Mogelijk wilt u de oorspronkelijke back-end-URL's verbergen voor gebruikers.
Het oorspronkelijke antwoord testen
Het oorspronkelijke antwoord zien:
Selecteer Demo Conference-API>Testen.
Selecteer de bewerking GetSpeakers en selecteer vervolgens Verzenden.
Zoals u ziet, bevat het antwoord de oorspronkelijke back-end-URL's:
Transformatiebeleid instellen
In dit voorbeeld gebruikt u de editor voor beleidscode om het XML-beleidsfragment rechtstreeks toe te voegen aan de beleidsdefinitie.
Selecteer Demo Conference-API>Ontwerpen>Alle bewerkingen.
Selecteer in de sectie Uitgaande verwerking het pictogram van de code-editor (</>).
Plaats de cursor in het
<outbound>
element op een lege regel. Selecteer vervolgens Fragmenten weergeven in de rechterbovenhoek van het scherm.Selecteer in het rechtervenster onder Transformatiebeleid de optie URL’s in inhoud verbergen.
Het
<redirect-content-urls />
element wordt toegevoegd aan de cursor.Selecteer Opslaan.
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 te veel wordt gebruikt door ontwikkelaars. In dit voorbeeld is de limiet ingesteld op drie aanroepen per 15 seconden voor elke abonnements-id. Na 15 seconden kan een ontwikkelaar opnieuw proberen een API aan te roepen.
Selecteer Demo Conference-API>Ontwerpen>Alle 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 Toegangsbeperkingsbeleidde optie Aanroepfrequentie 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 naar de code in de code-editor kijkt, ziet uw beleid eruit als de volgende code:
<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>
In de rest van deze sectie worden de beleidstransformaties getest die u in dit artikel hebt ingesteld.
De verwijderde anwoordheaders testen
Selecteer Demo Conference-API>Testen.
Selecteer de bewerking GetSpeakers en selecteer Verzenden.
Zoals u ziet, zijn de headers verwijderd:
De vervangen URL testen
Selecteer Demo Conference-API>Testen.
Selecteer de bewerking GetSpeakers en selecteer Verzenden.
Zoals u ziet, worden de URL's vervangen.
De frequentielimiet testen
Selecteer Demo Conference-API>Testen.
Selecteer de bewerking GetSpeakers. Selecteer drie keer achter elkaar de optie Verzenden.
Nadat u de aanvraag drie keer hebt verzonden, krijgt u het antwoord 429 Te veel aanvragen .
Wacht 15 seconden of langer en selecteer vervolgens opnieuw Verzenden . Deze keer ontvangt u, als het goed is, het antwoord 200 OK.
Volgende stappen
In deze zelfstudie heeft u het volgende geleerd:
- Een API transformeren om antwoordheaders te verwijderen
- Vervang oorspronkelijke URL's in de hoofdtekst van het API-antwoord door API Management gateway-URL's
- Een API beveiligen door beleid voor frequentielimieten toe te voegen
- De transformaties testen
Ga door naar de volgende zelfstudie: