Megosztás a következőn keresztül:


iOS-hez készült App SDK Intune – Webnézeti funkciók

Webes tartalom megjelenítése egy alkalmazásban

Az iOS-ben a webes nézetek segítségével sokféle webes tartalom jeleníthető meg anélkül, hogy meg kellene hagynia az alkalmazás kontextusát. Egyes alkalmazások webes nézeteket is használhatnak a funkciók és a felhasználói felület több platformon való megosztásához.

Mivel a webes nézetek az alkalmazásban léteznek, lehetséges adatszivárgásoknak teszik ki őket. Ha a felhasználó képes tetszőleges külső weblapokra navigálni egy alkalmazásban (akár szándékos alkalmazástervezéssel, akár a megjelenített weblap HTML-tartalmának közzétett hivatkozásain keresztüli ügyes manőverezéssel), akkor a felhasználó kiszivárogtathatja a felügyelt adatokat az alkalmazásból.

A Intune MAM SDK számos API-t biztosít a különböző forgatókönyvek kezeléséhez, ahol a felügyelt és a nem felügyelt tartalmak is egy alkalmazás webes nézeteiben jelennek meg. Ezeket az API-kat csak akkor kell meghívni, ha van bejelentkezett felügyelt felhasználó az alkalmazásba. Tekintse meg az alábbi táblázatot, amely gyors útmutatóként szolgál arra, hogy melyik API melyik forgatókönyvre vonatkozik.

Forgatókönyv Api
Csak olyan felhasználói és szervezeti tartalom, amely nem veszélyezteti a tetszőleges weblapokat Nincs szükség API-kra
Csak nem felhasználó és nem szervezeti tartalom Beállítás TreatAllWebViewsAsUnmanaged a következőben: Info.plist
Felhasználói/szervezeti és nem felhasználói/nem szervezeti tartalmak keveréke (a legtöbb nem felhasználó/nem szervezeti) Beállítás TreatAllWebViewsAsUnmanaged a Info.plist és a IntuneMAMWebViewPolicyCurrentIdentity használatával setWebViewPolicy:forWebViewer: olyan webes nézetekben, amelyek felhasználói vagy szervezeti adatokat tartalmaznak
Felhasználói/szervezeti és nem felhasználói/nem szervezeti tartalmak keveréke (többségi felhasználó/szervezet) Csak olyan webes nézetekkel IntuneMAMWebViewPolicyUnmanaged használhatósetWebViewPolicy:forWebViewer:, amelyek nem tartalmaznak felhasználói vagy szervezeti adatokat
Felhasználói vagy szervezeti tartalom, de tetszőleges weblapok kockázata A és setWebViewPolicy:forWebViewer:a TreatAllWebViewsAsUnmanaged megfelelő használatát követően implementálja a IntuneMAMWebViewPolicyDelegate webes nézeteket is, amelyek tetszőleges weblapokra navigálhatnak

1. webnézeti forgatókönyv: Csak olyan weblapok, amelyek felhasználói vagy szervezeti tartalmat jelenítenek meg

Ha egy alkalmazás csak webes nézeteket használ a felhasználói vagy szervezeti tartalmak megjelenítéséhez, és nem áll fenn annak kockázata, hogy a webes nézet tetszőleges külső weblapra navigál, akkor nincs szükség semmilyen API-ra vagy beállításra. Alapértelmezés szerint az SDK az alkalmazásban megjelenő webes nézeteket az aktuális felhasználói felület szabályzati identitásához tartozó tartalomként kezeli.

Ha egy felügyelt felhasználó megnyit egy webes nézetet egy alkalmazásban, a webes nézetből származó kivágási/másolási adatok felügyelt tartalomként lesznek kezelve. A webes nézetbe való beillesztés a felügyelt fiók szabályzatainak megfelelően lesz kezelve.

Ha egy nem felügyelt felhasználó megnyit egy webes nézetet egy alkalmazásban, a webes nézetből származó kivágási/másolási adatok nem felügyelt tartalomként lesznek kezelve. A webes nézetbe való beillesztést úgy kezeli a rendszer, mintha a nem felügyelt fiók végezné el, és nem vezet be további korlátozásokat.

2. webnézeti forgatókönyv: Csak olyan weblapok, amelyek nem jelenítik meg a felhasználói vagy szervezeti tartalmakat

Ha egy alkalmazás tudja, hogy soha nem jelenít meg felhasználói vagy szervezeti tartalmakat egy webes nézetben, akkor az értékre YES állítható TreatAllWebViewsAsUnmanaged az alkalmazásbanInfo.plist. Ez a művelet a webes nézetben bármely felhasználó által végzett kivágási, másolási és beillesztési műveletet nem felügyeltként kezeli. A műveletek végrehajtásához használt fiók felügyeleti állapotától függetlenül a rendszer úgy kezeli a műveletet, mintha egy nem felügyelt felhasználó hajtja végre.

Ezzel biztosíthatja, hogy a felügyelt alkalmazás tartalma ne szivároghasson ki az alkalmazáson kívül a webes nézeten keresztül. Ennek a jelzőnek a beállítása jó ötlet, ha egy alkalmazás csak webes nézeteket használ az adatvédelmi nyilatkozatok, EULA-k vagy más statikus laptartalmak megjelenítéséhez, amelyekhez a felhasználónak nem kell megtekintenie.

Ha TreatAllWebViewsAsUnmanaged be van állítva, a webes nézetekben megjelenített összes tartalom másolható és beilleszthető más nem felügyelt alkalmazásokba, mivel maguk a webes nézetek nem felügyeltnek minősülnek.

3. webnézeti forgatókönyv: Felhasználói/szervezeti és nem felhasználói/nem szervezeti tartalmak keveréke

Az összetettebb alkalmazások felhasználói/szervezeti és nem felhasználói/nem szervezeti webes nézetek kombinációját használhatják. Az alkalmazások webes nézetekkel jeleníthetnek meg adatvédelmi megjegyzéseket, de webes nézeteket is használhatnak a felhasználói tartalmak megjelenítéséhez. Ebben az esetben az IntuneMAMPolicyManagerAPI setWebViewPolicy:forWebViewer: használható. Ez az API lehetővé teszi az alkalmazások számára, hogy az egyes webes nézeteket nem felügyeltként jelölik meg, vagy visszavonják az egyes webes nézetek hatását TreatAllWebViewsAsUnmanaged .

Az API két argumentumot használ. Az első típus enumerálási IntuneMAMWebViewPolicy értéke. A második lehet egy UIView vagy UIViewController, amely tartalmazhatja a WKWebView nézetet a gyermeknézet-hierarchiájában. Maga a WKWebView közvetlenül is átadható második argumentumként.

Ha a WKWebView a második argumentumként átadott UIView vagy UIViewController gyermeke, nem kell léteznie a nézethierarchiában az API meghívásakor. Az UIView-ban vagy az UIViewControllerben átadott gyermek WKWebView-jai a hozzáadásukkor a megfelelő házirendet alkalmazzák.

  • IntuneMAMWebViewPolicyUnset – Ez az összes WKWebView alapértelmezett szabályzata. A webes nézeteket a rendszer csak a TreatAllWebViewsAsUnmanaged jelző alapján kezeli.
  • IntuneMAMWebViewPolicyUnmanaged – A felhasználó által az ezzel a szabályzattal címkézett webes nézetben végrehajtott kivágási/másolási/beillesztési műveletek úgy lesznek kezelve, mintha egy nem felügyelt identitás hajtja végre. Ez a szabályzat felülírja a jelzőt TreatAllWebViewsAsUnmanaged .
  • IntuneMAMWebViewPolicyCurrentIdentity – A felhasználó által a szabályzattal címkézett webes nézetben végrehajtott kivágási/másolási/beillesztési műveletek úgy lesznek kezelve, mintha az aktuális felhasználói felületi szabályzat identitása hajtja végre. Ez a szabályzat felülírja a jelzőt TreatAllWebViewsAsUnmanaged .

Nem felhasználói és nem szervezeti adatok többsége

Ha az alkalmazáson belüli webes nézetek többsége nem felügyelt tartalmat jelenít meg, akkor TreatAllWebViewsAsUnmanaged beállítható az alkalmazás Info.plistsetWebViewPolicy:forWebViewer:IntuneMAMWebViewPolicyCurrentIdentity és a használatával a felhasználó vagy a szervezeti tartalom webes nézeteiben.

Felhasználói és szervezeti adatok többsége

Ha az alkalmazáson belüli webes nézetek többsége felhasználói vagy szervezeti tartalmat jelenít meg, akkor csak setWebViewPolicy:forWebViewer: a IntuneMAMWebViewPolicyUnmanaged nem felügyelt webes nézeteken kell meghívni őket, mivel a rendszer alapértelmezés szerint az összes webes nézetet kezeli.

4. webnézeti forgatókönyv: Felhasználói vagy szervezeti tartalom, de tetszőleges weblapok kockázata

Ha egy webes nézet felhasználói vagy szervezeti tartalom megjelenítésére szolgál, de fennáll a kockázata, hogy tetszőleges külső URL-címekre lép, akkor egy további API is használható a és setWebViewPolicy:forWebViewer:a TreatAllWebViewsAsUnmanaged használatával együtt. Ilyenek például a Javaslatok szolgáltatásra vagy a Visszajelzés weblapokra, amelyek közvetlen vagy közvetett hivatkozásokat tartalmaznak egy keresőmotorra.

IntuneMAMWebViewPolicyDelegate a webes nézetet IntuneMAMPolicyManagera használatával implementálhatja és állíthatja setWebViewPolicyDelegate:forWebViewer:be. A-nek IntuneMAMWebViewPolicyDelegate van egy kötelező metódusa: isExternalURL:.

A setWebViewPolicyDelegate:forWebViewer: metódust közvetlenül a WKWebView vagy az SFSafariViewController elemen kell meghívni.

Minden alkalommal, amikor a webes nézet új lapra lép, a rendszer meghívja a isExternalURL: delegálási metódust. Az alkalmazásoknak meg kell határozniuk, hogy a delegált metódusnak átadott URL-cím egy belső webhelyet jelöl, ahol a felhasználói vagy szervezeti adatok beilleszthetők- vagy egy külső webhelyre, amely kiszivárogtathatja a szervezeti adatokat. A NO visszaküldés közli az SDK-val, hogy a betöltött webhely egy olyan szervezeti hely, ahol a felhasználói vagy szervezeti adatok megoszthatóak. YES A visszatérés hatására az SDK egy felügyelt böngészőben nyitja meg az URL-címet a WKWebView vagy az SFSafariViewController helyett, ha az aktuális szabályzatbeállítások megkövetelik. Ez biztosítja, hogy az alkalmazáson belüli felhasználói vagy szervezeti adatok ne szivároghassanak ki a külső webhelyre.

Példa webnézeti API-kra

Egy alkalmazás öt webes nézettel (A, B, C, D és E) készült. Az A, B és C webes nézetek nem jelenítik meg a felhasználói vagy szervezeti adatokat. A "D" webes nézet egy szervezeti lapot jelenít meg, amely a vállalat összes felhasználója számára elérhető. Az E webes nézet megjeleníti a felhasználó dokumentumait, amelyek hivatkozásokat tartalmazhatnak.

Mivel a webes nézetek többsége nem felügyelt (A, B és C), beállíthatjuk TreatAllWebViewsAsUnmanaged , hogy csökkentsük a híváshoz setWebViewPolicy:forWebViewer:szükséges alkalmak számát.

Mivel a D és E webes nézetek felhasználói tartalmat jelenítenek meg, és az összes webes nézet alapértelmezés szerint nincs kezelve, a használatával IntuneMAMWebViewPolicyCurrentIdentitykell címkéznünk setWebViewPolicy:forWebViewer: őket.

Mivel az E webes nézet olyan hivatkozásokat tartalmaz, amelyekre a felhasználó rákattinthat, és amelyek használatával tetszőleges URL-címekre navigálhat, az E webes nézetre is be kell állítani a parancsot a IntuneMAMWebViewPolicyDelegate használatával setWebViewPolicyDelegate:forWebViewer:. A megvalósítás során isExternalURL: ellenőrizhetjük a bejövő URL-címeket, és megállapíthatjuk, hogy megegyeznek-e a dokumentum URL-címével. Ha nem egyeznek, akkor tudjuk, hogy ez egy külső URL-cím, és visszaadhatja a következőt YES: . Ha egyeznek, akkor tudjuk, hogy ez egy belső URL-cím, és visszaadhatja a következőt NO: .

Ezeknek az API-knak a megvalósítása és meghívása azt jelenti, hogy a felügyelt felhasználó vagy szervezeti tartalom nem szivároghat ki az A, B és C webes nézetekbe. Ez azt is jelenti, hogy a felügyelt tartalom nem szivároghat ki olyan külső URL-címekre, amelyekre a felhasználó a dokumentumok hivatkozásaira kattintva navigálhat az E-ben. A felügyelt tartalmakat azzal is védi a rendszer, hogy megakadályozza, hogy a D és az E webes nézetekből származó adatok kiszivárognak az alkalmazáson kívül.

SwiftUI-támogatás

Az újonnan létrehozott SwiftUI-alkalmazások támogatják az UIScenes-t, de alapértelmezés szerint nincs implementálva UISceneDelegate. Ha az alkalmazás támogatni szeretné az UIScenes-t, és az Intune App SDK-t szeretné használni, akkor egy UISceneDelegate implementálására van szükség. Ha nem kívánja támogatni az UIScenes-t, el kell távolítani az UIApplicationSceneManifest alkalmazás Info.plist fájljában lévő (más néven "Alkalmazásjelenet jegyzékfájlja" nevű) beállítást.