Nastavenia MDM pre administrátorov
RedirectWeb podporuje Managed App Configuration od spoločnosti Apple, čo vám (IT administrátorom) umožňuje nasadzovať a spravovať nastavenia aplikácie centrálne na zariadeniach zamestnancov/študentov prostredníctvom riešenia Mobile Device Management (MDM), ako sú Jamf, Intune, Kandji atď.
Táto stránka popisuje konfigurovateľné kľúče, správanie aplikácie, osvedčené postupy a obmedzenia.
Prehľad
Pre nasadenia cez Apple Business Manager / Apple School Manager (VPP): Štandardná aplikácia RedirectWeb používa model freemium nákupov v aplikácii (In-App Purchase), ktorý nie je oprávnený na objemové nákupy VPP. Ak chcete vo svojej organizácii nasadiť plne odomknutú aplikáciu, zakúpte si aplikáciu RedirectWeb Pro, čo je verzia s platbou vopred navrhnutá špeciálne pre distribúciu cez MDM/VPP.
Odoslaním konfigurácií prostredníctvom vášho MDM môžete dosiahnuť nasledovné:
- Vynútené pravidlá: Použite pravidlá presmerovania v rámci celej organizácie, ktoré používatelia nemôžu meniť ani odstraňovať.
- Počiatočná distribúcia pravidiel: Distribuujte šablónu sady pravidiel, ktorá slúži ako predvolená pri prvom spustení aplikácie.
- Ovládanie UI: Obmedzte prístup k špecifickým funkciám (ako je Knižnica) a v aplikácii jasne uveďte, že je pod správou organizácie.
- Načítanie veľkých sád pravidiel (Fallback): Obíďte limity veľkosti MDM payloadu načítaním pravidiel z externého servera.
Prípady použitia
- Plynulé smerovanie počas migrácie systému:
Pri migrácii zo starého interného systému (napr.
legacy-crm.internal.local) na novú platformu (napr.salesforce.com) distribuujteenforcedRuleSet. Aj keď zamestnanci použijú staré záložky, budú automaticky presmerovaní na nový systém, čím sa eliminujú požiadavky na IT podporu týkajúce sa neaktuálnych odkazov. - Asistencia pri prístupe k intranetu: Distribuujte pravidlá presmerovania pomocou vlastných schém URL na uľahčenie prístupu k zdrojom intranetu cez tunely Per-App VPN, ako je Omnissa Web.
Aktualizácie konfigurácie MDM sa aplikujú okamžite iba vtedy, ak používateľ otvorí aplikáciu RedirectWeb. Hoci aplikácia využíva úlohy na pozadí na tiché odosielanie aktualizácií MDM do rozšírenia prehliadača, ide o vykonávanie typu „best-effort“ (maximálne úsilie) diktované operačným systémom. Načasovanie vykonania je vysoko nepredvídateľné a úloha sa nemusí spustiť vôbec. Preto by sa na túto funkciu nemalo spoliehať pri časovo kritických reakciách na incidenty (napr. pokus o okamžité presmerovanie všetkých zamestnancov na záložnú stránku v priebehu niekoľkých minút po výpadku cloudovej služby).
Ukážka
Súbor plist použitý vo videu je k dispozícii tu: sample-mdm.plist, ktorý používa kľúče typu dictionary (<dict>). K dispozícii je tiež súbor sample-mdm-json-string.plist, ktorý používa kľúče typu JSON reťazec (rovnaké údaje).
Vo videu bolo na nasadenie konfigurácie použité MDM od ManageEngine, ale rovnakú konfiguráciu možno použiť aj pre iné MDM riešenia, pokiaľ podporujú Managed App Configuration od Apple.
Dictionary vs. JSON reťazec: Hoci je typ Dictionary typovo bezpečnejší, niektoré MDM riešenia (napríklad Omnissa Workspace ONE UEM) nepodporujú typ Dictionary v spravovanej konfigurácii aplikácie. V takýchto prípadoch sa ako náhradné riešenie odporúča použiť typ JSON reťazec.
Konfigurovateľné kľúče
Nasaďte nasledujúce kľúče a hodnoty pre Managed App Configuration prostredníctvom konzoly MDM, zvyčajne vo formáte plist.
| Názov kľúča | Typ | Popis |
|---|---|---|
enforcedRuleSet | Sada pravidiel | Sada pravidiel aplikovaná s vyššou prioritou ako bežné pravidlá. Prvé pravidlo v zozname má prednosť. Používatelia nemôžu tieto pravidlá upravovať, mazať ani meniť ich poradie. Sú vždy aktívne, ignorujú globálne vypnutie aplikácie a nesynchronizujú sa cez iCloud. |
enforcedRuleSetJSONString | JSON reťazec | Rovnaké ako enforcedRuleSet, ale sada pravidiel je poskytnutá ako surový JSON reťazec. Toto je užitočné pre MDM platformy, ktoré nepodporujú typ Dictionary v spravovanej konfigurácii aplikácie. |
prefilledRuleSet | Sada pravidiel | Sada pravidiel vytvorená namiesto predvoleného príkladu pravidla, keď používateľ prvýkrát spustí aplikáciu bez existujúcich pravidiel. Po distribúcii fungujú ako bežné pravidlá, čo umožňuje používateľovi ich úpravu, vymazanie a synchronizáciu cez iCloud. |
prefilledRuleSetJSONString | JSON reťazec | Rovnaké ako prefilledRuleSet, ale sada pravidiel je poskytnutá ako surový JSON reťazec. Toto je užitočné pre MDM platformy, ktoré nepodporujú typ Dictionary v spravovanej konfigurácii aplikácie. |
organizationName | String | Zobrazuje „Spravované organizáciou [organizationName]“ v hornej časti obrazovky s nastaveniami v aplikácii, čo používateľovi indikuje, že aplikácia je spravovaná. |
managedConfigVersion | String | Ľubovoľný reťazec verzie pre konfiguráciu. Zobrazuje sa v používateľskom rozhraní, čo umožňuje IT podpore pri riešení problémov overiť, či sa najnovší MDM payload dostal do zariadenia. |
showsLibrarySection | Boolean | Ak je nastavené na false, funkcia Knižnica pravidiel (Rule Library) je skrytá a sekcia je nahradená chybovým hlásením „Obmedzené vašou organizáciou“. |
fallback | Fallback | Toto špecifikujte, keď konfigurácie prekročia limity MDM payloadu. Aplikácia načíta konfiguráciu z URL adresy zadanej v fallbackDataURL. |
fallbackJSONString | JSON reťazec | Rovnaké ako fallback, ale záložná konfigurácia je poskytnutá ako surový JSON reťazec. Toto je užitočné pre MDM platformy, ktoré nepodporujú typ Dictionary v spravovanej konfigurácii aplikácie. |
Tieto kľúče sú všetky voliteľné.
Typy konfiguračných hodnôt
Sada pravidiel
Každý objekt pravidla má rovnaký formát ako ten, ktorý môžete zdieľať/exportovať cez aplikáciu, ale musíte ho previesť z JSON do 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>Moje vynútené pravidlo</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ázov kľúča | Typ | Popis |
|---|---|---|
fallbackDataURL | String (URL) | URL koncového bodu súboru JSON/XML obsahujúceho sady pravidiel. |
authToken | String | Autentifikačný token pridaný do hlavičky HTTP pri načítavaní z fallbackDataURL. (Používa sa ako Authorization: Bearer [authToken]). |
JSON reťazec
Niektoré platformy MDM (napr. Omnissa Workspace ONE UEM) nepodporujú typ Dictionary (<dict>) v spravovanej konfigurácii aplikácie. Ako riešenie akceptujú kľúče končiace na JSONString (napríklad enforcedRuleSetJSONString, prefilledRuleSetJSONString a fallbackJSONString) rovnaké údaje ako ich náprotivky Dictionary, ale zakódované ako surový JSON reťazec v rámci elementu <string> súboru plist.
JSON reťazec môže byť buď minifikovaný, alebo naformátovaný s novými riadkami a odsadením pre lepšiu čitateľnosť, ako je znázornené v nasledujúcom príklade:
...
<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>
...
Ak je prítomný kľúč Dictionary aj jeho zodpovedajúci kľúč JSONString (napr. enforcedRuleSet a enforcedRuleSetJSONString), prednosť má kľúč Dictionary.
Vyhodnocovanie pravidiel a riešenie konfliktov
- Ak je poskytnutý
enforcedRuleSet, jeho pravidlá sa aplikujú s absolútnou prioritou. - Ak neexistujú žiadne bežné pravidlá, ale existuje
prefilledRuleSet,prefilledRuleSetsa uloží ako bežné pravidlá. - Predvolené „Príkladové pravidlo presmerovania“ sa vygeneruje iba vtedy, ak nie sú nakonfigurované žiadne pravidlá MDM a neexistujú žiadne bežné pravidlá.
Správanie záložnej (fallback) URL
Keď kľúč existuje v inline MDM payloade aj v údajoch načítaných cez fallbackDataURL, aplikácia rieši konflikt nasledovne:
- Pred dokončením načítania: Inline nastavenia majú striktnú prioritu a používajú sa.
- Po úspešnom načítaní: Údaje získané z
fallbackDataURLprepíšu zodpovedajúce inline nastavenia. - Po neúspešnom načítaní: Aplikácia naďalej používa inline nastavenia.
- Nezávislé kľúče: Kľúče, ktoré existujú iba v inline payloade, sa vždy zachovajú.
Spätná väzba MDM a kontrola stavu
Či bola konfigurácia úspešne aplikovaná, môžete overiť prostredníctvom kanála spätnej väzby MDM (com.apple.feedback.managed), ak to vaše MDM riešenie podporuje. Po spracovaní konfigurácie (alebo dokončení načítania URL) aplikácia vráti nasledujúce údaje:
managedConfigVersion: Reťazec verzie pokusu o konfiguráciu.result: Buďsuccessaleboerror.messages: Pole obsahujúce podrobné chybové hlásenia alebo varovania, ak sú k dispozícii.