iOS için Intune Uygulama SDK'sı - Web görünümü özellikleri
Uygulama içinde web içeriğini görüntüleme
iOS'ta web görünümleri, uygulama bağlamından ayrılmak zorunda kalmadan çok çeşitli web içeriğini ortaya çıkarabilmek için kullanılabilir. Bazı uygulamalar, özellikleri ve kullanıcı arabirimini birden çok platformda paylaşmanın bir yolu olarak web görünümlerini de kullanabilir.
Web görünümleri uygulama içinde mevcut olduğundan, bunu olası veri sızıntılarına maruz bırakırlar. Bir kullanıcı bir uygulama içindeki rastgele dış web sayfalarına (kasıtlı uygulama tasarımı aracılığıyla veya işlenen web sayfasının html içeriğinde gösterilen bağlantılar aracılığıyla akıllıca manevra yaparak) gidebiliyorsa, kullanıcı yönetilen verileri uygulamadan sızdırabilir.
Intune MAM SDK'sı, hem yönetilen hem de yönetilmeyen içeriğin bir uygulama içindeki web görünümleri aracılığıyla ortaya çıkarıldığı farklı senaryoları işlemek için çeşitli API'ler sağlar. Bu API'lerin çağrılması için uygulamada oturum açmış yönetilen bir kullanıcı olması gerekir. API'nin hangi senaryo için geçerli olduğu konusunda hızlı bir kılavuz olarak aşağıdaki tabloya bakın.
Senaryo | Apı 'leri |
---|---|
Yalnızca rastgele web sayfaları riski olmayan kullanıcı ve kuruluş içeriği | API gerekmez |
Yalnızca kullanıcı olmayan ve kuruluş dışı içerik |
TreatAllWebViewsAsUnmanaged
Info.plist
|
Kullanıcı/kuruluş dışı ve kullanıcı olmayan/kuruluş dışı içeriğin bir karışımı (çoğu kullanıcı olmayan/kuruluş dışı) | içinde Info.plist ayarlayın TreatAllWebViewsAsUnmanaged ve kullanıcı veya kuruluş verileri içeren web görünümlerinde ile IntuneMAMWebViewPolicyCurrentIdentity kullanın setWebViewPolicy:forWebViewer: |
Kullanıcı/kuruluş ile kullanıcı dışı/kuruluş dışı içerik (çoğunluk kullanıcısı/kuruluş) karışımı | Yalnızca kullanıcı veya kuruluş verileri içermeyen web görünümlerinde ile IntuneMAMWebViewPolicyUnmanaged kullanın setWebViewPolicy:forWebViewer: |
Kullanıcı veya kuruluş içeriği ancak rastgele web sayfaları riski var | ve setWebViewPolicy:forWebViewer: 'nin TreatAllWebViewsAsUnmanaged uygun kullanımını takiben, rastgele web sayfalarına gidebilecek web görünümleri için de uygulamasını uygulayın IntuneMAMWebViewPolicyDelegate |
Web Görünümü Senaryosu 1: Yalnızca kullanıcı veya kuruluş içeriğini görüntüleyen web sayfaları
Bir uygulama yalnızca kullanıcı veya kuruluş içeriğini işleme yöntemi olarak web görünümlerini kullanıyorsa ve web görünümünün rastgele dış web sayfalarına gezinme riski yoksa, API'lerden veya ayarlardan herhangi birini kullanmanıza gerek yoktur. Varsayılan olarak SDK, uygulama içinde görüntülenen tüm web görünümlerini geçerli kullanıcı arabirimi ilke kimliğine ait içerik olarak ele alır.
Yönetilen kullanıcı bir uygulama içinde bir web görünümü açarsa, web görünümündeki tüm kesme/kopyalama verileri yönetilen içerik olarak değerlendirilir. Web görünümüne yapıştırma, yönetilen hesabın ilkelerine göre ele alınacaktır.
Yönetilmeyen bir kullanıcı bir uygulama içinde bir web görünümü açarsa, web görünümünden kesilen/kopyalanan veriler yönetilmeyen içerik olarak değerlendirilir. Web görünümüne yapıştırma, yönetilmeyen hesap tarafından yapılmış gibi kabul edilir ve ek bir kısıtlama uygulanmaz.
Web Görünümü Senaryosu 2: Yalnızca kullanıcı veya kuruluş içeriğini görüntülemeyen web sayfaları
Bir uygulama web görünümünde hiçbir zaman kullanıcı veya kuruluş içeriği görüntülemeyeceğini biliyorsa, uygulamanın Info.plist
içinde olarak YES
ayarlanabilirTreatAllWebViewsAsUnmanaged
. Bu işlem, web görünümündeki herhangi bir kullanıcı tarafından yapılan tüm kesme, kopyalama ve yapıştırma eylemlerini yönetilmeyen olarak ele alır. Eylemleri gerçekleştirmek için kullanılan hesabın yönetim durumundan bağımsız olarak, eylem yönetilmeyen bir kullanıcı tarafından gerçekleştirilir gibi değerlendirilir.
Bunun yapılması, yönetilen uygulama içeriğinin web görünümü aracılığıyla uygulamanın dışına sızmamasını sağlar. Bir uygulamanın yalnızca gizlilik bildirimlerini, EULA'ları veya kullanıcının görüntülemesini gerektirmeyen diğer statik sayfa içeriğini görüntülemek için web görünümlerini kullanması bu bayrağın ayarlanması iyi bir fikir olabilir.
TreatAllWebViewsAsUnmanaged
Ayarlandığında, web görünümlerinin kendileri yönetilmeyen olarak kabul edildiğinden, web görünümlerinin içinde görüntülenen tüm içerik kopyalanabilir ve diğer yönetilmeyen uygulamalara yapıştırılabilir.
Web Görünümü Senaryosu 3: Kullanıcı/kuruluş ve kullanıcı olmayan/kuruluş dışı içeriğin karışımı
Daha karmaşık uygulamalar, kullanıcı/kuruluş ve kullanıcı olmayan/kuruluş dışı web görünümlerinin birleşimini kullanabilir. Bir uygulama, gizlilik bildirimlerini görüntülemek için web görünümlerini, aynı zamanda kullanıcı içeriğini göstermek için de web görünümlerini kullanabilir. Bu durumda, IntuneMAMPolicyManager
'nin API'sini setWebViewPolicy:forWebViewer:
kullanabilirsiniz. Bu API, bir uygulamanın tek tek web görünümlerini yönetilmeyen olarak işaretlemesine veya tek tek web görünümleri için etkisini geri almasına TreatAllWebViewsAsUnmanaged
olanak tanır.
API iki bağımsız değişken alır. İlki türündeki IntuneMAMWebViewPolicy
bir sabit listesi değeridir. İkincisi, alt görünüm hiyerarşisinde WKWebView içerebilen bir UIView veya UIViewController olabilir. WKWebView'un kendisi de doğrudan ikinci bağımsız değişken olarak geçirilebilir.
WKWebView, ikinci bağımsız değişken olarak geçirilen UIView veya UIViewController'ın alt öğesiyse, bu API çağrıldığında görünüm hiyerarşisinde bulunması gerekmez. UIView veya UIViewController'da geçirilen öğesinin tüm alt WKWebView'ları, eklendiklerinde uygun ilkeyi uygular.
-
IntuneMAMWebViewPolicyUnset
- Bu, tüm WKWebViews için varsayılan ilkedir. Web görünümleri yalnızcaTreatAllWebViewsAsUnmanaged
bayrağına göre değerlendirilir. -
IntuneMAMWebViewPolicyUnmanaged
- Bu ilkeyle etiketlenmiş bir web görünümünde bir kullanıcı tarafından gerçekleştirilen kesme/kopyalama/yapıştırma eylemleri yönetilmeyen bir kimlik tarafından gerçekleştirilir gibi değerlendirilir. Bu ilke bayrağınTreatAllWebViewsAsUnmanaged
üzerine yazar. -
IntuneMAMWebViewPolicyCurrentIdentity
- Bu ilkeyle etiketlenmiş bir web görünümünde kullanıcı tarafından gerçekleştirilen kesme/kopyalama/yapıştırma eylemleri, geçerli kullanıcı arabirimi ilke kimliği tarafından gerçekleştirilir gibi değerlendirilir. Bu ilke bayrağınTreatAllWebViewsAsUnmanaged
üzerine yazar.
Kullanıcı olmayan ve kuruluş dışı verilerin çoğunluğu
Bir uygulamadaki web görünümlerinin çoğu yönetilmeyen içerik görüntülüyorsa, TreatAllWebViewsAsUnmanaged
uygulamanın Info.plist
içinde ve setWebViewPolicy:forWebViewer:
ile IntuneMAMWebViewPolicyCurrentIdentity
ayarı kullanıcı veya kurumsal içerik web görünümlerinde çağrılabilir.
Kullanıcı ve kuruluş verilerinin çoğunluğu
Bir uygulama içindeki web görünümlerinin çoğu kullanıcı veya kuruluş içeriği görüntülüyorsa, setWebViewPolicy:forWebViewer:
tüm web görünümleri varsayılan olarak yönetiliyor olarak değerlendirildiğinden yönetilmeyen web görünümlerinde yalnızca ile IntuneMAMWebViewPolicyUnmanaged
çağrısı yapılması gerekir.
Web Görünümü Senaryosu 4: Kullanıcı veya kuruluş içeriği ancak rastgele web sayfaları riski var
Kullanıcı veya kuruluş içeriğini görüntülemek için bir web görünümü kullanılıyorsa ancak rastgele dış URL'lere gitmek riski varsa ve ile TreatAllWebViewsAsUnmanaged
setWebViewPolicy:forWebViewer:
birlikte ek bir API kullanılabilir. Bunun örnekleri, arama altyapısına doğrudan veya dolaylı bağlantıları olan Özellik Önerin veya Geri Bildirim web sayfalarıdır.
IntuneMAMWebViewPolicyDelegate
kullanılarak uygulanabilir ve bir web görünümüne IntuneMAMPolicyManager
setWebViewPolicyDelegate:forWebViewer:
ayarlanabilir. gerekli IntuneMAMWebViewPolicyDelegate
bir yönteme sahiptir: isExternalURL:
.
setWebViewPolicyDelegate:forWebViewer:
yöntemi doğrudan bir WKWebView veya SFSafariViewController üzerinde çağrılmalıdır.
Web görünümü yeni bir sayfaya her gidişinde isExternalURL:
temsilci yöntemi çağrılır. Uygulamalar, temsilci yöntemine geçirilen URL'nin kullanıcı veya kuruluş verilerinin yapıştırılabildiği bir iç web sitesini mi yoksa kuruluş verilerini sızdırabilecek bir dış web sitesini mi temsil ettiğini belirlemelidir. Geri döndüğünüzde NO
SDK'ya yüklenen web sitesinin kullanıcı veya kuruluş verilerinin paylaşılabildiği bir kuruluş konumu olduğu bildirilir. Döndürme YES
, geçerli ilke ayarları gerektiriyorsa SDK'nın URL'yi WKWebView veya SFSafariViewController yerine yönetilen bir tarayıcıda açmasına neden olur. Bu, uygulamanın içinden hiçbir kullanıcı veya kuruluş verilerinin dış web sitesine sızdırılmamasını sağlar.
Web Görünümü API'leri Örneği
Bir uygulama beş web görünümüyle (A, B, C, D ve E) oluşturulur. A, B ve C web görünümleri kullanıcı veya kuruluş verilerini görüntülemez. Web görünümü D, şirketin tüm kullanıcılarına sağlanan bir kuruluş sayfası görüntüler. Web görünümü E, kullanıcının bağlantılarını içerebilecek belgelerini işler.
Web görünümlerinin çoğu yönetilmeyen (A, B ve C) olduğundan çağrılma setWebViewPolicy:forWebViewer:
sayısını azaltmak için ayarlayabilirizTreatAllWebViewsAsUnmanaged
.
Web görünümleri D ve E kullanıcı içeriğini görüntülediğinden ve tüm web görünümleri varsayılan olarak yönetilmediğinden, bunları setWebViewPolicy:forWebViewer:
kullanarak IntuneMAMWebViewPolicyCurrentIdentity
etiketlememiz gerekir.
E web görünümü, kullanıcının tıklayabileceği ve rastgele URL'lere gitmek için kullanabileceği bağlantılar içerdiğinden, kullanarak uygulamasını ve E setWebViewPolicyDelegate:forWebViewer:
web görünümüne ayarlamamız da gerekirIntuneMAMWebViewPolicyDelegate
. Uygulamamızda isExternalURL:
, gelen URL'leri denetleyebiliyor ve bunların belgenin URL'si ile aynı olup olmadığını görebiliyorduk. Eşleşmiyorsa, bunun bir dış URL olduğunu biliyoruz ve döndürebiliriz YES
. Eşleşirse, bunun bir iç URL olduğunu ve döndürebileceğini NO
biliyoruz.
Bu API'lerin uygulanması ve çağrılması, yönetilen kullanıcı veya kuruluş içeriğinin A, B ve C web görünümlerine sızmayabileceği anlamına gelir. Ayrıca, yönetilen içeriğin, belgelerin içindeki bağlantılara tıklayarak kullanıcının E'de gidebileceği dış URL'lere sızmayabileceği anlamına gelir. Yönetilen içerik, D ve E web görünümlerinden gelen verilerin uygulama dışına sızmasını önleyerek de korunur.
SwiftUI Desteği
Yeni oluşturulan bir SwiftUI uygulaması UIScenes'i destekler ancak varsayılan olarak bir UISceneDelegate uygulaması yoktur. Uygulamanız UIScenes'i desteklemeyi ve Intune Uygulama SDK'sını kullanmayı planlıyorsa uiSceneDelegate uygulamak gerekir. UIScenes'i desteklemeyi düşünmüyorsa, UIApplicationSceneManifest
uygulamanın Info.plist dosyasındaki ("Uygulama Sahne Bildirimi" olarak da adlandırılır) ayarı kaldırılmalıdır.