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.
Megjegyzé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 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.
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.
Á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
, scp
, , groups
wids
jogcímekkel. 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ímek arra is használhatók, hogy megállapítsa, hogy a tulajdonos rendelkezik-e engedéllyel egy művelet végrehajtásához, bár ezek nem teljes listát tartalmaznak az összes olyan módszerről, amellyel a tulajdonos engedélyt kaphat. 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 email
jogcí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.
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.
Megjegyzé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.