Přeskočit na hlavní obsah

Nastavení MDM pro administrátory

RedirectWeb podporuje konfiguraci spravovaných aplikací (Managed App Configuration) od Apple, což vám (IT administrátorům) umožňuje centrálně nasazovat a spravovat nastavení aplikace v zařízeních zaměstnanců/studentů prostřednictvím řešení pro správu mobilních zařízení (MDM), jako je Jamf, Intune, Kandji atd.

Tato stránka popisuje konfigurovatelné klíče, chování aplikace, osvědčené postupy a omezení.

Přehled

info

Pro nasazení přes Apple Business Manager / Apple School Manager (VPP): Standardní aplikace RedirectWeb využívá model freemium s nákupy v aplikaci (In-App Purchase), který není způsobilý pro objemové nákupy VPP. Chcete-li ve vaší organizaci nasadit plně odemčenou aplikaci, zakupte si prosím aplikaci RedirectWeb Pro, což je verze s platbou předem navržená speciálně pro distribuci MDM/VPP.

Odesláním konfigurací prostřednictvím MDM můžete dosáhnout následujícího:

  • Vynucená pravidla: Použijte pravidla přesměrování v rámci celé organizace, která uživatelé nemohou měnit ani mazat.
  • Distribuce výchozích pravidel: Distribuujte šablonu sady pravidel, která slouží jako výchozí při prvním spuštění aplikace.
  • Ovládání uživatelského rozhraní: Omezte přístup ke specifickým funkcím (jako je Knihovna) a jasně v aplikaci uveďte, že je pod správou organizace.
  • Načítání velkých pravidel (Fallback): Obejděte limity velikosti datové části MDM načítáním pravidel z externího serveru.

Případy užití

  • Plynulé směrování během migrace systému: Při migraci ze staršího interního systému (např. legacy-crm.internal.local) na novou platformu (např. salesforce.com) distribuujte enforcedRuleSet. I když zaměstnanci používají staré záložky, jsou automaticky přesměrováni na nový systém, což eliminuje tikety na podporu IT týkající se zastaralých odkazů.
  • Pomoc s přístupem k intranetu: Distribuujte pravidla přesměrování pomocí vlastních schémat URL, abyste usnadnili přístup k intranetovým zdrojům prostřednictvím tunelů VPN pro jednotlivé aplikace (Per-App VPN), jako je například Omnissa Web.
warning

Aktualizace konfigurace MDM se projeví okamžitě pouze v případě, že uživatel otevře aplikaci RedirectWeb. Přestože aplikace využívá úlohy na pozadí k tichému předávání aktualizací MDM do rozšíření prohlížeče, jedná se o spuštění typu „best-effort“ (s vynaložením maximálního úsilí) diktované operačním systémem. Načasování spuštění je vysoce nepředvídatelné a úloha nemusí být spuštěna vůbec. Proto by se na tuto funkci nemělo spoléhat při řešení časově kritických incidentů (např. pokus o okamžité přesměrování všech zaměstnanců na záložní web během několika minut po výpadku cloudové služby).

Demo

Soubor plist použitý ve videu je k dispozici jako sample-mdm.plist, který používá klíče typu Dictionary (<dict>). K dispozici je také sample-mdm-json-string.plist, který používá klíče typu JSON String (stejná data).

Ve videu bylo k nasazení konfigurace použito MDM od ManageEngine, ale stejnou konfiguraci lze použít i pro jiná řešení MDM, pokud podporují Apple Managed App Configuration.

note

Dictionary vs. JSON String: Přestože je typ Dictionary bezpečnější z hlediska typů, některá řešení MDM (například Omnissa Workspace ONE UEM) typ Dictionary v konfiguraci spravovaných aplikací nepodporují. V takových případech je doporučeným náhradním řešením použití typu JSON String.

Konfigurovatelné klíče

Nasaďte následující klíče a hodnoty pro konfiguraci spravovaných aplikací prostřednictvím konzole MDM, obvykle ve formátu plist.

Název klíčeTypPopis
enforcedRuleSetSada pravidelSada pravidel aplikovaná s vyšší prioritou než běžná pravidla. První pravidlo v seznamu má přednost. Uživatelé tato pravidla nemohou upravovat, mazat ani měnit jejich pořadí. Jsou vždy aktivní, ignorují globální přepínač vypnutí aplikace a nesynchronizují se přes iCloud.
enforcedRuleSetJSONStringJSON StringStejné jako enforcedRuleSet, ale sada pravidel je poskytnuta jako surový řetězec JSON. To je užitečné pro platformy MDM, které v konfiguraci spravovaných aplikací nepodporují typ Dictionary.
prefilledRuleSetSada pravidelSada pravidel vytvořená namísto výchozího ukázkového pravidla, když uživatel spustí aplikaci poprvé bez existujících pravidel. Po distribuci se chovají jako běžná pravidla a umožňují uživatelské úpravy, mazání a synchronizaci přes iCloud.
prefilledRuleSetJSONStringJSON StringStejné jako prefilledRuleSet, ale sada pravidel je poskytnuta jako surový řetězec JSON. To je užitečné pro platformy MDM, které v konfiguraci spravovaných aplikací nepodporují typ Dictionary.
organizationNameStringZobrazuje „Spravováno organizací [organizationName]“ v horní části obrazovky nastavení v aplikaci, což uživateli signalizuje, že je aplikace spravována.
managedConfigVersionStringLibovolný řetězec verze pro danou konfiguraci. Zobrazuje se v uživatelském rozhraní a umožňuje podpoře IT při odstraňování problémů ověřit, zda do zařízení dorazila nejnovější datová část z MDM.
showsLibrarySectionBooleanPokud je nastaveno na false, funkce Knihovna pravidel bude skryta a sekce bude nahrazena chybovou zprávou „Omezeno vaší organizací.“.
fallbackFallbackToto specifikujte, pokud dojde k překročení limitu velikosti datové části MDM. Aplikace načte konfiguraci z adresy URL zadané v fallbackDataURL.
fallbackJSONStringJSON StringStejné jako fallback, ale konfigurace fallbacku je poskytnuta jako surový řetězec JSON. To je užitečné pro platformy MDM, které v konfiguraci spravovaných aplikací nepodporují typ Dictionary.

Všechny tyto klíče jsou volitelné.

Typy konfiguračních hodnot

Sada pravidel

Každý objekt pravidla má stejný formát jako ten, který můžete sdílet/exportovat prostřednictvím aplikace, ale musíte jej převést z JSON na plist, takto:

...
<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

Název klíčeTypPopis
fallbackDataURLString (URL)URL koncového bodu souboru JSON/XML obsahujícího sady pravidel.
authTokenStringAutentizační token připojený k hlavičce HTTP při načítání z fallbackDataURL. (Používá se jako Authorization: Bearer [authToken]).

JSON String

Některé platformy MDM (např. Omnissa Workspace ONE UEM) nepodporují v konfiguraci spravovaných aplikací typ Dictionary (<dict>). Jako náhradní řešení přijímají klíče končící na JSONString (například enforcedRuleSetJSONString, prefilledRuleSetJSONString a fallbackJSONString) stejná data jako jejich protějšky typu Dictionary, ale zakódovaná jako surový řetězec JSON v rámci prvku plist <string>.

Řetězec JSON může být buď minifikovaný, nebo formátovaný s novými řádky a odsazením pro lepší čitelnost, jak je ukázáno v následujícím příkladu:

...
<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>
...
note

Pokud je přítomen jak klíč Dictionary, tak jeho odpovídající klíč JSONString (např. enforcedRuleSet i enforcedRuleSetJSONString), má přednost klíč Dictionary.

Vyhodnocování pravidel a řešení konfliktů

  1. Pokud je k dispozici enforcedRuleSet, jeho pravidla se použijí s absolutní prioritou.
  2. Pokud neexistují žádná běžná pravidla, ale existuje prefilledRuleSet, uloží se prefilledRuleSet jako běžná pravidla.
  3. Výchozí „Ukázkové pravidlo přesměrování“ se vygeneruje pouze tehdy, pokud nejsou nakonfigurována žádná pravidla MDM a neexistují žádná běžná pravidla.

Chování Fallback URL

Pokud klíč existuje jak v přímé (inline) datové části MDM, tak v datech načtených prostřednictvím fallbackDataURL, aplikace řeší konflikt následovně:

  • Před dokončením načítání: Inline nastavení jsou striktně upřednostněna a použita.
  • Po úspěšném načtení: Data získaná z fallbackDataURL přepíší odpovídající inline nastavení.
  • Po neúspěšném načtení: Aplikace nadále používá inline nastavení.
  • Nezávislé klíče: Klíče, které existují pouze v inline datové části, zůstanou vždy zachovány.

MDM zpětná vazba a kontrola stavu

Pokud to vaše řešení MDM podporuje, můžete ověřit, zda byla konfigurace úspěšně aplikována, prostřednictvím kanálu zpětné vazby MDM (com.apple.feedback.managed). Po zpracování konfigurace (nebo dokončení načítání z URL) aplikace vrátí následující data:

  • managedConfigVersion: Řetězec verze pokusu o konfiguraci.
  • result: Buď success, nebo error.
  • messages: Pole obsahující podrobné chybové zprávy nebo varování, pokud jsou k dispozici.