A delegált hozzáférés ismertetése

Amikor egy felhasználó bejelentkezik egy alkalmazásba, és valamilyen más erőforráshoz, például a Microsoft Graphhoz való hozzáférésre használja, az alkalmazásnak először engedélyt kell kérnie az erőforrás eléréséhez a felhasználó nevében. Ezt a gyakori forgatókönyvet delegált hozzáférésnek nevezzük.

Miért érdemes delegált hozzáférést használni?

Kapcsolatok gyakran használnak különböző alkalmazásokat az adataik felhőszolgáltatásokból való eléréséhez. Előfordulhat például, hogy valaki egy kedvenc PDF-olvasó alkalmazással szeretné megtekinteni a OneDrive-on tárolt fájlokat. Egy másik példa lehet egy vállalat üzletági alkalmazása, amely lekérheti a munkatársaik megosztott adatait, így egyszerűen választhatnak véleményezőket egy kéréshez. Ilyen esetekben az ügyfélalkalmazást, a PDF-olvasót vagy a vállalat kérés-jóváhagyási eszközét engedélyezni kell az adatok elérésére az alkalmazásba bejelentkezett felhasználó nevében.

Használjon delegált hozzáférést, amikor azt szeretné, hogy egy bejelentkezett felhasználó a saját erőforrásaival vagy az általa elérhető erőforrásokkal dolgozzon. Függetlenül attól, hogy rendszergazda állítja be a teljes szervezetre vonatkozó házirendeket, vagy egy felhasználó töröl egy e-mailt a beérkezett üzenetek között, a felhasználói műveleteket érintő összes forgatókönyvnek delegált hozzáférést kell használnia.

Diagram shows illustration of delegated access scenario.

Ezzel szemben a delegált hozzáférés általában rossz választás olyan forgatókönyvek esetében, amelyeknek bejelentkezett felhasználó nélkül kell futniuk, például az automatizáláshoz. Emellett rossz választás lehet olyan forgatókönyvek esetében is, amelyek sok felhasználó erőforrásainak elérését foglalják magukban, például az adatveszteség-megelőzést vagy a biztonsági mentéseket. Érdemes lehet csak alkalmazásalapú hozzáférést használni az ilyen típusú műveletekhez.

Hatókörök kérése ügyfélalkalmazásként

Az alkalmazásnak meg kell kérnie a felhasználót, hogy adjon meg egy adott hatókört vagy hatókörkészletet a elérni kívánt erőforrás-alkalmazáshoz. A hatókörök delegált engedélyeknek is nevezhetők. Ezek a hatókörök azt írják le, hogy az alkalmazás mely erőforrásokat és műveleteket szeretné végrehajtani a felhasználó nevében. Ha például azt szeretné, hogy az alkalmazás megjelenítse a felhasználónak a nemrég fogadott e-mailek és csevegőüzenetek listáját, megkérheti a felhasználót, hogy járuljon hozzá a Microsoft Graphhoz Mail.Read és Chat.Read a hatókörökhöz.

Miután az alkalmazás hatókört kért, a felhasználónak vagy a rendszergazdának meg kell adnia a kért hozzáférést. A Microsoft-fiókokkal ( például Outlook.com vagy Xbox Live-fiókokkal) rendelkező fogyasztói felhasználók mindig adhatnak hatóköröket maguknak. A Microsoft Entra-fiókkal rendelkező szervezeti felhasználók a szervezet beállításaitól függően adhatnak vagy nem adhatnak meg hatóköröket. Ha egy szervezeti felhasználó nem tud közvetlenül hozzájárulni a hatókörökhöz, meg kell kérnie a szervezet rendszergazdáját, hogy járuljon hozzá hozzájuk.

Mindig kövesse a minimális jogosultság elvét: soha ne kérjen olyan hatókö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 az alkalmazásnak csak azokat a csevegéseket kell listáznia, amelyhez a felhasználó tartozik, de nem kell saját maga megjelenítenie a csevegőüzeneteket, akkor a microsoft graph-hatókört Chat.ReadBasic kell kérnie Chat.Readahelyett, hogy azt szeretné. Az openID-hatókörökről további információt az OpenID-hatókörök című témakörben talál.

Erőforrás-szolgáltatás hatóköreinek tervezése és közzététele

Ha API-t hoz létre, és engedélyezni szeretné a delegált hozzáférést a felhasználók nevében, olyan hatóköröket kell létrehoznia, amelyeket más alkalmazások kérhetnek. Ezeknek a hatóköröknek le kell írniuk az ügyfél számára elérhető műveleteket vagy erőforrásokat. A hatókörök tervezésekor érdemes megfontolni a fejlesztői forgatókönyveket.

Hogyan működik a delegált hozzáférés?

A delegált hozzáféréssel kapcsolatban a legfontosabb, hogy az ügyfélalkalmazást és a bejelentkezett felhasználót is megfelelően engedélyezni kell. A hatókör megadása nem elég. Ha az ügyfélalkalmazás nem rendelkezik a megfelelő hatókörrel, vagy a felhasználó nem rendelkezik megfelelő jogosultságokkal az erőforrás olvasásához vagy módosításához, a hívás sikertelen lesz.

  • Ügyfélalkalmazás-engedélyezés – Az ügyfélalkalmazások hatókörök megadásával vannak engedélyezve. Ha egy ügyfélalkalmazás hatókört kap egy felhasználó vagy rendszergazda számára egy erőforrás eléréséhez, a rendszer rögzíti ezt a támogatást a Microsoft Entra-azonosítóban. Az ügyfél által az erőforráshoz az érintett felhasználó nevében való hozzáférésre kért delegált hozzáférési jogkivonatok ezután tartalmazzák a hatókörök jogcímértékeit a scp jogcímben. Az erőforrásalkalmazás ellenőrzi ezt a jogcímet annak megállapításához, hogy az ügyfélalkalmazás megfelelő hatókört kapott-e a híváshoz.
  • Felhasználói engedélyezés – A felhasználókat a hívott erőforrás engedélyezi. Az erőforrás-alkalmazások egy vagy több rendszert használhatnak a felhasználói engedélyezéshez, például szerepköralapú hozzáférés-vezérlést, tulajdonosi/tagsági kapcsolatokat, hozzáférés-vezérlési listákat vagy egyéb ellenőrzéseket. A Microsoft Entra ID például ellenőrzi, hogy egy felhasználó hozzárendelve van-e egy alkalmazáskezelő vagy általános rendszergazdai szerepkörhöz, mielőtt lehetővé tenné számukra a szervezet alkalmazásainak törlését, de lehetővé teszi az összes felhasználó számára a saját alkalmazásainak törlését is. Hasonlóképpen, a SharePoint Online szolgáltatás ellenőrzi, hogy a felhasználó rendelkezik-e megfelelő tulajdonosi vagy olvasói jogosultságokkal egy fájl felett, mielőtt engedélyezi a felhasználónak a fájl megnyitását.

Delegált hozzáférési példa – OneDrive a Microsoft Graphon keresztül

Vegyük a következő példát:

Alice egy ügyfélalkalmazást szeretne használni egy erőforrás API, a Microsoft Graph által védett fájl megnyitásához. A felhasználói engedélyezéshez a OneDrive szolgáltatás ellenőrzi, hogy a fájl Alice meghajtóján van-e tárolva. Ha egy másik felhasználó meghajtóján van tárolva, akkor a OneDrive megtagadja Alice kérését jogosulatlanként, mivel Alice nem jogosult más felhasználók meghajtóinak olvasására.

Az ügyfélalkalmazás engedélyezéséhez a OneDrive ellenőrzi, hogy a hívást kezdeményező ügyfél megkapta-e a Files.Read hatókört a bejelentkezett felhasználó nevében. Ebben az esetben a bejelentkezett felhasználó Alice. Ha Files.Read még nem adták meg alice-nek az alkalmazást, a OneDrive is sikertelen lesz.

GET /drives/{id}/files/{id} Az ügyfélalkalmazás hatókört adott Files.Read Alice-nek Az ügyfélalkalmazás nem adott Files.Read hatókört Alice-nek
A dokumentum Alice OneDrive-ján található. 200 – Hozzáférés biztosított. 403 - Jogosulatlan. Alice (vagy a rendszergazdája) nem engedélyezte az ügyfélnek a fájljai olvasását.
A dokumentum egy másik felhasználó OneDrive-ján* található. 403 - Jogosulatlan. Alice-nek nincs joga elolvasni ezt a fájlt. Annak ellenére, hogy az ügyfél megkapta Files.Read , meg kell tagadni, amikor Alice nevében jár el. 403 – Jogosulatlan. Alice nem jogosult a fájl olvasására, és az ügyfél nem olvashat olyan fájlokat, amelyekhez hozzáféréssel rendelkezik.

A megadott példa leegyszerűsítve szemlélteti a delegált engedélyezést. Az éles OneDrive szolgáltatás számos más hozzáférési forgatókönyvet is támogat, például megosztott fájlokat.

Lásd még