Szerepköralapú hozzáférés-vezérlés implementálása
A szerepköralapú hozzáférés-vezérlés (RBAC) lehetővé teszi, hogy a felhasználók vagy csoportok meghatározott engedélyekkel rendelkezzenek az erőforrások eléréséhez és kezeléséhez. Az RBAC erőforrás védelmére való implementálása általában magában foglalja a webalkalmazások, az egyoldalas alkalmazások (SPA) vagy az API védelmét. Ez a védelem a teljes alkalmazásra vagy API-ra, adott területekre és funkciókra vagy API-metódusokra vonatkozhat. Az engedélyezés alapjairól további információt az engedélyezés alapjai című témakörben talál.
Amint azt az alkalmazásfejlesztők szerepköralapú hozzáférés-vezérlése ismerteti, az RBAC három módon implementálható a Microsoft Identitásplatform:
- Alkalmazásszerepkörök – Alkalmazásszerepkörök funkció használata az alkalmazásban a logikával a bejövő alkalmazásszerepkör-hozzárendelések értelmezéséhez.
- Csoportok – egy bejövő identitás csoporthozzárendeléseinek használata az alkalmazás logikájának használatával a csoporthozzárendelések értelmezéséhez.
- Egyéni adattár – szerepkör-hozzárendelések lekérése és értelmezése az alkalmazásban lévő logikával.
Az előnyben részesített módszer az alkalmazásszerepkörök használata, mivel ez a legegyszerűbben implementálandó. Ezt a megközelítést közvetlenül a Microsoft Identitásplatform használó alkalmazások készítéséhez használt SDK-k támogatják. A megközelítés kiválasztásáról további információt a Megközelítés kiválasztása című témakörben talál.
Alkalmazásszerepkörök definiálása
Az RBAC alkalmazáshoz való implementálásának első lépése az alkalmazás szerepköreinek meghatározása, valamint a felhasználók vagy csoportok hozzárendelése. Ez a folyamat a Hogyan: Alkalmazásszerepkörök hozzáadása az alkalmazáshoz és azok fogadása a jogkivonatban című témakörben található. Miután meghatározta az alkalmazásszerepköröket, és felhasználókat vagy csoportokat rendelt hozzájuk, hozzáférhet az alkalmazásba érkező jogkivonatokban lévő szerepkör-hozzárendelésekhez, és ennek megfelelően kell eljárnia rajtuk.
RBAC implementálása a ASP.NET Core-ban
ASP.NET Core támogatja az RBAC hozzáadását egy ASP.NET Core-webalkalmazáshoz vagy webes API-hoz. Az RBAC hozzáadása egyszerű végrehajtást tesz lehetővé a ASP.NET Core Authorize attribútummal végzett szerepkör-ellenőrzések használatával. A szabályzatalapú szerepkör-ellenőrzésekhez ASP.NET Core-támogatás is használható.
ASP.NET Core MVC-webalkalmazás
Az RBAC implementálása egy ASP.NET Core MVC-webalkalmazásban egyszerű. Ez elsősorban az Engedélyezés attribútum használatával határozza meg, hogy mely szerepkörök férhetnek hozzá a vezérlők adott vezérlőihez vagy műveleteihez. Kövesse az alábbi lépéseket az RBAC implementálásához egy ASP.NET Core MVC-alkalmazásban:
Alkalmazásregisztráció létrehozása alkalmazásszerepkörökkel és -hozzárendelésekkel a fenti Alkalmazásszerepkörök definiálása című témakörben leírtak szerint.
Tegye a következő lépések valamelyikét:
Hozzon létre egy új ASP.NET Core MVC-webalkalmazás-projektet a dotnet cli használatával. Adja meg a
--auth
jelölőt egy bérlős vagyMultiOrg
több-bérlős hitelesítés esetén, a--client-id
jelölőtSingleOrg
az ügyféllel, ha az alkalmazásregisztrációból, és a--tenant-id
bérlőhöz tartozó jelzőt, ha a Microsoft Entra-bérlőről:dotnet new mvc --auth SingleOrg --client-id <YOUR-APPLICATION-CLIENT-ID> --tenant-id <TENANT-ID>
Adja hozzá a Microsoft.Identity.Web és a Microsoft.Identity.Web.UI kódtárakat egy meglévő ASP.NET Core MVC-projekthez:
dotnet add package Microsoft.Identity.Web dotnet add package Microsoft.Identity.Web.UI
Kövesse a rövid útmutatóban megadott utasításokat: Bejelentkezés hozzáadása a Microsofttal egy ASP.NET Core-webalkalmazáshoz hitelesítés hozzáadásához az alkalmazáshoz.
Szerepkör-ellenőrzések hozzáadása a vezérlőműveletekhez a Szerepkör-ellenőrzések hozzáadása című témakörben leírtak szerint.
Tesztelje az alkalmazást a védett MVC-útvonalak egyikének elérésével.
ASP.NET Core webes API
Az RBAC implementálása egy ASP.NET Core webes API-ban elsősorban az Engedélyezés attribútum használatával határozza meg, hogy mely szerepkörök férhetnek hozzá a vezérlők bizonyos vezérlőihez vagy műveleteihez. Kövesse az alábbi lépéseket az RBAC implementálásához a ASP.NET Core webes API-ban:
Alkalmazásregisztráció létrehozása alkalmazásszerepkörökkel és -hozzárendelésekkel a fenti Alkalmazásszerepkörök definiálása című témakörben leírtak szerint.
Tegye a következő lépések valamelyikét:
Hozzon létre egy új ASP.NET Core MVC webes API-projektet a dotnet cli használatával. Adja meg a
--auth
jelölőt egy bérlős vagyMultiOrg
több-bérlős hitelesítés esetén, a--client-id
jelölőtSingleOrg
az ügyféllel, ha az alkalmazásregisztrációból, és a--tenant-id
bérlőhöz tartozó jelzőt, ha a Microsoft Entra-bérlőről:dotnet new webapi --auth SingleOrg --client-id <YOUR-APPLICATION-CLIENT-ID> --tenant-id <TENANT-ID>
Adja hozzá a Microsoft.Identity.Web és Swashbuckle.AspNetCore kódtárakat egy meglévő ASP.NET Core webes API-projekthez:
dotnet add package Microsoft.Identity.Web dotnet add package Swashbuckle.AspNetCore
Kövesse a rövid útmutatóban megadott utasításokat: Bejelentkezés hozzáadása a Microsofttal egy ASP.NET Core-webalkalmazáshoz hitelesítés hozzáadásához az alkalmazáshoz.
Szerepkör-ellenőrzések hozzáadása a vezérlőműveletekhez a Szerepkör-ellenőrzések hozzáadása című témakörben leírtak szerint.
Hívja meg az API-t egy ügyfélalkalmazásból. Lásd: Angular egyoldalas alkalmazás, amely meghívja ASP.NET Core webes API-t, és alkalmazásszerepkörök használatával implementálja a szerepköralapú hozzáférés-vezérlést egy végpontok közötti minta létrehozásához.
RBAC implementálása más platformokon
Angular SPA a MsalGuard használatával
Az RBAC implementálása az Angular SPA-ban magában foglalja a Microsoft Authentication Library for Angular használatát az alkalmazáson belüli Angular-útvonalakhoz való hozzáférés engedélyezéséhez. Az Egyoldalas Angular-alkalmazás engedélyezése a felhasználók bejelentkezésére és api-k meghívására az Microsoft Identitásplatform mintával című témakörben látható példa.
Feljegyzés
Az ügyféloldali RBAC-implementációkat kiszolgálóoldali RBAC-vel kell párosítani, hogy az illetéktelen alkalmazások ne férhessenek hozzá a bizalmas erőforrásokhoz.
Node.js expressz alkalmazással
Az RBAC expressz alkalmazással rendelkező Node.js való implementálása magában foglalja az MSAL használatát az alkalmazásban található Express-útvonalakhoz való hozzáférés engedélyezéséhez. A Node.js webalkalmazás engedélyezése a felhasználók bejelentkeztetésére és api-k meghívására az Microsoft Identitásplatform mintával című témakörben látható.
Következő lépések
- További információ az engedélyekről és a hozzájárulásról a Microsoft Identitásplatform.
- További információ az alkalmazásfejlesztők szerepköralapú hozzáférés-vezérléséről.