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
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) distribuujteenforcedRuleSet. 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.
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.
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íče | Typ | Popis |
|---|---|---|
enforcedRuleSet | Sada pravidel | Sada 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. |
enforcedRuleSetJSONString | JSON String | Stejné 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. |
prefilledRuleSet | Sada pravidel | Sada 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. |
prefilledRuleSetJSONString | JSON String | Stejné 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. |
organizationName | String | Zobrazuje „Spravováno organizací [organizationName]“ v horní části obrazovky nastavení v aplikaci, což uživateli signalizuje, že je aplikace spravována. |
managedConfigVersion | String | Libovolný ř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. |
showsLibrarySection | Boolean | Pokud je nastaveno na false, funkce Knihovna pravidel bude skryta a sekce bude nahrazena chybovou zprávou „Omezeno vaší organizací.“. |
fallback | Fallback | Toto specifikujte, pokud dojde k překročení limitu velikosti datové části MDM. Aplikace načte konfiguraci z adresy URL zadané v fallbackDataURL. |
fallbackJSONString | JSON String | Stejné 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íče | Typ | Popis |
|---|---|---|
fallbackDataURL | String (URL) | URL koncového bodu souboru JSON/XML obsahujícího sady pravidel. |
authToken | String | Autentizač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>
...
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ů
- Pokud je k dispozici
enforcedRuleSet, jeho pravidla se použijí s absolutní prioritou. - Pokud neexistují žádná běžná pravidla, ale existuje
prefilledRuleSet, uloží seprefilledRuleSetjako běžná pravidla. - 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
fallbackDataURLpř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, neboerror.messages: Pole obsahující podrobné chybové zprávy nebo varování, pokud jsou k dispozici.