Alkalmazások és API-k védelme jogcímek érvényesítésével

A jogkivonatokkal való interakció az alkalmazások létrehozásának alapvető eleme a felhasználók engedélyezéséhez. A legkevésbé kiemelt hozzáférés Teljes felügyelet elvével összhangban elengedhetetlen, hogy az alkalmazások az engedélyezés végrehajtásakor érvényesíthessék a hozzáférési jogkivonatban található egyes jogcímek értékeit.

A jogcímalapú engedélyezés lehetővé teszi az alkalmazások számára, hogy biztosítsák, hogy a jogkivonat a megfelelő értékeket tartalmazza a jogkivonatban található bérlői, tulajdonosi és színészi elemekhez. Ennek ellenére a jogcímalapú engedélyezés összetettnek tűnhet, mivel a különböző módszereket kell használni, és a forgatókönyveket nyomon kell követni. Ez a cikk egyszerűsíteni kívánja a jogcímalapú engedélyezési folyamatot, hogy az alkalmazások betarthassák a legbiztonságosabb eljárásokat.

Az engedélyezési logika biztonságossá tételéhez ellenőriznie kell a következő adatokat a jogcímekben:

  • A jogkivonathoz meg van adva a megfelelő célközönség.
  • A jogkivonat bérlőazonosítója megegyezik annak a bérlőnek az azonosítójával, amelyben az adatokat tárolják.
  • A jogkivonat tárgya megfelelő.
  • Az aktor (ügyfélalkalmazás) jogosult.

Feljegyzés

A hozzáférési jogkivonatok csak azon webes API-kban vannak érvényesítve, amelyekhez egy ügyfél szerezte be őket. Az ügyfélnek nem szabad érvényesítenie a hozzáférési jogkivonatokat.

A cikkben említett jogcímekkel kapcsolatos további információkért lásd Microsoft Identitásplatform hozzáférési jogkivonatokat.

A célközönség ellenőrzése

A aud jogcím azonosítja a jogkivonat kívánt célközönségét. A jogcímek érvényesítése előtt mindig ellenőriznie kell, hogy a aud hozzáférési jogkivonatban található jogcím értéke megegyezik-e a Webes API-val. Az érték attól függ, hogy az ügyfél hogyan kérte a jogkivonatot. A hozzáférési jogkivonat célközönsége a végponttól függ:

  • A 2.0-s verziójú jogkivonatok esetében a célközönség a webes API ügyfél-azonosítója. Ez egy GUID.
  • Az 1.0-s verziós jogkivonatok esetében a célközönség a webes API-ban deklarált appID URI-k egyike, amely érvényesíti a jogkivonatot. Például, api://{ApplicationID}vagy egy tartománynévvel kezdődő egyedi nevet (ha a tartománynév egy bérlőhöz van társítva).

Az alkalmazás appID URI-jával kapcsolatos további információkért lásd az alkalmazásazonosító URI-ját.

A bérlő ellenőrzése

Mindig ellenőrizze, hogy a tid benne lévő jogkivonat megegyezik-e az alkalmazással való adattároláshoz használt bérlőazonosítóval. Ha egy alkalmazás adatait egy bérlő kontextusában tárolja a rendszer, azokat csak később, ugyanabban a bérlőben kell újból elérni. Soha ne engedélyezze az egyik bérlő adatainak elérését egy másik bérlőről.

A bérlő ellenőrzése csak az első lépés, és a cikkben ismertetett tárgy- és szereplőellenőrzések továbbra is szükségesek. Ha a szándéka egy bérlő összes felhasználójának engedélyezése, erősen ajánlott explicit módon hozzáadni ezeket a felhasználókat egy csoporthoz, és engedélyezni a csoport alapján. Ha például csak a bérlőazonosítót és egy jogcím meglétét oid ellenőrzi, az API véletlenül engedélyezheti az adott bérlő összes szolgáltatásnevét a felhasználókon kívül.

A tárgy ellenőrzése

Állapítsa meg, hogy a jogkivonat tárgya, például a felhasználó (vagy maga az alkalmazás csak alkalmazásjogkivonat esetén) jogosult-e.

Konkrét vagy oid jogcímeket sub is kereshet.

Vagy

Ellenőrizheti, hogy a tárgy egy megfelelő szerepkörhöz vagy csoporthoz tartozik-e a roles, jogcímekkelgroupswids. Használja például a nem módosítható jogcímértékeket tid és oid az alkalmazásadatok kombinált kulcsaként, és határozza meg, hogy a felhasználónak hozzáférést kell-e biztosítani.

A roles, groups vagy wids jogcímekkel azt is megállapíthatja, hogy a tulajdonos rendelkezik-e engedéllyel a művelet végrehajtására. Előfordulhat például, hogy a rendszergazda engedéllyel rendelkezik egy API-ba való íráshoz, de nem egy normál felhasználóhoz, vagy a felhasználó egy olyan csoportban van, amely bizonyos műveletek végrehajtására jogosult. A wid jogcím a felhasználóhoz rendelt bérlői szerepköröket jelöli a Microsoft Entra beépített szerepköreiben található szerepkörökből. További információért lásd: Microsoft Entra beépített szerepkörök.

Figyelmeztetés

Soha ne használjon ilyen emailjogcímeket, preferred_username és unique_name ne tárolja vagy állapítsa meg, hogy a hozzáférési jogkivonatban lévő felhasználónak hozzáféréssel kell-e rendelkeznie az adatokhoz. Ezek a jogcímek nem egyediek, és a bérlői rendszergazdák vagy néha a felhasználók is vezérelhetők, így nem alkalmasak az engedélyezési döntések meghozatalára. Ezek csak megjelenítési célokra használhatók. Ne használja a jogcímet upn engedélyezésre. Bár az UPN egyedi, gyakran változik egy egyszerű felhasználó élettartama során, ami megbízhatatlansá teszi az engedélyezést.

Az aktor ellenőrzése

Egy felhasználó nevében eljáró ügyfélalkalmazást (a továbbiakban: szereplő) is engedélyezni kell. scp A jogcím (hatókör) használatával ellenőrizze, hogy az alkalmazás rendelkezik-e engedéllyel egy művelet végrehajtásához. A beosztott scp engedélyeknek arra kell korlátozódnia, amire a felhasználónak ténylegesen szüksége van, és a minimális jogosultság elvét követi.

Vannak azonban olyan előfordulások, amelyek scp nem szerepelnek a jogkivonatban. Ellenőrizze, hogy a jogcím nem áll-e scp fenn a következő esetekben:

  • Démonalkalmazások / csak alkalmazásengedélyek
  • Azonosító jogkivonatok

A hatókörökről és engedélyekről további információt a Microsoft Identitásplatform hatókörei és engedélyei című témakörben talál.

Feljegyzés

Az alkalmazások csak alkalmazásalapú jogkivonatokat (felhasználók nélküli alkalmazások kéréseit, például démonalkalmazásokat) kezelhetnek, és egy adott alkalmazást több bérlőn szeretnének engedélyezni, nem pedig egyedi szolgáltatásnév-azonosítókat. Ebben az esetben a appid jogcím (1.0-s verziós jogkivonatok esetén) vagy a azp jogcím (v2.0-s jogkivonatokhoz) használható a tulajdonosi engedélyezéshez. A jogcímek használatakor azonban az alkalmazásnak biztosítania kell, hogy a jogkivonatot közvetlenül az alkalmazás számára bocsátották ki az idtyp opcionális jogcím érvényesítésével. Csak ilyen típusú app jogkivonatok engedélyezhetők, mivel a delegált felhasználói jogkivonatokat az alkalmazáson kívüli entitások is beszerezhetik.

Következő lépések

  • További információ a biztonsági jogkivonatok jogkivonatairól és jogcímeiről