Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
VONATKOZIK A KÖVETKEZŐKRE: Minden API Management szint
Az Azure API Managementben az előfizetések a leggyakoribb módja annak, hogy az API-felhasználók hozzáférjenek egy API Management-példányon közzétett API-khoz. Ez a cikk áttekintést nyújt a koncepcióról.
Feljegyzés
Az API Management-előfizetések kifejezetten API Managementen keresztüli API-k meghívására szolgálnak egy előfizetési kulcs használatával. Ez nem ugyanaz, mint egy Azure-előfizetés.
Mik azok az előfizetések?
Az API-k API Managementen keresztüli közzétételével egyszerűen biztonságossá teheti az API-hozzáférést az előfizetési kulcsok használatával. A közzétett API-kat használni kívánó fejlesztőknek egy érvényes előfizetői azonosítót kell használniuk a HTTP-kérésekben, amikor meghívják ezeket az API-kat. Érvényes előfizetői azonosító nélkül a hívások:
- Azonnal elutasítja az API Management átjáró.
- Nem lesznek továbbítva a háttérszolgáltatásoknak.
Az API-k eléréséhez a fejlesztőknek előfizetésre és előfizetői azonosítóra van szükségük. Az előfizetés az előfizetési kulcsok párjának nevesített tárolója.
Ráadásul
- A fejlesztők anélkül szerezhetnek be előfizetéseket, hogy az API-közzétevők jóváhagyásra szorulnak.
- Az API-közzétevők közvetlenül az API-felhasználók számára hozhatnak létre előfizetéseket.
Tipp.
Az API Management az API-khoz való hozzáférés biztosításának egyéb mechanizmusait is támogatja, többek között az alábbi példákat:
Előfizetési kulcsok kezelése
A kulcsok rendszeres újragenerálása gyakori biztonsági elővigyázatosság. A legtöbb olyan Azure-szolgáltatáshoz hasonlóan, amelyekhez előfizetési kulcs szükséges, az API Management párokban hozza létre a kulcsokat. A szolgáltatást használó alkalmazások az A kulcsról a B kulcsra válthatnak, és minimális megszakítással újragenerálhatják az A kulcsot, és fordítva.
A kulcsok újragenerálása helyett konkrét kulcsokat állíthat be az Azure API Management-előfizetés meghívásával – Az Azure REST API létrehozása vagy frissítése. Pontosabban állítsa be properties.primaryKey és/vagy properties.secondaryKey a HTTP-kérelem törzsében.
Feljegyzés
- Az API Management nem nyújt beépített funkciókat az előfizetési kulcsok életciklusának kezeléséhez, például a lejárati dátumok beállításához vagy a kulcsok automatikus elforgatásához. Olyan munkafolyamatokat fejleszthet, amelyek automatizálják ezeket a folyamatokat olyan eszközökkel, mint az Azure PowerShell vagy az Azure SDK.
- Az API-khoz való időkorlátos hozzáférés kényszerítéséhez az API-közzétevők használhatnak előfizetési kulcsokkal rendelkező szabályzatokat, vagy használhatnak beépített lejárati mechanizmust, például jogkivonatalapú hitelesítést.
Előfizetések hatóköre
Az előfizetéseket különböző hatókörökhöz társíthatja: termékhez, az összes API-hoz vagy egy egyéni API-hoz.
Termékre vonatkozó előfizetések
Az API Managementben az előfizetéseket hagyományosan egyetlen termékhatókörrel társítja. Fejlesztők:
- Keresse meg a termékek listáját a fejlesztői portálon.
- Küldje el az előfizetési kérelmeket a használni kívánt termékekre vonatkozóan.
- A termék API-jaihoz az automatikusan jóváhagyott előfizetések kulcsaival vagy AZ API-közzétevők által jóváhagyott kulcsokkal férhet hozzá.
A fejlesztői portál jelenleg csak a felhasználói profil szakaszban jeleníti meg a termékhatókör-előfizetéseket.
Előfizetések az összes API-hoz vagy egy egyéni API-hoz
Olyan kulcsokat is létrehozhat, amelyek hozzáférést biztosítanak a következőkhöz:
- Egyetlen API, vagy
- Egy API Management-példány összes API-ja.
Ezekben az esetekben nem kell létrehoznia egy terméket, és először hozzá kell adnia az API-kat.
Teljes hozzáférésű előfizetés
Minden API Management-példányhoz tartozik egy beépített teljes hozzáférésű előfizetés, amely minden API-hoz hozzáférést biztosít. Ez a szolgáltatáshatókörű előfizetés megkönnyíti a szolgáltatástulajdonosok számára az API-k tesztelését és hibakeresését a tesztkonzolon belül.
Figyelmeztetés
A teljes hozzáférésű előfizetés lehetővé teszi az API Management-példány összes API-jának elérését. Ezt az előfizetést csak a jogosult felhasználók használhatják. Soha ne használja ezt az előfizetést rutin API-hozzáféréshez, vagy ágyazza be a teljes hozzáférésű előfizetési kulcsot az ügyfélalkalmazásokba.
Feljegyzés
Ha API-hatókörű előfizetést, teljes API-előfizetést vagy beépített teljes hozzáférésű előfizetést használ, a termék hatókörében konfigurált szabályzatok nem lesznek alkalmazva az adott előfizetésből érkező kérelmekre.
Önálló előfizetések
Az API Management lehetővé teszi az önálló előfizetéseket is, amelyek nincsenek fejlesztői fiókhoz társítva. Ez a funkció olyan helyzetekben hasznos, mint például több fejlesztő vagy csapat, amelyek előfizetést osztanak meg.
Ha egy előfizetést tulajdonos hozzárendelése nélkül hoz létre, az önálló előfizetéssé válik. Ha hozzáférést szeretne adni a fejlesztőknek és a csapat többi tagjának az önálló előfizetési kulcshoz, az alábbiak szerint:
- Az előfizetési kulcs manuális megosztása.
- Egyéni rendszer használatával tegye elérhetővé az előfizetési kulcsot a csapat számára.
Feljegyzés
Az API Managementben közvetlenül nem rendelhet előfizetéseket a Microsoft Entra ID biztonsági csoportokhoz. Ha egy csoport több felhasználójának szeretne előfizetési hozzáférést biztosítani, hozzon létre egy különálló előfizetést, és ossza el az előfizetési kulcsokat a csoporttagok között, vagy integrálható a Microsoft Entra-azonosítóval a hitelesítéshez, és szabályzatok használatával szabályozza a csoporttagságon alapuló API-hozzáférést.
Előfizetések létrehozása és kezelése az Azure Portalon
Az API-közzétevők (megfelelő engedélyekkel rendelkező rendszergazdák vagy fejlesztők) közvetlenül az Azure Portalon hozhatnak létre előfizetéseket az API Management-példányba való bejelentkezéssel. Az API-felhasználók nem hozhatnak létre előfizetéseket az Azure Portalon; általában a fejlesztői portálon keresztül igényelnek előfizetéseket, vagy api-közzétevőktől fogadják őket.
Amikor létrehoz egy előfizetést a portálon, az aktív állapotban van, ami azt jelenti, hogy az előfizető egy érvényes előfizetési kulccsal meghívhat egy társított API-t. Szükség szerint módosíthatja az előfizetés állapotát. Az API-hozzáférés megakadályozása érdekében például bármely előfizetést (beleértve a beépített teljes hozzáférésű előfizetést is) felfüggeszthet, mondhat le vagy törölhet.
Előfizetési kulcs használata
Az előfizetők kétféleképpen használhatnak API Management-előfizetési kulcsot:
- Adja hozzá az Ocp-Apim-Subscription-Key HTTP-fejlécet a kéréshez, átadva egy érvényes előfizetési kulcs értékét.
- Adja meg az előfizetéskulcs lekérdezési paraméterét és egy érvényes értéket az URL-címben. Csak akkor ellenőrizzük a lekérdezési paramétert, ha a fejléc nem található.
Tipp.
Az Ocp-Apim-Subscription-Key az előfizetési kulcs fejlécének alapértelmezett neve, az előfizetési kulcs pedig a lekérdezési paraméter alapértelmezett neve. Igény szerint módosíthatja ezeket a neveket az egyes API-k beállításaiban. A portálon például frissítse ezeket a neveket egy API Beállítások lapján.
Feljegyzés
Ha egy kérelemfejlécben vagy lekérdezési paraméterben szerepel, az előfizetési kulcsot alapértelmezés szerint átadják a háttérrendszernek, és a háttérbeli figyelési naplókban vagy más rendszerekben is megjelenhetnek. Ha ezek az adatok bizalmasak, a szakasz végén konfigurálhat egy szabályzatot az inbound előfizetéskulcs fejlécének (set-header) vagy a lekérdezési paraméter (set-query-parameter) eltávolításához.
Az API- vagy termékhozzáférés előfizetési követelményeinek engedélyezése vagy letiltása
Az API létrehozásakor alapértelmezés szerint előfizetési kulcsra van szükség az API-hozzáféréshez. Hasonlóképpen, amikor létrehoz egy terméket, alapértelmezés szerint egy előfizetési kulcs szükséges a termékhez hozzáadott API-k eléréséhez. Bizonyos esetekben előfordulhat, hogy egy API-közzétevő előfizetések nélkül szeretne közzétenni egy terméket vagy egy adott API-t a nyilvánosság számára. Bár a közzétevők dönthetnek úgy, hogy engedélyezik bizonyos API-k nem biztonságos (névtelen) hozzáférését, egy másik mechanizmus konfigurálása javasolt az ügyfélhozzáférés biztonságossá tételéhez.
Figyelemfelhívás
Ügyeljen arra, hogy olyan terméket vagy API-t konfiguráljon, amely nem igényel előfizetést. Ez a konfiguráció túl megengedő lehet, és sebezhetőbbé teheti az API-t bizonyos API-biztonsági fenyegetésekkel szemben.
Feljegyzés
A megnyitott termékeknél le van tiltva az Előfizetés megkövetelése beállítás, ami azt jelenti, hogy a felhasználóknak nem kell feliratkoznia rájuk. Ezért a megnyitott termékek nem jelennek meg a fejlesztői portál Termékek lapján.
API vagy termék vagy újabb verzió létrehozásakor letilthatja az előfizetési követelményt.
Az előfizetési követelmény letiltása a portálon:
- Termékre vonatkozó követelmény letiltása – A termék Beállítások lapján tiltsa le az Előfizetést igényel.
- Az API-ra vonatkozó követelmény letiltása – Az API Beállítások lapján tiltsa le az előfizetést.
Az előfizetési követelmény letiltása után a kiválasztott API-k vagy API-k előfizetési kulcs nélkül is elérhetők.
Hogyan kezeli az API Management a kéréseket előfizetési kulcsokkal vagy anélkül
API-kérés előfizetői azonosítóval
Amikor az API Management előfizetői azonosítót tartalmazó API-kérést kap egy ügyféltől, a következő szabályok szerint kezeli a kérést:
Ellenőrzi, hogy a kulcs érvényes-e, és egy aktív előfizetéshez van-e társítva, a következőként definiálva:
- Az API-ra kiterjedő előfizetés.
- Az API-hoz rendelt termékre vonatkozó előfizetés.
- Az összes API-ra kiterjedő előfizetés.
- A szolgáltatás hatókörű előfizetése (az összes hozzáférési előfizetésben beépített).
Ha a kulcs érvényes egy megfelelő hatókörű aktív előfizetésre, az API Management hozzáférést biztosít. A szabályzatokat az adott hatókörben lévő szabályzatdefiníció konfigurációjától függően alkalmazza.
Ha a kulcs érvénytelen, de létezik olyan termék, amely előfizetés ( nyitott termék) megkövetelése nélkül tartalmazza az API-t, az API Management figyelmen kívül hagyja a kulcsot, és előfizetési kulcs nélkül kezeli a kérést API-kérésként (lásd a következő szakaszt).
Ellenkező esetben az API Management megtagadja a hozzáférést (401 Hozzáférés megtagadása hiba).
API-kérés előfizetői azonosító nélkül
Amikor az API Management előfizetői azonosítót nem tartalmazó API-kérést kap egy ügyféltől, a következő szabályok szerint kezeli a kérést:
- Ellenőrzi, hogy létezik-e olyan termék, amely tartalmazza az API-t, de nem igényel előfizetést ( nyitott termék). Ha a nyitott termék létezik, az API Management a nyitott termékhez konfigurált API-k, szabályzatok és hozzáférési szabályok kontextusában kezeli a kérést. Egy API legfeljebb egy nyitott termékhez társítható.
- Ha nem található egy nyitott termék, beleértve az API-t, az API Management ellenőrzi, hogy az API-nak előfizetésre van-e szüksége. Ha nincs szükség előfizetésre, az API Management az adott API és művelet kontextusában kezeli a kérést.
- Ha nem található konfigurált termék vagy API, akkor az API Management megtagadja a hozzáférést (401 Hozzáférés megtagadva hiba).
Összegző táblázat
Az alábbi táblázat összefoglalja, hogy az átjáró hogyan kezeli az API-kéréseket előfizetési kulcsokkal vagy anélkül különböző helyzetekben. A táblázat olyan konfigurációkat jegyez fel, amelyek esetleg nem szándékos, névtelen API-hozzáférést tehetnek lehetővé.
| Az API-hoz rendelt összes termékhez előfizetés szükséges | Az API-nak előfizetésre van szüksége | API-hívás előfizetési kulccsal | API-hívás előfizetési kulcs nélkül | Tipikus forgatókönyvek |
|---|---|---|---|---|
| ✔️ | ✔️ | Hozzáférés engedélyezett: • Termékhatókörű kulcs • API-hatókörű kulcs • Minden API-hatókörű kulcs • Szolgáltatás hatókörű kulcs Hozzáférés megtagadva: • Más kulcs nem vonatkozik az alkalmazandó termékre vagy API-ra. |
Hozzáférés megtagadva | Védett API-hozzáférés termékhatókörű vagy API-hatókörű előfizetéssel |
| ✔️ | ❌ | Hozzáférés engedélyezett: • Termékhatókörű kulcs • API-hatókörű kulcs • Minden API-hatókörű kulcs • Szolgáltatás hatókörű kulcs • Más kulcs nem vonatkozik az alkalmazandó termékre vagy API-ra. |
Hozzáférés engedélyezett (API-környezet) | • Védett API-hozzáférés termékhatókörű előfizetéssel • Névtelen hozzáférés az API-hoz. Ha a névtelen hozzáférés nem célja, konfiguráljon API-szintű szabályzatokat a hitelesítés és az engedélyezés kikényszerítéséhez. |
| ❌ 1 | ✔️ | Hozzáférés engedélyezett: • Termékhatókörű kulcs • API-hatókörű kulcs • Minden API-hatókörű kulcs • Szolgáltatás hatókörű kulcs Hozzáférés megtagadva: • Más kulcs nem vonatkozik az alkalmazandó termékre vagy API-ra. |
Hozzáférés engedélyezve (nyitott termékkörnyezet) | • Védett API-hozzáférés API-hatókörű előfizetéssel • Névtelen hozzáférés az API-hoz. Ha a névtelen hozzáférés nem célja, konfiguráljon termékszabályzatokkal a hitelesítés és az engedélyezés kikényszerítéséhez |
| ❌ 1 | ❌ | Hozzáférés engedélyezett: • Termékhatókörű kulcs • API-hatókörű kulcs • Minden API-hatókörű kulcs • Szolgáltatás hatókörű kulcs • Más kulcs nem vonatkozik az alkalmazandó termékre vagy API-ra. |
Hozzáférés engedélyezve (nyitott termékkörnyezet) | Névtelen hozzáférés az API-hoz. Ha a névtelen hozzáférés nem célja, konfiguráljon termékszabályzatokkal a hitelesítés és az engedélyezés kikényszerítéséhez |
1 Létezik egy nyitott termék, amely az API-hoz van társítva.
Megfontolások
- Az API-hozzáférés a termékkörnyezetben ugyanaz, függetlenül attól, hogy a termék közzé van-e téve. A termék közzétételének megszüntetése elrejti a fejlesztői portálról, de nem érvényteleníti az új vagy meglévő előfizetési kulcsokat.
- Ha egy API nem igényel előfizetés-hitelesítést, az előfizetési kulcsot tartalmazó API-kérések ugyanúgy lesznek kezelve, mint az előfizetési kulcs nélküli kérések. Az előfizetési kulcs figyelmen kívül lesz hagyva.
- Az API-hozzáférés "környezete" egy adott hatókörben (például API vagy termék) alkalmazott szabályzatokat és hozzáférési vezérlőket jelenti.
Kapcsolódó tartalom
További információ az API Managementről:
- Megtudhatja, hogyan alkalmazzák az API Management-szabályzatokat különböző hatókörökben.
- További fogalmak az API Managementben.
- Az API Managementtel kapcsolatos további információkért kövesse oktatóanyagainkat.
- Gyakori kérdésekért tekintse meg a gyakori kérdéseket a GYIK oldalon.