Előfizetések létrehozása az Azure API Managementben

Befejeződött

Amikor API-t tesz közzé az API Management használatával, meg kell határoznia, hogy ki férhet hozzá az API-hez az átjárón keresztül.

A meteorológiai alkalmazás esetében biztosítani szeretné, hogy csak a szolgáltatásra feliratkozott ügyfelek férhessenek hozzá az API-hoz, és használhassák az előrejelzési adatokat. Ezt a hozzáférés-vezérlést előfizetési kulcsok kiadásával hajthatja végre.

Fontos

Az ebben a kontextusban lévő előfizetések nem kapcsolódnak az Azure-fiók kezeléséhez használt Azure-előfizetésekhez.

Itt azzal ismerkedhet meg, hogyan használhat előfizetői azonosítókat az API-k védelméhez.

Előfizetések és azonosítók

Dönthet úgy, hogy az API-kat és az azokat tartalmazó információkat szabadon elérhetővé teszi. Általában azonban korlátozni szeretné azoknak a felhasználóknak a hozzáférését, akik fizetett vagy olyan szervezetekkel rendelkeznek, akikkel munkakapcsolatban áll. Az API-khoz való hozzáférés szabályozásának egyik módja az előfizetések használata. Az előfizetések az API-hoz való felhasználói hozzáférés szegmentálására szolgálnak.

Az előfizetési kulcsok jelentik az engedélyt az előfizetésekhez való hozzáférés engedélyezéséhez. Amikor egy ügyfél kérést intéz egy védett API-hoz, érvényes előfizetési kulcsot kell tartalmaznia a HTTP-kérelemben; ellenkező esetben a rendszer elutasítja a hívást.

Az előfizetési kulcs egy egyedi, automatikusan létrehozott kulcs, amely egy API-hívás részeként adható át. Az azonosító közvetlenül kapcsolódik egy előfizetéshez, amelynek a hatóköre többféle is lehet. Az előfizetések lehetővé teszik az engedélyek és szabályzatok nagyobb mértékű kontrollját.

A három fő előfizetési hatókör a következő:

Hatókör Részletek
Minden API-k Minden, az átjáróból elérhető API-ra vonatkozik.
Egyetlen API Egyetlen importált API-ra és annak összes végpontjára vonatkozik.
Termék Egy termék egy vagy több, az API Managementben konfigurált API-k gyűjteménye. Egy API-t több termékhez is hozzárendelhet. A termékekre különböző hozzáférési szabályok, használati kvóták és használati feltételek vonatkozhatnak. Ha tehát azt szeretné, hogy partnerei és szállítói eltérő hozzáférési jogosultságokkal rendelkezzenek a WeatherData API-hoz, rendelje hozzá az API-t egy termékhez, majd az Azure Portal használatával társítsa az API-kat egy termékhez.

A védett API-t hívó alkalmazásoknak minden kéréshez tartalmazniuk kell egy előfizetési kulcsot.

Ezeket az előfizetési kulcsokat bármikor újra létrehozhatja; Ha például arra gyanakszik, hogy egy kulcs meg lett osztva jogosulatlan felhasználókkal, létrehozhat egy újat.

Képernyőkép az Azure Portal előfizetési kulcsáról.

Minden előfizetéshez két kulcs tartozik: egy elsődleges és egy másodlagos kulcs. Két kulcs birtoklása megkönnyíti a dolgot, amikor újat kell generálni. Ha például módosítani szeretné az elsődleges kulcsot, és el szeretné kerülni az állásidőt, a másodlagos kulcsot használhatja az alkalmazásokban.

Az olyan termékek esetében, amelyekben az előfizetések engedélyezve vannak, az ügyfeleknek meg kell adniuk a kulcsot a termék API-jaihoz való hívások során. A fejlesztők egy előfizetési kérés elküldésével szerezhetnek be azonosítót. Ha jóváhagyja a kérést, biztonságosan el kell küldenie az előfizetési kulcsot; például egy titkosított üzenetben. Ez a lépés az API Management-munkafolyamat fontos része.

API hívása előfizetői azonosítóval

Az alkalmazásoknak érvényes kulcsot kell tartalmazniuk minden olyan HTTP-kérésben, amely az előfizetés által védett API-végpontokra irányuló hívásokat indít. A kulcsok átadhatók a kérelem fejlécében vagy az URL-cím lekérdezési sztringparamétereként.

Az alapértelmezett előfizetési kulcs fejlécének neve Ocp-Apim-Subscription-Key, az alapértelmezett lekérdezési sztring neve pedig előfizetési kulcs.

Az API-hívások teszteléséhez használhat tesztkonzolt az Azure Portalon vagy a fejlesztői portálon, vagy parancssori eszközöket, például a curlt. Íme egy példa egy GET kérelemre a fejlesztői portálon, az előfizetői azonosító fejlécével:

Képernyőkép arról, hogyan hívhatja meg az API-t a fejlesztői portálról.

Íme egy példa arra, hogyan adná át a kulcsot egy kérésfejlécben a curl használatával:

curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path

Íme egy példa arra, hogy egy curl-paranccsal hogyan adhat át egy kulcsot lekérdezési sztringként egy URL-címben:

curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>

Ha egy szükséges kulcs nem kerül átadásra a fejlécben vagy az URL-lekérdezési sztringként, akkor 401-es hozzáférés megtagadva választ kap az API-átjárótól.