Szerepköralapú hozzáférés-vezérlés alkalmazásfejlesztőknek
A szerepköralapú hozzáférés-vezérlés (RBAC) lehetővé teszi, hogy bizonyos felhasználók vagy csoportok meghatározott engedélyekkel rendelkezzenek az erőforrások eléréséhez és kezeléséhez. Az alkalmazás RBAC eltér az Azure szerepköralapú hozzáférés-vezérlésétől és a Microsoft Entra szerepköralapú hozzáférés-vezérlésétől. Az Azure-beli egyéni szerepkörök és a beépített szerepkörök egyaránt az Azure RBAC részét képezik, amely az Azure-erőforrások kezeléséhez használható. A Microsoft Entra RBAC a Microsoft Entra-erőforrások kezelésére szolgál. Ez a cikk az alkalmazásspecifikus RBAC-t ismerteti. Az alkalmazásspecifikus RBAC implementálásával kapcsolatos információkért lásd : Alkalmazásszerepkörök hozzáadása az alkalmazáshoz, és azok fogadása a jogkivonatban.
Szerepkör-definíciók
Az RBAC egy népszerű mechanizmus az alkalmazások engedélyezésének kikényszerítésére. Amikor egy szervezet RBAC-t használ, az alkalmazásfejlesztők az egyes felhasználók vagy csoportok engedélyezése helyett szerepköröket határoznak meg. A rendszergazdák ezután szerepköröket rendelhetnek különböző felhasználókhoz és csoportokhoz, így szabályozhatják, hogy ki férhet hozzá a tartalomhoz és a funkciókhoz.
Az RBAC segítségével az alkalmazásfejlesztők kezelhetik az erőforrásokat és azok használatát. Az RBAC lehetővé teszi, hogy az alkalmazásfejlesztők szabályozni tudják az alkalmazások azon területeit, amelyekhez a felhasználók hozzáférhetnek. Rendszergazda istratorok szabályozhatják, hogy mely felhasználók férhetnek hozzá egy alkalmazáshoz a Felhasználó-hozzárendelés szükséges tulajdonsága. A fejlesztőknek figyelembe kell vennie az alkalmazás adott felhasználóit, és hogy mit tehetnek a felhasználók az alkalmazásban.
Az alkalmazásfejlesztő először létrehoz egy szerepkördefiníciót az alkalmazás regisztrációs szakaszában a Microsoft Entra felügyeleti központban. A szerepkördefiníció olyan értéket tartalmaz, amelyet az adott szerepkörhöz rendelt felhasználók kapnak vissza. A fejlesztők ezt az értéket használhatják az alkalmazáslogika implementálásához annak meghatározásához, hogy ezek a felhasználók mit tehetnek vagy mit nem tehetnek egy alkalmazásban.
RBAC-beállítások
A szerepköralapú hozzáférés-vezérlés engedélyezésének alkalmazásba való felvételekor a következő útmutatást kell alkalmazni:
- Határozza meg az alkalmazás engedélyezési igényeihez szükséges szerepköröket.
- A hitelesített felhasználók vonatkozó szerepköreinek alkalmazása, tárolása és lekérése.
- Határozza meg az alkalmazás viselkedését az aktuális felhasználóhoz rendelt szerepkörök alapján.
A szerepkörök definiálása után a Microsoft Identitásplatform számos különböző megoldást támogat, amelyek felhasználhatók a hitelesített felhasználók szerepköradatainak alkalmazására, tárolására és lekérésére. Ezek a megoldások magukban foglalják az alkalmazásszerepköröket, a Microsoft Entra-csoportokat és az egyéni adattárak használatát a felhasználói szerepkörök adataihoz.
A fejlesztők rugalmasan biztosíthatják saját megvalósításukat a szerepkör-hozzárendelések alkalmazásengedélyekként való értelmezéséhez. Az engedélyek értelmezése magában foglalhatja a köztes szoftver vagy az alkalmazások vagy a kapcsolódó kódtárak platformja által biztosított egyéb lehetőségek használatát. Az alkalmazások általában jogcímként kapják meg a felhasználói szerepkör adatait, majd ezek alapján döntenek a felhasználói engedélyekről.
Alkalmazásszerepkörök
A Microsoft Entra ID segítségével alkalmazásszerepköröket határozhat meg az alkalmazáshoz, és hozzárendelheti ezeket a szerepköröket a felhasználókhoz és más alkalmazásokhoz. A felhasználóhoz vagy alkalmazáshoz hozzárendelt szerepkörök határozzák meg az alkalmazás erőforrásaihoz és műveleteihez való hozzáférés szintjét.
Amikor a Microsoft Entra ID hozzáférési jogkivonatot ad ki egy hitelesített felhasználó vagy alkalmazás számára, az tartalmazza az entitáshoz (a felhasználóhoz vagy alkalmazáshoz) hozzárendelt szerepkörök nevét a hozzáférési jogkivonat jogcímében roles
. Egy olyan alkalmazás, mint egy webes API, amely megkapja a hozzáférési jogkivonatot egy kérésben, a jogcím értékei roles
alapján engedélyezési döntéseket hozhat.
Csoportok
A fejlesztők a Microsoft Entra-csoportokkal is implementálhatják az RBAC-t az alkalmazásaikban, ahol az adott csoportok felhasználójának tagságát szerepkör-tagságként értelmezik. Amikor egy szervezet csoportokat használ, a jogkivonat tartalmaz egy csoport jogcímet. A csoportjogcím megadja a bérlőn belüli felhasználó összes hozzárendelt csoportjának azonosítóit.
Fontos
A csoportok használatakor a fejlesztőknek tisztában kell lenniük a túlhasználati jogcím fogalmával. Alapértelmezés szerint, ha egy felhasználó a túllépési korlátnál nagyobb tag (SAML-jogkivonatok esetén 150, JWT-jogkivonatok esetén 200, implicit folyamat használata esetén 6), a Microsoft Entra-azonosító nem bocsát ki csoportigénylést a jogkivonatban. Ehelyett tartalmaz egy "túlhasználati jogcímet" a jogkivonatban, amely azt jelzi, hogy a jogkivonat felhasználójának le kell kérdeznie a Microsoft Graph API-t a felhasználó csoporttagságainak lekéréséhez. A túlhasználati jogcímek használatával kapcsolatos további információkért lásd : Jogcímek a hozzáférési jogkivonatokban. Csak olyan csoportokat lehet kibocsátani, amelyek egy alkalmazáshoz vannak rendelve, de a csoportalapú hozzárendeléshez a Microsoft Entra id P1 vagy P2 kiadása szükséges.
Egyéni adattár
Az alkalmazásszerepkörök és a csoportok egyaránt a Microsoft Entra könyvtárban tárolják a felhasználói hozzárendelésekkel kapcsolatos információkat. A fejlesztők számára elérhető felhasználói szerepkörök adatainak kezelésére egy másik lehetőség az, ha az adatokat egy egyéni adattár címtárán kívül kezeli. Például egy SQL-adatbázisban, az Azure Table Storage-ban vagy az Azure Cosmos DB for Tableben.
Az egyéni tárterület használatával a fejlesztők további testreszabást végezhetnek, és szabályozhatják a szerepkörök felhasználókhoz rendelését és azok megjelenítését. Az extra rugalmasság azonban nagyobb felelősséget is jelent. Jelenleg például nem áll rendelkezésre olyan mechanizmus, amely ezeket az információkat a Microsoft Entra-azonosítóból visszaadott jogkivonatokban szerepeltesse. Az alkalmazásoknak le kell kérniük a szerepköröket, ha a szerepkör-információk megmaradnak egy egyéni adattárban. A szerepkörök beolvasása általában az alkalmazás fejlesztéséhez használt platform számára elérhető köztes szoftverben meghatározott bővíthetőségi pontok használatával történik. A fejlesztők felelősek az egyéni adattár megfelelő védelméért.
Az Azure AD B2C egyéni szabályzataival kezelheti az egyéni adattárakat, és belefoglalhat egyéni jogcímeket egy jogkivonatba.
Megközelítés kiválasztása
Általában az alkalmazásszerepkörök a javasolt megoldás. Az alkalmazásszerepkörök a legegyszerűbb programozási modellt biztosítják, és RBAC-implementációkhoz készültek. Bizonyos alkalmazáskövetelmények azonban azt jelezhetik, hogy egy másik megközelítés jobb megoldás lenne.
A fejlesztők alkalmazásszerepkörök használatával szabályozhatják, hogy egy felhasználó bejelentkezhet-e egy alkalmazásba, vagy egy alkalmazás beszerezhet egy hozzáférési jogkivonatot egy webes API-hoz. A fejlesztők előnyben részesítik az alkalmazásszerepköröket a Microsoft Entra-csoportokkal szemben, amikor le szeretnék írni és szabályozni az alkalmazások engedélyezési paramétereit. Egy alkalmazás például csoportokat használ az engedélyezési szünetekhez a következő bérlőben, mivel a csoportazonosító és a név is eltérő lehet. Az alkalmazásszerepköröket használó alkalmazások biztonságosak maradnak.
Bár az alkalmazásszerepkörök vagy csoportok használhatók az engedélyezéshez, a köztük lévő fő különbségek befolyásolhatják, hogy melyik a legjobb megoldás egy adott forgatókönyvhöz.
Alkalmazás-szerepkörök | Microsoft Entra-csoportok | Egyéni adattár | |
---|---|---|---|
Programozási modell | A legegyszerűbb. Ezek egy alkalmazásra vonatkoznak, és az alkalmazásregisztrációban vannak definiálva. Az alkalmazással együtt mozognak. | Összetettebb. A csoportazonosítók bérlőnként eltérőek, és előfordulhat, hogy a túlhasználati jogcímeket figyelembe kell venni. A csoportok nem egy alkalmazásra, hanem egy Microsoft Entra-bérlőre vonatkoznak. | A legösszetettebb. A fejlesztőknek olyan eszközöket kell implementálniuk, amelyekkel a szerepkör-információk tárolása és lekérése egyaránt történik. |
A szerepkörértékek statikusak a Microsoft Entra-bérlők között | Igen | Nem | A megvalósítástól függ. |
A szerepkörértékek több alkalmazásban is használhatók | Nem (Kivéve, ha a szerepkörkonfiguráció duplikálva van az egyes alkalmazásregisztrációkban.) | Igen | Igen |
A címtárban tárolt információk | Igen | Igen | Nem |
Az információk jogkivonatokon keresztül érkeznek | Igen (szerepkör-jogcím) | Igen (Túlhasználat esetén előfordulhat, hogy a csoportok jogcímeit futásidőben kell lekérni) | Nem (Futásidőben, egyéni kóddal kérhető le.) |
Életre | A címtárban található alkalmazásregisztrációban él. Az alkalmazásregisztráció eltávolításakor törlődik. | Könyvtárban él. Akkor is érintetlen marad, ha az alkalmazásregisztráció el lett távolítva. | Egyéni adattárban él. Nincs az alkalmazásregisztrációhoz kötve. |
Következő lépések
- Az Azure-beli identitáskezelés és hozzáférés-vezérlés ajánlott biztonsági eljárásai
- A jogkivonat-jogcímek használatával történő megfelelő engedélyezésről további információt a jogcímek érvényesítésével kapcsolatos biztonságos alkalmazások és API-k című témakörben talál .