A csak alkalmazáshoz való hozzáférés ismertetése

Amikor egy alkalmazás közvetlenül hozzáfér egy erőforráshoz, például a Microsoft Graphhoz, a hozzáférése nem korlátozódik egyetlen felhasználó számára elérhető fájlokra vagy műveletekre. Az alkalmazás közvetlenül a saját identitásával hívja meg az API-kat, és egy rendszergazdai jogosultsággal rendelkező felhasználónak vagy alkalmazásnak engedélyeznie kell az erőforrások elérését. Ez a forgatókönyv csak alkalmazáshoz való hozzáférés.

Mikor érdemes csak alkalmazásalapú hozzáférést használni?

A legtöbb esetben a csak alkalmazásalapú hozzáférés szélesebb körű és hatékonyabb, mint a delegált hozzáférés, ezért csak akkor érdemes csak alkalmazásalapú hozzáférést használni, ha szükséges. Ez általában a megfelelő választás, ha:

  • Az alkalmazásnak automatikusan, felhasználói bevitel nélkül kell futnia. Például egy napi szkript, amely ellenőrzi bizonyos partnerek e-mailjeit, és automatikus válaszokat küld.
  • Az alkalmazásnak több különböző felhasználóhoz tartozó erőforrásokhoz kell hozzáférnie. Előfordulhat például, hogy egy biztonsági mentési vagy adatveszteség-megelőzési alkalmazásnak több különböző csevegőcsatornából kell lekérnie az üzeneteket, mindegyikben különböző résztvevőkkel.
  • Azt tapasztalja, hogy a hitelesítő adatokat helyileg szeretné tárolni, és engedélyeznie kell az alkalmazásnak, hogy "másként" jelentkezzen be a felhasználó vagy a rendszergazda számára.

Ezzel szemben soha ne használjon csak alkalmazásalapú hozzáférést, ahol a felhasználók általában bejelentkeznek a saját erőforrásaik kezeléséhez. Az ilyen típusú forgatókönyveknek delegált hozzáféréssel kell rendelkezniük ahhoz, hogy a legkevésbé kiemeltek legyenek.

Diagram shows illustration of application permissions vs delegated permissions.

Alkalmazás engedélyezése csak alkalmazáshívások indításához

Csak alkalmazásalapú hívások indításához az ügyfélalkalmazást kell hozzárendelnie a megfelelő alkalmazásszerepkörökhöz. Az alkalmazásszerepköröket csak alkalmazásengedélynek is nevezik. Ezek azért alkalmazásszerepkörök , mert csak a szerepkört meghatározó erőforrásalkalmazás kontextusában biztosítanak hozzáférést.

Ha például egy szervezeten belül létrehozott összes csapat listáját szeretné elolvasni, hozzá kell rendelnie az alkalmazást a Microsoft Graph Team.ReadBasic.All alkalmazásszerepköréhez. Ez az alkalmazásszerepkör lehetővé teszi az adatok olvasását, amikor a Microsoft Graph az erőforrásalkalmazás. Ez a hozzárendelés nem rendeli hozzá az ügyfélalkalmazást olyan Teams-szerepkörhöz, amely lehetővé teszi az adatok más szolgáltatásokon keresztüli megtekintését.

Fejlesztőként konfigurálnia kell az összes szükséges csak alkalmazásengedélyt, más néven alkalmazásszerepkört az alkalmazásregisztrációban. Az alkalmazás kért csak alkalmazásengedélyeit az Azure Portalon vagy a Microsoft Graphon konfigurálhatja. A csak alkalmazásalapú hozzáférés nem támogatja a dinamikus hozzájárulást, így futásidőben nem kérhet egyéni engedélyeket vagy engedélykészleteket.

Miután konfigurálta az alkalmazáshoz szükséges összes engedélyt, rendszergazdai hozzájárulást kell kérnie ahhoz, hogy hozzáférjen az erőforrásokhoz. Például csak a globális rendszergazdai szerepkörrel rendelkező felhasználók adhatnak csak alkalmazásengedélyeket (alkalmazásszerepköröket) a Microsoft Graph API-hoz. Más rendszergazdai szerepkörökkel ( például alkalmazásadminisztrátor és felhőalkalmazás-rendszergazda) rendelkező felhasználók csak alkalmazásengedélyeket adhatnak más erőforrásokhoz.

Rendszergazda felhasználók csak alkalmazásengedélyeket adhatnak az Azure Portalon, vagy a Microsoft Graph API-n keresztül programozott módon hozhatnak létre támogatásokat. Az alkalmazáson belül is kérhet interaktív hozzájárulást, de ez a lehetőség nem előnyös, mivel a csak alkalmazáshoz való hozzáféréshez nincs szükség felhasználóra.

A Microsoft-fiókokkal( például Outlook.com vagy Xbox Live-fiókokkal) rendelkező felhasználói soha nem engedélyezhetik a csak alkalmazáshoz való hozzáférést. Mindig kövesse a minimális jogosultság elvét: soha ne kérjen olyan alkalmazásszerepköröket, amelyekre az alkalmazásnak nincs szüksége. Ez az alapelv segít korlátozni a biztonsági kockázatot, ha az alkalmazás biztonsága sérül, és megkönnyíti a rendszergazdák számára az alkalmazás hozzáférésének biztosítását. Ha például csak az alkalmazásnak kell azonosítania a felhasználókat anélkül, hogy elolvassa a részletes profiladataikat, a korlátozottabb Microsoft Graph-alkalmazásszerepkört User.ReadBasic.All kell kérnie helyett User.Read.All.

Alkalmazásszerepkörök tervezése és közzététele erőforrás-szolgáltatáshoz

Ha olyan szolgáltatást hoz létre a Microsoft Entra-azonosítón, amely api-kat tesz elérhetővé más ügyfelek számára, akkor érdemes lehet támogatnia az alkalmazásszerepkörökkel (csak alkalmazásengedélyekkel) való automatizált hozzáférést. Az alkalmazás alkalmazásszerepköreit az alkalmazásregisztráció Alkalmazásszerepkörök szakaszában határozhatja meg a Microsoft Entra Felügyeleti központban. Az alkalmazásszerepkörök létrehozásáról további információt az alkalmazások szerepköreinek deklarálása című témakörben talál.

Amikor mások számára is kiosztja az alkalmazásszerepköröket, adja meg a forgatókönyv egyértelmű leírását annak a rendszergazdának, aki hozzárendeli őket. Az alkalmazásszerepköröknek általában a lehető legszűkebbnek kell lenniük, és támogatniuk kell bizonyos funkcionális forgatókönyveket, mivel a csak alkalmazáshoz való hozzáférést nem korlátozzák a felhasználói jogosultságok. Ne adjon ki egyetlen szerepkört, amely teljes read vagy teljes read/write hozzáférést biztosít a szolgáltatás által tartalmazott összes API-hoz és erőforráshoz.

Feljegyzés

Az alkalmazásszerepkörök (csak alkalmazásengedélyek) konfigurálhatók úgy is, hogy támogassák a felhasználókhoz és csoportokhoz való hozzárendelést. Győződjön meg arról, hogy az alkalmazásszerepköröket megfelelően konfigurálja a kívánt hozzáférési forgatókönyvhöz. Ha azt szeretné, hogy az API alkalmazásszerepkörei csak alkalmazáshozzáféréshez legyenek használva, az alkalmazásszerepkörök létrehozásakor válassza ki az alkalmazásokat az egyetlen engedélyezett tagtípusként.

Hogyan működik az alkalmazás-csak hozzáférés?

A csak alkalmazáshoz való hozzáféréssel kapcsolatban a legfontosabb, hogy a hívó alkalmazás a saját nevében és saját identitásaként járjon el. Nincs felhasználói beavatkozás. Ha az alkalmazás egy erőforrás adott alkalmazásszerepköréhez lett hozzárendelve, akkor az alkalmazás teljes mértékben korlátlan hozzáféréssel rendelkezik az adott alkalmazásszerepkör által szabályozott összes erőforráshoz és művelethez.

Miután egy alkalmazás egy vagy több alkalmazásszerepkörhöz (csak alkalmazásengedélyekhez) lett hozzárendelve, az ügyfél hitelesítő adatainak folyamatával vagy bármely más támogatott hitelesítési folyamattal kérhet csak alkalmazásjogkivonatot a Microsoft Entra-azonosítótól. A hozzárendelt szerepkörök hozzá lesznek adva az roles alkalmazás hozzáférési jogkivonatának jogcíméhez.

Bizonyos esetekben az alkalmazás identitása meghatározhatja, hogy a hozzáférés biztosított-e, hasonlóan a delegált hívások felhasználói jogosultságaihoz. Az alkalmazásszerepkör például Application.ReadWrite.OwnedBy lehetővé teszi az alkalmazás számára az alkalmazás tulajdonában lévő szolgáltatásnevek kezelését.

Csak alkalmazásra vonatkozó hozzáférési példa – Automatikus e-mail-értesítés a Microsoft Graphon keresztül

Az alábbi példa egy reális automatizálási forgatókönyvet mutat be.

Alice minden alkalommal e-mailben szeretne értesíteni egy csapatot, amikor a Windows-fájlmegosztásban található részlegjelentési mappa regisztrál egy új dokumentumot. Alice létrehoz egy ütemezett feladatot, amely PowerShell-szkriptet futtat a mappa vizsgálatához és új fájlok kereséséhez. A szkript ezután e-mailt küld egy erőforrás API, a Microsoft Graph által védett postaláda használatával.

A szkript felhasználói beavatkozás nélkül fut, ezért az engedélyezési rendszer csak az alkalmazás engedélyezését ellenőrzi. Az Exchange Online ellenőrzi, hogy a hívást kezdeményező ügyfél megkapta-e a rendszergazda által az alkalmazásengedélyt (alkalmazásszerepkört). Mail.Send Ha Mail.Send nincs megadva az alkalmazásnak, akkor az Exchange Online meghiúsul a kérésben.

POST /users/{id}/{userPrincipalName}/sendMail Az ügyfélalkalmazás megkapta a Mail.Send elemet Az ügyfélalkalmazás nem adta meg a Mail.Send elemet
A szkript Alice postaládáját használja az e-mailek küldéséhez. 200 – Hozzáférés biztosított. Rendszergazda lehetővé tette, hogy az alkalmazás bármilyen felhasználóként küldjön e-mailt. 403 - Jogosulatlan. Rendszergazda nem engedélyezte az ügyfélnek az e-mailek küldését.
A szkript egy dedikált postaládát hoz létre az e-mailek küldéséhez. 200 – Hozzáférés biztosított. Rendszergazda lehetővé tette, hogy az alkalmazás bármilyen felhasználóként küldjön e-mailt. 403 - Jogosulatlan. Rendszergazda nem engedélyezte az ügyfélnek az e-mailek küldését.

A megadott példa az alkalmazás-engedélyezés egyszerű illusztrációja. Az éles Exchange Online szolgáltatás számos más hozzáférési forgatókönyvet támogat, például az alkalmazásengedélyek adott Exchange Online-postaládákra való korlátozását.

Következő lépések