Oktatóanyag: AZ API átalakítása és védelme

A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint

Ebben az oktatóanyagban megismerheti, hogyan konfigurálhat általános szabályzatokat az API átalakításához. Érdemes lehet átalakítani az API-t, hogy ne jelenjenek meg privát háttéradatok. Az API átalakításával elrejtheti a háttérrendszerben futó technológiai veremadatokat, vagy elrejtheti az API HTTP-válaszának törzsében megjelenő eredeti URL-címeket.

Ez az oktatóanyag azt is ismerteti, hogyan adhat védelmet a háttér API-hoz egy sebességkorlát-szabályzat konfigurálásával, hogy a fejlesztők ne használjanak túl az API-t. További szabályzatbeállításokért tekintse meg az API Management-szabályzatokat.

Feljegyzés

Az API Management alapértelmezés szerint globális forward-request szabályzatot konfigurál. A forward-request szabályzatra azért van szükség, hogy az átjáró teljesítsen egy kérést egy háttérszolgáltatáshoz.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Az API átalakítása a válaszfejlécek eltávolításához
  • Az API-válasz törzsében található eredeti URL-címek cseréje API Management-átjáró URL-címekre
  • API védelme sebességkorlát-szabályzat hozzáadásával (szabályozás)
  • Az átalakítások tesztelése

Szabályzatok a portálon

Előfeltételek

Nyissa meg az API Management-példányát

  1. Az Azure Portalon keresse meg és válassza ki az API Management-szolgáltatásokat.

    API Management-szolgáltatások kiválasztása

  2. Az API Management-szolgáltatások lapon válassza ki az API Management-példányt.

    Az API Management-példány kiválasztása

Az API átalakítása a válaszfejlécek eltávolításához

Ez a szakasz bemutatja, hogyan rejtheti el azokat a HTTP-fejléceket, amelyeket nem szeretne megjeleníteni a felhasználók számára. Törölje például a következő fejléceket a HTTP-válaszban:

  • X-Powered-By
  • X-AspNet-Version

Az eredeti válasz tesztelése

Az eredeti válasz megtekintése:

  1. Az API Management szolgáltatáspéldányban válassza az API-kat.
  2. Válassza a Demo Conference API-t az API-listából.
  3. Válassza a Teszt fület a képernyő tetején.
  4. Válassza ki a GetSpeakers műveletet, majd válassza a Küldés lehetőséget.

Az eredeti API-válasznak a következő válaszhoz hasonlóan kell kinéznie:

Eredeti API-válasz

Mint látható, a válasz tartalmazza az X-AspNet-Version és az X-Powered-By fejléceket.

Az átalakítási szabályzat beállítása

Ez a példa bemutatja, hogyan használhatja az űrlapalapú szabályzatszerkesztőt, amely segít számos szabályzat konfigurálásában anélkül, hogy közvetlenül kellene szerkesztenie a szabályzat XML-utasításait.

  1. Válassza a Demo Conference API>Minden művelet tervezése>lehetőséget.

  2. A Kimenő feldolgozás szakaszban válassza a + Szabályzat hozzáadása lehetőséget.

    Ugrás a kimenő szabályzatra

  3. A Kimenő házirend hozzáadása ablakban válassza a Fejlécek beállítása lehetőséget.

    HTTP-fejlécszabályzat beállítása

  4. A beállított fejlécszabályzat konfigurálásához tegye a következőket:

    1. A Név mezőbe írja be az X-Powered-By nevet. A Művelet csoportban válassza a Törlés lehetőséget.
    2. Válassza a + Fejléc hozzáadása lehetőséget.
    3. A Név mezőbe írja be az X-AspNet-Version nevet. A Művelet csoportban válassza a Törlés lehetőséget.

    HTTP-fejléc beállítása

  5. Válassza a Mentés lehetőséget. Két készletfejléc-szabályzatelem jelenik meg a Kimenő feldolgozás szakaszban.

Az API-válasz törzsében található eredeti URL-címek cseréje API Management-átjáró URL-címekre

Ez a szakasz bemutatja, hogyan cserélheti le az API HTTP-válasz törzsében megjelenő eredeti URL-címeket az API Management átjáró URL-címeivel. Előfordulhat, hogy el szeretné rejteni az eredeti háttérBELI URL-címeket a felhasználók elől.

Az eredeti válasz tesztelése

Az eredeti válasz megtekintése:

  1. Válassza a Demo Conference API-teszt>lehetőséget.

  2. Válassza ki a GetSpeakers műveletet, majd válassza a Küldés lehetőséget.

    Mint látható, a válasz tartalmazza az eredeti háttérBELI URL-címeket:

    Eredeti URL-címek válaszként

Az átalakítási szabályzat beállítása

Ebben a példában a szabályzatkódszerkesztő használatával adja hozzá a szabályzat XML-kódrészletét közvetlenül a szabályzatdefinícióhoz.

  1. Válassza a Demo Conference API>Minden művelet tervezése>lehetőséget.

  2. A Kimenő feldolgozás szakaszban válassza a kódszerkesztő (</>) ikont.

    Lépjen a kimenő szabályzatkódszerkesztőbe

  3. Helyezze a kurzort az <outbound> elem belsejébe egy üres vonalon. Ezután válassza a Kódrészletek megjelenítése lehetőséget a képernyő jobb felső sarkában.

    Show snippets (Megjelenítési kódrészletek) kiválasztása

  4. A jobb oldali ablakban, az Átalakítási szabályzatok területen válassza a Tartalom MASZK URL-címeit.

    Az <redirect-content-urls /> elem a kurzornál lesz hozzáadva.

    Mask URLs in content (URL-címek maszkolása a tartalomban)

  5. Válassza a Mentés lehetőséget.

API-k védelme hívásszám-korlátozási szabályzat (szabályozás) hozzáadásával

Ez a szakasz bemutatja, hogyan adhat védelmet a háttér API-hoz sebességkorlátok konfigurálásával, hogy a fejlesztők ne használjanak túlhasználatot az API-val. Ebben a példában a korlát 15 másodpercenként három hívásra van beállítva minden előfizetés-azonosítóhoz. 15 másodperc elteltével a fejlesztő újra megpróbálhatja meghívni az API-t.

  1. Válassza a Demo Conference API>Minden művelet tervezése>lehetőséget.

  2. A Bejövő feldolgozás szakaszban válassza a kódszerkesztő (</>) ikont.

    Ugrás a bejövő szabályzatra

  3. Helyezze a kurzort az <inbound> elem belsejébe egy üres vonalon. Ezután válassza a Képernyő jobb felső sarkában található Kódrészletek megjelenítése lehetőséget.

    Bejövő szabályzat beállítása

  4. A jobb oldali ablakban, az Access korlátozási szabályzatai alatt válassza a Hívás sebességének korlátozása kulcsonként lehetőséget.

    Az <rate-limit-by-key /> elem a kurzornál lesz hozzáadva.

    Hívási sebesség korlátjának kiválasztása kulcsonként

  5. Módosítsa az <rate-limit-by-key /> elemben lévő <inbound> kódot a következő kódra. Ezután válassza a Mentés lehetőséget.

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

Az átalakítások tesztelése

Ezen a ponton, ha a kódszerkesztőben tekinti meg a kódot, a szabályzatok a következő kódhoz hasonlóan néznek ki:

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

A szakasz további részében teszteljük a szabályzatátalakításokat, amelyeket beállítottunk.

Az eltávolított válaszfejlécek tesztelése

  1. Válassza a Demo Conference API-teszt>lehetőséget.

  2. Válassza ki a GetSpeakers műveletet, és válassza a Küldés lehetőséget.

    Mint látható, a fejlécek le lettek vetve:

    Levágott válaszfejlécek

A lecserélt URL-cím tesztelése

  1. Válassza a Demo Conference API-teszt>lehetőséget.

  2. Válassza ki a GetSpeakers műveletet, és válassza a Küldés lehetőséget.

    Amint látható, az URL-címek lecserélődnek.

    Lecserélt URL-címek

Hívásszám-korlát (szabályozás) tesztelése

  1. Válassza a Demo Conference API-teszt>lehetőséget.

  2. Válassza a GetSpeakers műveletet. Egymás után háromszor válassza a Küldés lehetőséget .

    A kérés háromszori elküldése után a 429 Túl sok kérés választ kap.

    Túl sok kérés

  3. Várjon 15 másodpercet vagy többet, majd válassza ismét a Küldés lehetőséget. Ezúttal a 200 OK választ kapja.

Következő lépések

Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:

  • Az API átalakítása a válaszfejlécek eltávolításához
  • Az API-válasz törzsében található eredeti URL-címek cseréje API Management-átjáró URL-címekre
  • API-k védelme hívásszám-korlátozási szabályzat (szabályozás) hozzáadásával
  • Az átalakítások tesztelése

Folytassa a következő oktatóanyaggal: