Zelfstudie: Uw API transformeren en beveiligen
VAN TOEPASSING OP: Alle API Management-lagen
In deze zelfstudie leert u hoe u algemene beleidsregels configureert om uw API te transformeren. Mogelijk wilt u uw API transformeren, zodat er geen persoonlijke back-endgegevens worden weergegeven. Door een API te transformeren, kunt u de technologiestackgegevens verbergen die in de back-end worden uitgevoerd 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 uw back-end-API beveiligt door een frequentielimietbeleid te configureren, zodat de API niet wordt gebruikt door ontwikkelaars. 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 antwoordheaders te verwijderen
- Oorspronkelijke URL's in de hoofdtekst van het API-antwoord vervangen door URL's van API Management-gateway
- 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.
- 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.
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 uw lijst met API's.
- Selecteer bovenaan het scherm het tabblad Testen.
- Selecteer de bewerking GetSpeakers en selecteer vervolgens Verzenden.
Het oorspronkelijke API-antwoord moet er ongeveer als volgt uitzien:
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-instructies van het beleid rechtstreeks hoeft te bewerken.
Selecteer Demo Conference-API>Ontwerpen>Alle 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 X-Powered-By in.
- Laat waarde leeg. Als er een waarde wordt weergegeven in de vervolgkeuzelijst, verwijdert u deze.
- Selecteer verwijderen onder Actie.
- Selecteer Opslaan.
Herhaal de voorgaande twee stappen om een set-headerbeleid toe te voegen waarmee de header X-AspNet-version wordt verwijderd:
Na de configuratie worden twee beleidselementen voor set-headers weergegeven in de sectie Uitgaande verwerking .
Oorspronkelijke URL's in de hoofdtekst van het API-antwoord vervangen door URL's van API Management-gateway
In deze sectie wordt beschreven hoe u de oorspronkelijke URL's vervangt die worden weergegeven in de hoofdtekst van het HTTP-antwoord van de API door URL's van de API Management-gateway. 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-fragment van het beleid 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 wordt gebruikt door ontwikkelaars. In dit voorbeeld wordt 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 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-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 kunt zien, zijn de X-AspNet-versie en X-Powered-By-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 Verzenden vier keer achter elkaar.
Nadat u de aanvraag vier keer hebt verzonden, 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 antwoordheaders te verwijderen
- Oorspronkelijke URL's in de hoofdtekst van het API-antwoord vervangen door URL's van API Management-gateway
- Een API beveiligen door beleid voor frequentielimieten toe te voegen
- De transformaties testen
Volgende stappen
Ga door naar de volgende zelfstudie: