Microsoft Identitásplatform alkalmazástípusok és hitelesítési folyamatok
A Microsoft Identitásplatform különböző modern alkalmazásarchitektúrákhoz támogatja a hitelesítést. Az összes architektúra az OAuth 2.0 és az OpenID Connect iparági szabvány protokollon alapul. A Microsoft Identitásplatform hitelesítési kódtárainak használatával az alkalmazások hitelesítik az identitásokat, és jogkivonatokat szereznek be a védett API-k eléréséhez.
Ez a cikk a hitelesítési folyamatokat és a használt alkalmazásforgatókönyveket ismerteti.
Alkalmazáskategóriák
A biztonsági jogkivonatok több alkalmazástípusból is beszerezhetők, például:
- Webalkalmazások
- Mobilalkalmazásokban
- Asztali alkalmazások
- Webes API-k
A jogkivonatokat olyan eszközökön futó alkalmazások is beszerezhetik, amelyek nem rendelkeznek böngészővel, vagy az eszközök internetes hálózatán (IoT) futnak.
A következő szakaszok az alkalmazások kategóriáit ismertetik.
Védett erőforrások és ügyfélalkalmazások
A hitelesítési forgatókönyvek két tevékenységet foglalnak magukban:
- Biztonsági jogkivonatok beszerzése védett webes API-hoz: Javasoljuk, hogy a Microsoft által kifejlesztett és támogatott Microsoft Authentication Library (MSAL) használatát javasoljuk.
- Webes API vagy webalkalmazás védelme: Az erőforrások védelmének egyik kihívása a biztonsági jogkivonat érvényesítése. Egyes platformokon a Microsoft köztes szoftvertárakat kínál.
Felhasználókkal vagy felhasználók nélkül
A legtöbb hitelesítési forgatókönyv jogkivonatokat szerez be a bejelentkezett felhasználók nevében.
Vannak azonban démonalkalmazások is. Ezekben az esetekben az alkalmazások jogkivonatokat szereznek be saját maguk nevében, felhasználó nélkül.
Egyoldalas, nyilvános ügyfél- és bizalmas ügyfélalkalmazások
A biztonsági jogkivonatok több alkalmazástípussal is beszerezhetők. Ezeket az alkalmazásokat általában a következő három kategóriába sorolják. Mindegyik különböző kódtárakkal és objektumokkal használható.
Egyoldalas alkalmazások: Más néven SLA-k, ezek olyan webalkalmazások, amelyekben a jogkivonatokat a böngészőben futó JavaScript- vagy TypeScript-alkalmazás szerzi be. Számos modern alkalmazás előtérében egy egyoldalas alkalmazás található, amely elsősorban JavaScriptben íródott. Az alkalmazás gyakran használ olyan keretrendszert, mint az Angular, a React vagy a Vue. MSAL.js az egyetlen microsoftos hitelesítési kódtár, amely támogatja az egyoldalas alkalmazásokat.
Nyilvános ügyfélalkalmazások: Az ebbe a kategóriába tartozó alkalmazások, például a következő típusok, mindig bejelentkeznek a felhasználókba:
- Asztali alkalmazások, amelyek webes API-kat hívnak meg a bejelentkezett felhasználók nevében
- Mobilalkalmazásokban
- Olyan eszközökön futó alkalmazások, amelyek nem rendelkeznek böngészővel, például az IoT-en futó alkalmazások
Bizalmas ügyfélalkalmazások: Az ebbe a kategóriába tartozó alkalmazások a következők:
- Webes API-t hívó webalkalmazások
- Webes API-t hívó webes API-k
- Démonalkalmazások, még akkor is, ha konzolszolgáltatásként, például Linux-démonként vagy Windows-szolgáltatásként implementálva
Bejelentkezési közönség
A rendelkezésre álló hitelesítési folyamatok a bejelentkezési közönségtől függően eltérőek. Egyes folyamatok csak munkahelyi vagy iskolai fiókokhoz érhetők el. Mások munkahelyi vagy iskolai fiókokhoz és személyes Microsoft-fiókokhoz is elérhetők.
További információ: Támogatott fióktípusok.
Alkalmazástípusok
A Microsoft Identitásplatform az alábbi alkalmazásarchitektúrák hitelesítését támogatja:
- Egyoldalas alkalmazások
- Webalkalmazások
- Webes API-k
- Mobilalkalmazásokban
- Natív alkalmazások
- Démonalkalmazások
- Kiszolgálóoldali alkalmazások
Az alkalmazások a különböző hitelesítési folyamatokkal jelentkeznek be a felhasználókba, és jogkivonatokat kapnak a védett API-k meghívásához.
Egyoldalas alkalmazás
Számos modern webalkalmazás ügyféloldali egyoldalas alkalmazásként készült. Ezek az alkalmazások JavaScriptet vagy olyan keretrendszert használnak, mint az Angular, a Vue és a React. Ezek az alkalmazások webböngészőben futnak.
Az egyoldalas alkalmazások a hitelesítési jellemzők tekintetében eltérnek a hagyományos kiszolgálóoldali webalkalmazásoktól. A Microsoft Identitásplatform használatával az egyoldalas alkalmazások bejelentkezhetnek a felhasználókba, és jogkivonatokat szerezhetnek be a háttérszolgáltatásokhoz vagy webes API-khoz való hozzáféréshez. A Microsoft Identitásplatform két támogatási típust kínál JavaScript-alkalmazásokhoz:
MSAL.js (2.x) | MSAL.js (1.x) |
---|---|
Felhasználót bejelentkező webalkalmazás
A felhasználóval bejelentkező webalkalmazások védelme:
Ha .NET-ben fejleszt, ASP.NET vagy ASP.NET Core-t használ az ASP.NET OpenID Connect köztes szoftverrel. Az erőforrások védelme magában foglalja a biztonsági jogkivonat érvényesítését, amelyet a .NET IdentityModel bővítményei végeznek, nem pedig az MSAL-kódtárak esetében.
Ha Node.js fejleszt, MSAL-csomópontot használ.
További információt a felhasználókat bejelentkező webalkalmazásban talál.
Webalkalmazás, amely bejelentkezik egy felhasználóba, és meghív egy webes API-t a felhasználó nevében
Ha webes API-t szeretne meghívni egy webalkalmazásból egy felhasználó nevében, használja az engedélyezési kód folyamatát, és tárolja a beszerzett jogkivonatokat a jogkivonat-gyorsítótárban. Szükség esetén az MSAL frissíti a jogkivonatokat, és a vezérlő csendesen beolvasja a jogkivonatokat a gyorsítótárból.
További információt a webes API-kat hívó webalkalmazásban talál.
Asztali alkalmazás, amely webes API-t hív meg egy bejelentkezett felhasználó nevében
Ahhoz, hogy egy asztali alkalmazás meghívjon egy webes API-t, amely bejelentkezik a felhasználókba, használja az MSAL interaktív jogkivonat-beszerzési módszereit. Ezekkel az interaktív módszerekkel szabályozhatja a bejelentkezési felhasználói felület használatát. Az MSAL egy webböngészőt használ ehhez az interakcióhoz.
Van egy másik lehetőség a Windows által üzemeltetett alkalmazásokra a Windows-tartományhoz vagy a Microsoft Entra-azonosítóhoz csatlakoztatott számítógépeken. Ezek az alkalmazások integrált Windows-hitelesítéssel csendben szerezhetnek be jogkivonatokat.
A böngésző nélküli eszközön futó alkalmazások továbbra is meghívhatnak egy API-t a felhasználó nevében. A hitelesítéshez a felhasználónak be kell jelentkeznie egy másik, webböngészővel rendelkező eszközön. Ebben a forgatókönyvben az eszköz kódfolyamatát kell használnia.
Bár nem javasoljuk, hogy használja, a felhasználónév/jelszó folyamat elérhető a nyilvános ügyfélalkalmazásokban. Ez a folyamat továbbra is szükséges bizonyos forgatókönyvekben, például a DevOpsban.
A felhasználónév/jelszó folyamat használata korlátozza az alkalmazásokat. Az alkalmazások például nem tudnak bejelentkezni olyan felhasználóba, akinek többtényezős hitelesítést vagy feltételes hozzáférési eszközt kell használnia a Microsoft Entra ID-ban. Az alkalmazásoknak az egyszeri bejelentkezés sem jár előnyökkel. A felhasználónévvel/jelszóval történő hitelesítés a modern hitelesítés alapelveivel ütközik, és csak örökölt okokból érhető el.
Asztali alkalmazásokban, ha azt szeretné, hogy a jogkivonat gyorsítótára megmaradjon, testre szabhatja a jogkivonat-gyorsítótár szerializálását. A kettős jogkivonat-gyorsítótár szerializálásával visszamenőlegesen kompatibilis és előre kompatibilis jogkivonat-gyorsítótárakat használhat.
További információ: Webes API-kat hívó asztali alkalmazás.
Mobilalkalmazás, amely egy webes API-t hív meg egy interaktív felhasználó nevében
Az asztali alkalmazásokhoz hasonlóan egy mobilalkalmazás meghívja az MSAL interaktív jogkivonat-beszerzési módszereit egy webes API meghívásához szükséges jogkivonat beszerzéséhez.
Az MSAL iOS és az MSAL Android alapértelmezés szerint a rendszer webböngészőt használja. Azonban a beágyazott webes nézet használatára is utasíthatja őket. A mobilplatformtól függnek bizonyos sajátosságok: Univerzális Windows-platform (UWP), iOS vagy Android.
Egyes forgatókönyvek, például az eszközazonosítóhoz vagy az eszközregisztrációhoz kapcsolódó feltételes hozzáféréssel kapcsolatos forgatókönyvek esetében egy közvetítőt kell telepíteni az eszközön. A közvetítők közé tartoznak például a Microsoft Céges portál Androidon és a Microsoft Authenticator androidos és iOS rendszeren.
További információ: Webes API-kat hívó mobilalkalmazás.
Feljegyzés
Az MSAL iOS vagy MSAL Android rendszert használó mobilalkalmazások alkalmazásvédelmi szabályzatokat alkalmazhatnak rá. A szabályzatok például megakadályozhatják, hogy a felhasználó védett szöveget másoljon. A mobilalkalmazást az Intune felügyeli, és az Intune felügyelt alkalmazásként ismeri fel. További információt a Microsoft Intune App SDK áttekintésében talál.
Az Intune App SDK külön van az MSAL-kódtáraktól, és önállóan kommunikál a Microsoft Entra-azonosítóval.
Védett webes API
A Microsoft Identitásplatform végpont használatával biztonságossá teheti a webszolgáltatásokat, például az alkalmazás RESTful API-ját. A védett webes API-k meghívása hozzáférési jogkivonaton keresztül történik. A jogkivonat segít az API adatainak védelmében és a bejövő kérések hitelesítésében. A webes API hívója hozzáfűz egy hozzáférési jogkivonatot egy HTTP-kérés engedélyezési fejlécéhez.
Ha meg szeretné védeni a ASP.NET vagy ASP.NET Core webes API-t, ellenőrizze a hozzáférési jogkivonatot. Az ellenőrzéshez a JWT köztes szoftver ASP.NET kell használnia. Az ellenőrzést a .NET-tár IdentityModel-bővítményei végzik, nem pedig a MSAL.NET.
További információ: Védett webes API.
Web API, amely egy felhasználó nevében egy másik webes API-t hív meg
Ahhoz, hogy a védett webes API meghívjon egy másik webes API-t egy felhasználó nevében, az alkalmazásnak jogkivonatot kell beszereznie az alsóbb rétegbeli webes API-hoz. Az ilyen hívásokat szolgáltatásközi hívásoknak is nevezik. A más webes API-kat meghívó webes API-knak egyéni gyorsítótár-szerializálást kell biztosítaniuk.
További információ: Webes API-kat hívó webes API.
Démonalkalmazás, amely egy webes API-t hív meg a démon nevében
A hosszú ideig futó folyamatokkal rendelkező vagy felhasználói beavatkozás nélkül működő alkalmazásoknak is szükségük van a biztonságos webes API-k elérésére. Az ilyen alkalmazások az alkalmazás identitásával hitelesíthetik és lekérhetik a jogkivonatokat. Az alkalmazás egy titkos ügyfélkód vagy tanúsítvány használatával igazolja az identitását.
Olyan démonalkalmazásokat írhat, amelyek jogkivonatot szereznek be a hívó alkalmazáshoz az ügyfél hitelesítő adatainak beszerzési módszereivel az MSAL-ben. Ezekhez a módszerekhez egy ügyfélkulcsra van szükség, amelyet hozzáad az alkalmazásregisztrációhoz a Microsoft Entra ID-ban. Az alkalmazás ezután megosztja a titkos kódot az úgynevezett démonnal. Ilyen titkos kódok például az alkalmazásjelszavak, a tanúsítványérvényesítés és az ügyfélmegfelelőség.
További információ: Webes API-kat hívó Démonalkalmazás.
Forgatókönyvek és támogatott hitelesítési folyamatok
Hitelesítési folyamatokkal implementálhatja a jogkivonatokat kérő alkalmazásforgatókönyveket. Az alkalmazásforgatókönyvek és a hitelesítési folyamatok között nincs egy-az-egyhez leképezés.
A jogkivonatok beszerzését igénylő forgatókönyvek OAuth 2.0 hitelesítési folyamatokra is leképezést igényelnek. További információ: OAuth 2.0 és OpenID Connect protokollok a Microsoft Identitásplatform.
Eset | Részletes forgatókönyv – útmutató | OAuth 2.0-folyamat és engedélyezés | Célközönség |
---|---|---|---|
Egyoldalas alkalmazás | Engedélyezési kód a PKCE-vel | Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure Active Directory B2C (Azure AD B2C) | |
Egyoldalas alkalmazás | Implicit | Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure Active Directory B2C (Azure AD B2C) | |
Felhasználót bejelentkeztető webalkalmazás | Engedélyezési kód | Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C | |
Webes API-kat hívó webalkalmazás | Engedélyezési kód | Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C | |
Webes API-kat hívó asztali alkalmazás | Interaktív a PKCE engedélyezési kódjával | Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C | |
Integrált Windows-hitelesítés | Munkahelyi vagy iskolai fiókok | ||
Erőforrás-tulajdonos jelszava | Munkahelyi vagy iskolai fiókok és Azure AD B2C | ||
Böngésző nélküli alkalmazás | Eszközkód | Munkahelyi vagy iskolai fiókok, személyes fiókok, de az Azure AD B2C nem | |
Webes API-kat hívó mobilalkalmazás | Interaktív a PKCE engedélyezési kódjával | Munkahelyi vagy iskolai fiókok, személyes fiókok és Azure AD B2C | |
Erőforrás-tulajdonos jelszava | Munkahelyi vagy iskolai fiókok és Azure AD B2C | ||
Webes API-kat hívó démonalkalmazás | Ügyfél-hitelesítő adatok | Csak olyan alkalmazásengedélyek, amelyek nem rendelkeznek felhasználóval, és csak a Microsoft Entra-szervezetekben használatosak | |
Webes API-kat hívó webes API | A nevében | Munkahelyi vagy iskolai fiókok és személyes fiókok |
Forgatókönyvek és támogatott platformok és nyelvek
A Microsoft Hitelesítési kódtárak több platformot is támogatnak:
- .NET
- .NET-keretrendszer
- Java
- JavaScript
- macOS
- Natív Android
- Natív iOS
- Node.js
- Python
- Windows 10/UWP
Különböző nyelveket is használhat az alkalmazások létrehozásához.
A következő táblázat Windows oszlopában a .NET minden említése esetén .NET-keretrendszer is lehetséges. Az utóbbi nincs megadva a táblázat zsúfoltságának elkerülése érdekében.
Eset | Windows | Linux | Mac | iOS | Android |
---|---|---|---|---|---|
Egyoldalas alkalmazás |
MSAL.js |
MSAL.js |
MSAL.js |
MSAL.js | MSAL.js |
Egyoldalas alkalmazás |
MSAL.js |
MSAL.js |
MSAL.js |
MSAL.js | MSAL.js |
Felhasználót bejelentkeztető webalkalmazás |
ASP.NET Core MSAL-csomópont |
ASP.NET Core MSAL-csomópont |
ASP.NET Core MSAL-csomópont |
||
Webes API-kat hívó webalkalmazás |
ASP.NET Core + MSAL.NET MSAL Java Flask + MSAL Python MSAL-csomópont |
ASP.NET Core + MSAL.NET MSAL Java Flask + MSAL Python MSAL-csomópont |
ASP.NET Core + MSAL.NET MSAL Java Flask + MSAL Python MSAL-csomópont |
||
Webes API-kat hívó asztali alkalmazás |
MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
MSAL.NET MSAL Java MSAL Python MSAL-csomópont MSAL.objc |
||
Webes API-kat hívó mobilalkalmazás |
MSAL.NET MSAL.NET | MSAL.objc | MSAL. Android | ||
Démonalkalmazás |
MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
||
Webes API-kat hívó webes API |
ASP.NET Core + MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
ASP.NET Core + MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
ASP.NET Core + MSAL.NET MSAL Java MSAL Python MSAL-csomópont |
További információ: Microsoft Identitásplatform hitelesítési kódtárak.
Következő lépések
A hitelesítésről további információt a következő témakörben talál: