Share via


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

Schermopname van API Management-beleid in de portal.

Vereisten

Ga naar uw API Management-exemplaar

  1. Zoek en selecteer API Management-services in Azure Portal.

    API Management-services selecteren

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

    Uw API Management-exemplaar selecteren

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:

  1. Selecteer API’s in uw service-exemplaar van API Management.
  2. Selecteer Demo Conference-API in uw lijst met API's.
  3. Selecteer bovenaan het scherm het tabblad Testen.
  4. Selecteer de bewerking GetSpeakers en selecteer vervolgens Verzenden.

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

Schermopname van het oorspronkelijke API-antwoord in de portal.

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.

  1. Selecteer Demo Conference-API>Ontwerpen>Alle bewerkingen.

  2. Selecteer + Beleid toevoegen in de sectie Uitgaande verwerking.

    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 beleid setheaders in de portal.

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

    1. Voer onder Naam X-Powered-By in.
    2. Laat waarde leeg. Als er een waarde wordt weergegeven in de vervolgkeuzelijst, verwijdert u deze.
    3. Selecteer verwijderen onder Actie.
    4. Selecteer Opslaan.
  5. Herhaal de voorgaande twee stappen om een set-headerbeleid toe te voegen waarmee de header X-AspNet-version wordt verwijderd:

  6. Na de configuratie worden twee beleidselementen voor set-headers weergegeven in de sectie Uitgaande verwerking .

    Schermopname van uitgaande beleidsregels voor setheaders in de portal.

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:

  1. Selecteer Demo Conference-API>Testen.

  2. Selecteer de bewerking GetSpeakers en selecteer vervolgens Verzenden.

    Zoals u ziet, bevat het antwoord de oorspronkelijke back-end-URL's:

    Schermopname van de oorspronkelijke URL's in antwoord in de portal.

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.

  1. Selecteer Demo Conference-API>Ontwerpen>Alle bewerkingen.

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

    Schermopname van navigeren naar de editor voor uitgaande beleidscode in de portal.

  3. Plaats de cursor in het <outbound> element op een lege regel. Selecteer vervolgens Fragmenten weergeven in de rechterbovenhoek van het scherm.

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

  4. Selecteer in het rechtervenster onder Transformatiebeleid de optie URL’s in inhoud verbergen.

    Het <redirect-content-urls /> element wordt toegevoegd aan de cursor.

    Schermopname van het invoegen van masker-URL's in inhoudsbeleid in de portal.

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

  1. Selecteer Demo Conference-API>Ontwerpen>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. Selecteer vervolgens 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 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

  1. Selecteer Demo Conference-API>Testen.

  2. Selecteer de bewerking GetSpeakers en selecteer Verzenden.

    Zoals u kunt zien, zijn de X-AspNet-versie en X-Powered-By-headers verwijderd:

    Schermopname van gestreepte antwoordheaders in de portal.

De vervangen URL testen

  1. Selecteer Demo Conference-API>Testen.

  2. Selecteer de bewerking GetSpeakers en selecteer Verzenden.

    Zoals u ziet, worden de URL's vervangen.

    Schermopname van vervangen URL's in de portal.

De frequentielimiet testen

  1. Selecteer Demo Conference-API>Testen.

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

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

  3. 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: