Ana içeriğe geç

Yöneticiler için MDM Ayarları

RedirectWeb, Apple'ın Yönetilen Uygulama Yapılandırmasını (Managed App Configuration) destekleyerek, sizlerin (BT yöneticileri) Jamf, Intune, Kandji vb. gibi bir Mobil Cihaz Yönetimi (MDM) çözümü aracılığıyla çalışan/öğrenci cihazlarında uygulama ayarlarını merkezi olarak dağıtmanıza ve yönetmenize olanak tanır.

Bu sayfa yapılandırılabilir anahtarları, uygulama davranışlarını, en iyi uygulamaları ve sınırlamaları özetlemektedir.

Genel Bakış

bilgi

Apple Business Manager / Apple School Manager (VPP) Dağıtımları İçin: Standart RedirectWeb uygulaması, VPP toplu satın alımı için uygun olmayan, freemium Uygulama İçi Satın Alma modelini kullanır. Tam kilidi açılmış uygulamayı kuruluşunuza dağıtmak için lütfen özellikle MDM/VPP dağıtımı için tasarlanmış ücretli bir sürüm olan RedirectWeb Pro uygulamasını satın alın.

Yapılandırmaları MDM'niz aracılığıyla göndererek aşağıdakileri elde edebilirsiniz:

  • Zorunlu Kurallar: Kullanıcıların değiştiremeyeceği veya silemeyeceği kuruluş çapında yönlendirme kuralları uygulayın.
  • Başlangıç Kuralı Dağıtımı: Uygulamanın ilk açılışında varsayılan olarak hizmet veren bir şablon kural seti dağıtın.
  • UI Kontrolü: Belirli özelliklere (Kitaplık gibi) erişimi kısıtlayın ve uygulama içinde uygulamanın kuruluş yönetimi altında olduğunu açıkça belirtin.
  • Büyük Kural Alma (Fallback): Kuralları harici bir sunucudan alarak MDM yük boyutu sınırlarını aşın.

Kullanım Durumları

  • Sistem geçişleri sırasında sorunsuz yönlendirme: Eski bir dahili sistemden (örn. legacy-crm.internal.local) yeni bir platforma (örn. salesforce.com) geçerken bir enforcedRuleSet dağıtın. Çalışanlar eski yer imlerini kullansalar bile otomatik olarak yeni sisteme yönlendirilirler, bu da güncel olmayan bağlantılarla ilgili BT destek taleplerini ortadan kaldırır.
  • İntranet Erişimi Yardımı: Omnissa Web gibi Uygulama Başına VPN tünelleri aracılığıyla intranet kaynaklarına erişimi kolaylaştırmak için özel URL şemaları kullanan yönlendirme kuralları dağıtın.
uyarı

MDM yapılandırma gönderimleri, yalnızca kullanıcı RedirectWeb uygulamasını açarsa hemen uygulanır. Uygulama, tarayıcı uzantısına MDM güncellemelerini sessizce göndermek için arka plan görevlerini kullansa da, bu işletim sistemi tarafından dikte edilen bir "en iyi çaba" (best-effort) yürütmedir. Yürütme zamanlaması son derece öngörülemezdir ve görev hiç çalışmayabilir. Bu nedenle, bu özelliğe zaman açısından kritik olay müdahalesi için (örn. bir bulut hizmeti kesintisinden birkaç dakika sonra tüm çalışanları anında yedek bir siteye yönlendirmeye çalışmak) güvenilmemelidir.

Demo

Videoda kullanılan plist dosyası, Sözlük (<dict>) anahtarlarını kullanan sample-mdm.plist olarak mevcuttur. Ayrıca JSON Dizesi anahtarlarını kullanan sample-mdm-json-string.plist de mevcuttur (aynı veriler).

Videoda, yapılandırmayı dağıtmak için ManageEngine'in MDM'si kullanılmıştır, ancak Apple'ın Yönetilen Uygulama Yapılandırmasını destekledikleri sürece aynı yapılandırma diğer MDM çözümleri için de kullanılabilir.

not

Sözlük vs. JSON Dizesi: Sözlük türü daha fazla tür güvenliği sağlarken, bazı MDM çözümleri (Omnissa Workspace ONE UEM gibi) yönetilen uygulama yapılandırmasında Sözlük türünü desteklemez. Bu gibi durumlarda, JSON Dizesi türünü kullanmak önerilen bir geçici çözümdür.

Yapılandırılabilir Anahtarlar

Managed App Configuration için aşağıdaki anahtarları ve değerleri MDM konsolunuz aracılığıyla, genellikle plist formatında dağıtın.

Anahtar AdıTürAçıklama
enforcedRuleSetKural SetiNormal kurallardan daha yüksek öncelikle uygulanan bir kural seti. Listedeki ilk kural önceliklidir. Kullanıcılar bu kuralları düzenleyemez, silemez veya yeniden sıralayamaz. Uygulamanın genel devre dışı bırakma düğmesini yok sayarak her zaman aktiftirler.
enforcedRuleSetJSONStringJSON DizesienforcedRuleSet ile aynıdır, ancak kural seti ham bir JSON dizesi olarak sağlanır. Bu, yönetilen uygulama yapılandırmasında Sözlük türünü desteklemeyen MDM platformları için kullanışlıdır.
prefilledRuleSetKural SetiMevcut kuralları olmayan bir kullanıcı uygulamayı ilk kez başlattığında varsayılan örnek kuralın yerine oluşturulan bir kural seti. Dağıtıldıktan sonra bunlar normal kurallar gibi hareket ederek kullanıcı değişikliğine, silinmesine ve iCloud senkronizasyonuna olanak tanır.
prefilledRuleSetJSONStringJSON DizesiprefilledRuleSet ile aynıdır, ancak kural seti ham bir JSON dizesi olarak sağlanır. Bu, yönetilen uygulama yapılandırmasında Sözlük türünü desteklemeyen MDM platformları için kullanışlıdır.
organizationNameDizeUygulama içi ayarlar ekranının üst kısmında "[organizationName] tarafından yönetiliyor" ifadesini görüntüleyerek kullanıcıya uygulamanın yönetildiğini belirtir.
managedConfigVersionDizeYapılandırma için rastgele bir sürüm dizesi. BT desteğinin sorun giderme sırasında en son MDM yükünün cihaza ulaşıp ulaşmadığını doğrulamasına olanak tanıyacak şekilde kullanıcı arayüzünde görüntülenir.
showsLibrarySectionBoolefalse olarak ayarlanırsa, Kural Kitaplığı özelliği gizlenir ve bölüm "Kuruluşunuz tarafından kısıtlandı" hata mesajıyla değiştirilir.
fallbackFallbackMDM yük boyutu sınırı aşıldığında bunu belirtin. Uygulama, yapılandırmayı fallbackDataURL içinde belirtilen URL'den alacaktır.
fallbackJSONStringJSON Dizesifallback ile aynıdır, ancak fallback yapılandırması ham bir JSON dizesi olarak sağlanır. Bu, yönetilen uygulama yapılandırmasında Sözlük türünü desteklemeyen MDM platformları için kullanışlıdır.

Bu anahtarların tümü isteğe bağlıdır.

Yapılandırma Değeri Türleri

Kural Seti

Her kural nesnesi, uygulama aracılığıyla paylaşabileceğiniz/dışa aktarabileceğiniz formatla aynı formata sahiptir, ancak bunu JSON'dan plist'e şu şekilde dönüştürmeniz gerekir:

...
<key>enforcedRuleSet</key>
<dict>
<key>kind</key>
<string>RedirectList</string>
<key>bundleID</key>
<string>io.github.mshibanami.RedirectWebForSafari</string>
<key>formatVersion</key>
<string>5</string>
<key>redirects</key>
<array>
<dict>
<key>kind</key>
<string>Redirect</string>
<key>type</key>
<string>originalRedirect</string>
<key>title</key>
<string>My enforced Rule</string>
<key>sourceURLPattern</key>
<dict>
<key>type</key>
<string>wildcard</string>
<key>value</key>
<string>https://example.com/1</string>
</dict>
<key>destinationURLPattern</key>
<string>https://google.com/search?q=1</string>
</dict>
</array>
</dict>
...

Fallback

Anahtar AdıTürAçıklama
fallbackDataURLDize (URL)Kural setlerini içeren bir JSON/XML dosyasının uç nokta URL'si.
authTokenDizefallbackDataURL adresinden alınırken HTTP üstbilgisine eklenen bir kimlik doğrulama belirteci. (Authorization: Bearer [authToken] olarak kullanılır).

JSON Dizesi

Bazı MDM platformları (örn. Omnissa Workspace ONE UEM), yönetilen uygulama yapılandırmasında Sözlük (<dict>) türünü desteklemez. Geçici bir çözüm olarak, JSONString ile biten anahtarlar (enforcedRuleSetJSONString, prefilledRuleSetJSONString ve fallbackJSONString gibi), Sözlük karşılıklarıyla aynı verileri kabul eder ancak bir plist <string> öğesi içinde ham bir JSON dizesi olarak kodlanır.

JSON dizesi, aşağıdaki örnekte gösterildiği gibi, okunabilirlik için küçültülebilir veya satır sonları ve girintilerle güzelce yazdırılabilir:

...
<key>enforcedRuleSetJSONString</key>
<string>{
"kind": "RedirectList",
"bundleID": "io.github.mshibanami.RedirectWebForSafari",
"formatVersion": "5",
"redirects": [
{
"kind": "Redirect",
"type": "originalRedirect",
"title": "My enforced Rule",
"sourceURLPattern": {
"type": "wildcard",
"value": "https://example.com/1"
},
"destinationURLPattern": "https://google.com/search?q=1"
}
]
}</string>
...
not

Hem bir Sözlük anahtarı hem de buna karşılık gelen JSONString anahtarı mevcutsa (örn. hem enforcedRuleSet hem de enforcedRuleSetJSONString), Sözlük anahtarı önceliklidir.

Kural Değerlendirmesi ve Çatışma Çözümü

  1. Bir enforcedRuleSet sağlanırsa, kuralları mutlak öncelikle uygulanır.
  2. Normal kural yoksa ancak bir prefilledRuleSet varsa, prefilledRuleSet normal kural olarak kaydedilir.
  3. Varsayılan "Örnek yönlendirme kuralı", yalnızca hiçbir MDM kuralı yapılandırılmamışsa ve normal kural yoksa oluşturulur.

Fallback URL Davranışı

Bir anahtar hem satır içi MDM yükünde hem de fallbackDataURL aracılığıyla alınan verilerde mevcut olduğunda, uygulama çatışmayı şu şekilde ele alır:

  • Alım Tamamlanmadan Önce: Satır içi ayarlar kesinlikle önceliklidir ve kullanılır.
  • Başarılı Alımdan Sonra: fallbackDataURL adresinden alınan veriler ilgili satır içi ayarların üzerine yazılır.
  • Başarısız Alımdan Sonra: Uygulama, satır içi ayarları kullanmaya devam eder.
  • Bağımsız Anahtarlar: Yalnızca satır içi yükte bulunan anahtarlar her zaman korunur.

MDM Geri Bildirimi ve Durum Kontrolü

Yapılandırmanın başarıyla uygulanıp uygulanmadığını, MDM çözümünüz destekliyorsa MDM geri bildirim kanalı (com.apple.feedback.managed) aracılığıyla doğrulayabilirsiniz. Yapılandırmayı işledikten (veya URL alımını tamamladıktan) sonra uygulama aşağıdaki verileri döndürür:

  • managedConfigVersion: Yapılandırma girişiminin sürüm dizesi.
  • result: success veya error.
  • messages: Varsa, ayrıntılı hata veya uyarı mesajlarını içeren bir dizi.