Add app roles to your application and receive them in the token

A szerepköralapú hozzáférés-vezérlés (RBAC) egy népszerű mechanizmus az alkalmazásokban való engedélyezés kikényszerítésére. Az RBAC lehetővé teszi a rendszergazdák számára, hogy engedélyeket adjanak a szerepköröknek, nem pedig adott felhasználóknak vagy csoportoknak. A rendszergazda ezután szerepköröket rendelhet különböző felhasználókhoz és csoportokhoz, így szabályozhatja, hogy ki férhet hozzá a tartalomhoz és a funkciókhoz.

Az RBAC alkalmazásszerepkörrel és szerepkör-jogcímekkel való használatával a fejlesztők kevesebb erőfeszítéssel biztonságosan kényszeríthetik ki az engedélyezést az alkalmazásaikban.

Egy másik módszer a Microsoft Entra-csoportok és -csoportok jogcímeinek használata, ahogyan az active-directory-aspnetcore-webapp-openidconnect-v2 kódmintában látható a GitHubon. A Microsoft Entra-csoportok és alkalmazásszerepkörök nem zárják ki egymást; ezek együttes használatával még finomabb hozzáférés-vezérlést biztosíthatnak.

Szerepkörök deklarálása egy alkalmazáshoz

Az alkalmazásszerepkörök meghatározásához használja a Microsoft Entra Felügyeleti központot az alkalmazásregisztrációs folyamat során. Az alkalmazásszerepkörök szolgáltatás, alkalmazás vagy API-t képviselő alkalmazásregisztráción vannak definiálva. Amikor egy felhasználó bejelentkezik az alkalmazásba, a Microsoft Entra-azonosító minden olyan szerepkörre vonatkozó jogcímet bocsát ki roles , amelyet a felhasználó vagy a szolgáltatásnév kapott. Ez a jogcímalapú engedélyezés megvalósításához használható. Az alkalmazásszerepkörök hozzárendelhetők egy felhasználóhoz vagy egy felhasználói csoporthoz. Az alkalmazásszerepkörök hozzárendelhetők egy másik alkalmazás szolgáltatásnévéhez vagy egy felügyelt identitás szolgáltatásnévéhez is.

Jelenleg, ha egy szolgáltatásnevet ad hozzá egy csoporthoz, majd hozzárendel egy alkalmazásszerepkört a csoporthoz, a Microsoft Entra-azonosító nem adja hozzá a jogcímet a roles problémás jogkivonatokhoz.

Az alkalmazásszerepkörök az Alkalmazásszerepkörök felhasználói felületén vannak deklarálva a Microsoft Entra Felügyeleti központban:

A Microsoft Entra ID által kikényszerített alkalmazásjegyzék-korlátokhoz hozzáadott szerepkörök száma. Ezekről a korlátokról a Microsoft Entra alkalmazásjegyzék-referenciájának Jegyzékkorlátok szakaszában olvashat.

Alkalmazásszerepkörök felhasználói felülete

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

Alkalmazásszerepkör létrehozása a Microsoft Entra felügyeleti központ felhasználói felületén:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.

  2. Ha több bérlőhöz is hozzáfér, a felső menüben található Gépház ikonnalválthat arra a bérlőre, amely tartalmazza az alkalmazásregisztrációt a Könyvtárak + előfizetések menüből.

  3. Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk majd válassza ki azt az alkalmazást, amelyben alkalmazásszerepköröket szeretne definiálni.

  4. A Kezelés csoportban válassza az Alkalmazásszerepkörök lehetőséget, majd válassza az Alkalmazásszerepkör létrehozása lehetőséget.

    An app registration's app roles pane in the Azure portal

  5. In the Create app role pane, enter the settings for the role. A rendszerképet követő táblázat az egyes beállításokat és azok paramétereit ismerteti.

    An app registration's app roles create context pane in the Azure portal

    Mező Description Példa
    Megjelenített név Megjelenítheti a rendszergazdai hozzájárulásban és az alkalmazás-hozzárendelési szolgáltatásokban megjelenő alkalmazásszerepkör nevét. Ez az érték szóközöket tartalmazhat. Survey Writer
    Engedélyezett tagtípusok Megadja, hogy ez az alkalmazásszerepkör hozzárendelhető-e felhasználókhoz, alkalmazásokhoz vagy mindkettőhöz.

    Ha elérhető, applicationsaz alkalmazásszerepkörök alkalmazásengedélyekként jelennek meg az alkalmazásregisztráció Kezelés szakasz> API-engedélyeiben>: Engedély hozzáadása Saját > API-k Api-alkalmazásengedélyek >>kiválasztása.
    Users/Groups
    Érték Megadja annak a szerepkör-jogcímnek az értékét, amelyet az alkalmazásnak elvárnia kell a jogkivonatban. Az értéknek pontosan meg kell egyeznie az alkalmazás kódjában hivatkozott sztringgel. Az érték nem tartalmazhat szóközöket. Survey.Create
    Ismertetés Az alkalmazásszerepkör részletesebb leírása, amely a rendszergazdai alkalmazás-hozzárendelés és a hozzájárulási élmény során jelenik meg. Writers can create surveys.
    Engedélyezi ezt az alkalmazásszerepkört? Megadja, hogy az alkalmazásszerepkör engedélyezve van-e. Alkalmazásszerepkör törléséhez törölje ezt a jelölőnégyzetet, és alkalmazza a módosítást a törlési művelet megkísérlése előtt. Ez a beállítás szabályozza az alkalmazásszerepkör használatát és rendelkezésre állását, miközben ideiglenesen vagy véglegesen letilthatja anélkül, hogy teljesen eltávolítaná. Ellenőrizni
  6. Select Apply to save your changes.

Ha az alkalmazásszerepkör engedélyezve van, a hozzárendelt felhasználók, alkalmazások vagy csoportok belefoglalják a jogkivonataikba. Ezek hozzáférési jogkivonatok lehetnek, ha az alkalmazás egy alkalmazás vagy egy azonosító jogkivonat által meghívott API-t hív meg, amikor az alkalmazás bejelentkezik egy felhasználóba. Ha le van tiltva, inaktívvá válik, és többé nem rendelhető hozzá. A korábbi hozzárendelések továbbra is tartalmazzák az alkalmazásszerepkört a jogkivonataikban, de nincs hatása, mivel az már nem rendelhető hozzá aktívan.

Alkalmazástulajdonos hozzárendelése

Ha még nem tette meg, saját magát kell hozzárendelnie az alkalmazás tulajdonosaként.

  1. Az alkalmazásregisztrációban a Kezelés területen válassza a Tulajdonosok és a Tulajdonosok hozzáadása lehetőséget.
  2. Az új ablakban keresse meg és válassza ki az alkalmazáshoz hozzárendelni kívánt tulajdonos(ok)t. A kijelölt tulajdonosok a jobb oldali panelen jelennek meg. Ha végzett, erősítse meg a Kiválasztás lehetőséget. Az alkalmazástulajdonos(ok) ekkor megjelennek a tulajdonos listájában.

Megjegyzés:

Győződjön meg arról, hogy mind az API-alkalmazás, mind a hozzáadni kívánt alkalmazás rendelkezik tulajdonossal, ellenkező esetben az API nem jelenik meg az API-engedélyek kérésekor.

Alkalmazásszerepkörök hozzárendelése alkalmazásokhoz

Miután hozzáadott alkalmazásszerepköröket az alkalmazásban, hozzárendelhet egy alkalmazásszerepkört egy ügyfélalkalmazáshoz a Microsoft Entra felügyeleti központ használatával vagy programozott módon a Microsoft Graph használatával. Ez nem tévesztendő össze a szerepkörök felhasználókhoz való hozzárendelésével.

Amikor alkalmazásszerepköröket rendel egy alkalmazáshoz, alkalmazásengedélyeket hoz létre. Application permissions are typically used by daemon apps or back-end services that need to authenticate and make authorized API call as themselves, without the interaction of a user.

Alkalmazásszerepkörök hozzárendelése egy alkalmazáshoz a Microsoft Entra felügyeleti központ használatával:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.
  2. Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk majd válassza a Minden alkalmazás lehetőséget.
  3. Select All applications to view a list of all your applications. If your application doesn't appear in the list, use the filters at the top of the All applications list to restrict the list, or scroll down the list to locate your application.
  4. Válassza ki azt az alkalmazást, amelyhez alkalmazásszerepkört szeretne hozzárendelni.
  5. API-engedélyek>kiválasztása Engedély hozzáadása.
  6. Válassza a Saját API-k lapot, majd válassza ki azt az alkalmazást, amelyhez alkalmazásszerepköröket definiált.
  7. Az Engedély csoportban válassza ki a hozzárendelni kívánt szerepkör(ek)et.
  8. Válassza az Engedélyek hozzáadása gombot a szerepkör(ek) teljes hozzáadásához.

Az újonnan hozzáadott szerepköröknek meg kell jelennie az alkalmazásregisztráció API-engedélyek paneljén.

Because these are application permissions, not delegated permissions, an admin must grant consent to use the app roles assigned to the application.

  1. Az alkalmazásregisztráció API-engedélyek paneljén válassza a bérlő nevének> rendszergazdai hozzájárulásának <megadása lehetőséget.
  2. Válassza az Igen lehetőséget, amikor a rendszer a kért engedélyekhez való hozzájárulás megadását kéri.

Az Állapot oszlopnak azt kell tükröznie, hogy a bérlő nevének> megadása megtörtént<.

Alkalmazásszerepkörök használati forgatókönyve

Ha olyan alkalmazásszerepkör-üzleti logikát implementál, amely bejelentkezik a felhasználókba az alkalmazásforgatókönyvben, először határozza meg az alkalmazásszerepköröket a Alkalmazásregisztrációk. Ezután egy rendszergazda hozzárendeli őket a Vállalati alkalmazások panelen lévő felhasználókhoz és csoportokhoz. Ezek a hozzárendelt alkalmazásszerepkörök az alkalmazáshoz kiadott jogkivonatok részét képezik.

If you're implementing app role business logic in an app-calling-API scenario, you have two app registrations. Az egyik alkalmazásregisztráció az alkalmazásra, a második pedig az API-ra való regisztráció. In this case, define the app roles and assign them to the user or group in the app registration of the API. When the user authenticates with the app and requests an access token to call the API, a roles claim is included in the token. A következő lépés az, hogy kódot ad hozzá a webes API-hoz, hogy ellenőrizze ezeket a szerepköröket az API meghívásakor.

Ha meg szeretné tudni, hogyan adhat hozzá engedélyezést a webes API-hoz, olvassa el a Védett webes API: Hatókörök és alkalmazásszerepkörök ellenőrzése című témakört.

Alkalmazásszerepkörök és csoportok

Bár alkalmazásszerepköröket vagy csoportokat is használhat az engedélyezéshez, a közöttük fennálló fő különbségek befolyásolhatják, hogy melyiket szeretné használni a forgatókönyvéhez.

Alkalmazásszerepkörök Groups
Ezek egy alkalmazásra vonatkoznak, és az alkalmazásregisztrációban vannak definiálva. Az alkalmazással együtt mozognak. Ezek nem egy alkalmazásra, hanem egy Microsoft Entra-bérlőre vonatkoznak.
Az alkalmazásszerepkörök az alkalmazásregisztráció eltávolításakor törlődnek. A csoportok akkor is érintetlenek maradnak, ha az alkalmazás el lett távolítva.
A jogcímben megadva roles . A jogcímben megadva groups .

A fejlesztők az alkalmazási szerepkörök segítségével szabályozhatják, hogy a felhasználó bejelentkezhet-e egy alkalmazásba, vagy hogy egy alkalmazás kaphat-e hozzáférési jogkivonatot egy webes API-hoz. Ezen biztonsági szabályozás csoportokra való kiterjesztéséhez a fejlesztők és a rendszergazdák biztonsági csoportokat is hozzárendelhetnek az alkalmazás-szerepkörökhöz.

App roles are preferred by developers when they want to describe and control the parameters of authorization in their app themselves. A csoportokat engedélyezési célokra használó alkalmazások például a következő bérlőben fognak megtörni, mivel a csoportazonosító és a név is eltérő lehet. Az alkalmazásszerepköröket használó alkalmazások biztonságosak maradnak. Valójában a csoportok alkalmazásszerepkörökhöz való hozzárendelése az SaaS-alkalmazásokban is népszerű, mivel lehetővé teszi, hogy az SaaS-alkalmazás több bérlőben legyen kiépítve.

Felhasználók és csoportok hozzárendelése Microsoft Entra-szerepkörökhöz

Miután hozzáadott alkalmazásszerepköröket az alkalmazásban, felhasználókat és csoportokat rendelhet a Microsoft Entra-szerepkörökhöz. A felhasználók és csoportok szerepkörökhöz való hozzárendelése a portál felhasználói felületén vagy a Microsoft Graph programozott módon végezhető el. Amikor a különböző szerepkörökhöz rendelt felhasználók bejelentkeznek az alkalmazásba, a jogkivonataikhoz hozzárendelt szerepkörök lesznek a roles jogcímben.

Felhasználók és csoportok szerepkörökhöz rendelése a Microsoft Entra felügyeleti központ használatával:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhőalkalmazásként Rendszergazda istratorként.
  2. Ha több bérlőhöz is hozzáfér, a felső menüben található Gépház ikonnalválthat arra a bérlőre, amely tartalmazza az alkalmazásregisztrációt a Könyvtárak + előfizetések menüből.
  3. Keresse meg az Identity>Applications>Enterprise-alkalmazásokat.
  4. Select All applications to view a list of all your applications. If your application doesn't appear in the list, use the filters at the top of the All applications list to restrict the list, or scroll down the list to locate your application.
  5. Select the application in which you want to assign users or security group to roles.
  6. Under Manage, select Users and groups.
  7. Select Add user to open the Add Assignment pane.
  8. Select the Users and groups selector from the Add Assignment pane. A list of users and security groups is displayed. You can search for a certain user or group and select multiple users and groups that appear in the list.
  9. Once you've selected users and groups, select the Select button to proceed.
  10. Select Select a role in the Add assignment pane. All the roles that you've defined for the application are displayed.
  11. Choose a role and select the Select button.
  12. Select the Assign button to finish the assignment of users and groups to the app.

Győződjön meg arról, hogy a hozzáadott felhasználók és csoportok megjelennek a Felhasználók és csoportok listában.

További lépések

További információ az alkalmazásszerepkörökről az alábbi erőforrásokkal.