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 Csatlakozás 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:

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.

Forgatókönyvek felhasználókkal

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.

Forgatókönyvek démonalkalmazásokkal

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)
Egyoldalas alkalmazás hitelesítése Egy egyoldalas alkalmazás implicit

Felhasználót bejelentkező webalkalmazás

Egy webalkalmazás, amely bejelentkezik egy felhasználóba

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 Csatlakozás 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

Webes API-kat hívó webalkalmazás

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.

Webes API-t hívó asztali alkalmazás

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.

Eszközkód-folyamat

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.

Webes API-t hívó mobilalkalmazás

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. Az MSAL mostantól együttműködhet a közvetítőkkel. A közvetítőkkel kapcsolatos további információkért lásd : Közvetítők használata Androidon és iOS-en.

További információ: Webes API-kat hívó mobilalkalmazás.

Feljegyzés

MSAL.iOS, MSAL rendszerű mobilalkalmazás. Az Android vagy a Xamarin MSAL.NET 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.

Egy másik webes API-t hívó webes API

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.

Más alkalmazások és API-k által hívott démonalkalmazás

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 Csatlakozás 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 hitelesítési kóddal 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 módon 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 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 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 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 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 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 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
  • Xamarin.iOS
  • Xamarin.Android

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
Egyoldalas alkalmazás hitelesítése
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js MSAL.js MSAL.js
MSAL.js
Egyoldalas alkalmazás
Egyoldalas alkalmazás implicit
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js
MSAL.js MSAL.js MSAL.js
MSAL.js
Felhasználót bejelentkeztető webalkalmazás
Felhasználókat bejelentkező webalkalmazás
ASP.NET Core
ASP.NET Core MSAL-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core MSAL-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core MSAL-csomópont
MSAL-csomópont
Webes API-kat hívó webalkalmazás

Webes API-kat hívó webalkalmazás
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL-csomópont
MSAL-csomópont
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
Flask + MSAL Python MSAL-csomópont
MSAL-csomópont
Webes API-kat hívó asztali alkalmazás

Webes API-kat hívó asztali alkalmazásEszközkód-folyamat
.NETMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NETMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NETMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python
MSAL-csomópont
MSAL-csomópont
iOS/ Objective C vagy swift MSAL.objc
Webes API-kat hívó mobilalkalmazás
Webes API-kat hívó mobilalkalmazás
UWP MSAL.NET Xamarin MSAL.NET iOS/ Objective C vagy swift MSAL.objc Android MSAL. Android
Démonalkalmazás
Démonalkalmazások
.NETMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NETMSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
Webes API-kat hívó webes API

Webes API-kat hívó webes API
ASP.NET Core
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
MSAL-csomópont
.NET
ASP.NET Core + MSAL.NET MSAL Java
MSAL Java
MSAL Python
MSAL Python MSAL-csomópont
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: