API-k védelme az Azure API Managementben az OAuth 2.0 hitelesítés és a Microsoft Entra ID használatával
A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint
Ebben a cikkben az OAuth 2.0 protokoll és a Microsoft Entra ID protokoll használatával konfigurálhatja az Azure API Management-példányt az API védelmére.
Az API-engedélyezés elméleti áttekintését lásd : Hitelesítés és API-k engedélyezése az API Managementben.
Előfeltételek
A cikk lépéseinek végrehajtása előtt a következőkkel kell rendelkeznie:
- API Management-példány
- Közzétett API az API Management-példány használatával
- Egy Microsoft Entra bérlő
Áttekintés
Kövesse az alábbi lépéseket egy API védelméhez az API Managementben OAuth 2.0-hitelesítéssel a Microsoft Entra ID-val.
Regisztráljon egy alkalmazást (ebben a cikkben a háttéralkalmazást) a Microsoft Entra ID-ban az API-hoz való hozzáférés védelme érdekében.
Az API eléréséhez a felhasználók vagy alkalmazások egy érvényes OAuth-jogkivonatot szereznek be és mutatnak be, amely minden API-kéréshez hozzáférést biztosít az alkalmazáshoz.
Konfigurálja a validate-jwt szabályzatot az API Managementben az egyes bejövő API-kérésekben bemutatott OAuth-jogkivonat érvényesítéséhez. Érvényes kérések továbbíthatók az API-nak.
Az OAuth-engedélyezési folyamatokkal és a szükséges OAuth-jogkivonatok létrehozásának módjával kapcsolatos részletek túlmutatnak a jelen cikk hatókörén. Általában egy külön ügyfélalkalmazással szerez be jogkivonatokat a Microsoft Entra ID-ból, amely engedélyezi az API-hoz való hozzáférést. További információkra mutató hivatkozásokért tekintse meg a következő lépéseket.
Alkalmazás regisztrálása a Microsoft Entra-azonosítóban az API-t ábrázoló módon
Az Azure Portal használatával védje meg az API-t a Microsoft Entra-azonosítóval, először regisztráljon egy alkalmazást, amely az API-t képviseli.
Az alkalmazásregisztrációval kapcsolatos részletekért tekintse meg a rövid útmutatót: Alkalmazás konfigurálása webes API-k megjelenítéséhez.
Az Azure Portalon keresse meg és válassza ki a Alkalmazásregisztrációk.
Új regisztráció kiválasztása.
Amikor megjelenik az Alkalmazás regisztrálása lap, adja meg az alkalmazás regisztrációs adatait:
- A Név szakaszban adjon meg egy értelmes alkalmazásnevet, amely megjelenik az alkalmazás felhasználóinak, például a háttéralkalmazásnak.
- A Támogatott fióktípusok szakaszban válasszon egy, a forgatókönyvnek megfelelő lehetőséget.
Hagyja üresen az Átirányítás URI szakaszt.
Válassza a Regisztráció elemet az alkalmazás létrehozásához.
Az Alkalmazás áttekintése lapon keresse meg az alkalmazás (ügyfél) azonosítójának értékét, és jegyezze fel későbbre.
Az oldalmenü Kezelés szakaszában válassza az API-k felfedése lehetőséget, és állítsa be az alkalmazásazonosító URI-ját az alapértelmezett értékkel. Ha egy külön ügyfélalkalmazást fejleszt, amely OAuth 2.0-jogkivonatokat szerez be a háttéralkalmazáshoz való hozzáféréshez, jegyezze fel ezt az értéket későbbre.
A Hatókör hozzáadása lap megjelenítéséhez válassza a Hatókör hozzáadása gombot:
- Adjon meg egy új hatókörnevet, Rendszergazda hozzájárulás megjelenítendő nevét és Rendszergazda hozzájárulás leírását.
- Győződjön meg arról, hogy az Engedélyezett hatókör állapota ki van jelölve.
A hatókör létrehozásához válassza a Hatókör hozzáadása gombot.
Ismételje meg az előző két lépést az API által támogatott összes hatókör hozzáadásához.
A hatókörök létrehozása után jegyezze fel őket későbbi használatra.
JWT érvényesítési szabályzat konfigurálása a kérések előzetes engedélyezéséhez
Az alábbi példaszabályzat a <inbound>
szabályzatszakaszhoz hozzáadva ellenőrzi a célközönség jogcímének értékét egy, az Engedélyezés fejlécben található Microsoft Entra-azonosítóból beszerzett hozzáférési jogkivonatban. Hibaüzenetet ad vissza, ha a jogkivonat érvénytelen. Konfigurálja ezt a szabályzatot a forgatókönyvnek megfelelő szabályzat hatókörében.
openid-config
Az URL-címben ezaad-tenant
a Microsoft Entra-azonosító bérlőazonosítója. Keresse meg ezt az értéket az Azure Portalon, például a Microsoft Entra-erőforrás Áttekintés lapján. Az alábbi példa egy egybérlős Microsoft Entra-alkalmazást és egy v2-konfigurációs végpontot feltételez.- Az érték a
claim
Microsoft Entra ID-ban regisztrált háttéralkalmazás ügyfél-azonosítója.
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://login.microsoftonline.com/{aad-tenant}/v2.0/.well-known/openid-configuration" />
<audiences>
<audience>{audience-value - (ex:api://guid)}</audience>
</audiences>
<issuers>
<issuer>{issuer-value - (ex: https://sts.windows.net/{tenant id}/)}</issuer>
</issuers>
<required-claims>
<claim name="aud">
<value>{backend-app-client-id}</value>
</claim>
</required-claims>
</validate-jwt>
Feljegyzés
Az előző openid-config
URL-cím a v2-végpontnak felel meg. A v1 openid-config
végponthoz használja a következőt https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration
: .
A szabályzatok konfigurálásáról további információt a Szabályzatok beállítása vagy szerkesztése című témakörben talál. A JWT-érvényesítések további testreszabásához tekintse meg a validate-jwt referenciát. A Microsoft Entra szolgáltatás által biztosított JWT érvényesítéséhez az API Management a szabályzatot validate-azure-ad-token
is biztosítja.
Engedélyezési munkafolyamat
Egy felhasználó vagy alkalmazás jogkivonatot szerez be a Microsoft Entra-azonosítóból olyan engedélyekkel, amelyek hozzáférést biztosítanak a háttéralkalmazáshoz.
A jogkivonat az API-kérések engedélyezési fejlécében lesz hozzáadva az API Managementhez.
Az API Management a szabályzat használatával ellenőrzi a jogkivonatot
validate-jwt
.Ha egy kérelem nem rendelkezik érvényes jogkivonattal, az API Management letiltja azt.
Ha egy kéréshez érvényes jogkivonat tartozik, az átjáró továbbíthatja a kérést az API-nak.
Következő lépések
Ha többet szeretne megtudni egy alkalmazás felépítéséről és az OAuth 2.0 implementálásáról, tekintse meg a Microsoft Entra kódmintáit.
Az OAuth 2.0 felhasználói engedélyezésének az API Management fejlesztői portálon történő konfigurálására vonatkozó végpontok közötti példáért tekintse meg a fejlesztői portál tesztkonzoljának engedélyezését az OAuth 2.0 felhasználói engedélyezés konfigurálásával.
További információ a Microsoft Entra-azonosítóról és az OAuth2.0-ról.
A háttérszolgáltatás biztonságossá tételének egyéb módjai: Kölcsönös tanúsítványhitelesítés.