Настройки за MDM за администратори
RedirectWeb поддържа Managed App Configuration на Apple, което позволява на вас (IT администраторите) да внедрявате и управлявате настройките на приложението централно на устройствата на служителите/учениците чрез решение за управление на мобилни устройства (MDM), като Jamf, Intune, Kandji и др.
Тази страница описва конфигурируемите ключове, поведението на приложението, добрите практики и ограниченията.
Преглед
За внедрявания чрез Apple Business Manager / Apple School Manager (VPP): Стандартното приложение RedirectWeb използва модел freemium с покупки в приложението, който не отговаря на условията за закупуване на обем VPP. За да внедрите напълно отключеното приложение във вашата организация, моля, закупете приложението RedirectWeb Pro, което е платена версия, проектирана специално за MDM/VPP разпространение.
Чрез изпращане на конфигурации чрез вашия MDM можете да постигнете следното:
- Наложени правила: Прилагане на правила за пренасочване за цялата организация, които потребителите не могат да променят или изтриват.
- Първоначално разпространение на правила: Разпространение на шаблонен набор от правила, който служи като стандартен при първото стартиране на приложението.
- UI контрол: Ограничаване на достъпа до конкретни функции (като Библиотеката) и ясно указване в приложението, че то е под организационно управление.
- Изтегляне на големи правила (резервен вариант): Заобикаляне на ограниченията за размера на MDM полезния товар чрез изтегляне на правила от външен сървър.
Случаи на употреба
- Безпроблемно маршрутизиране по време на системни миграции:
При мигриране от наследена вътрешна система (напр.
legacy-crm.internal.local) към нова платформа (напр.salesforce.com), разпространетеenforcedRuleSet. Дори ако служителите използват стари отметки, те автоматично се пренасочват към новата система, което елиминира заявките за поддръжка относно остарели връзки. - Помощ за достъп до интранет: Разпространявайте правила за пренасочване, използвайки потребителски URL схеми, за да улесните достъпа до интранет ресурси чрез Per-App VPN тунели, като например Omnissa Web.
MDM актуализациите на конфигурацията се прилагат незабавно само ако потребителят отвори приложението RedirectWeb. Докато приложението използва фонови задачи за безшумно изпращане на MDM актуализации към разширението на браузъра, това е изпълнение тип „най-добро усилие“ (best-effort), диктувано от операционната система. Времето за изпълнение е силно непредвидимо и задачата може изобщо да не се стартира. Следователно, на тази функция не трябва да се разчита за критични във времето реакции при инциденти (напр. опит за незабавно пренасочване на всички служители към резервен сайт в рамките на минути след прекъсване на облачна услуга).
Демонстрация
Plist файлът, използван във видеото, е достъпен като sample-mdm.plist, който използва ключове Dictionary (<dict>). Има и sample-mdm-json-string.plist, който използва ключове JSON String (същите данни).
Във видеото беше използван MDM на ManageEngine за внедряване на конфигурацията, но същата конфигурация може да се използва за други MDM решения, стига те да поддържат Managed App Configuration на Apple.
Dictionary срещу JSON String: Докато типът Dictionary е по-безопасен от гле точка на типовете, някои MDM решения (като Omnissa Workspace ONE UEM) не поддържат типа Dictionary в управляваната конфигурация на приложението. В такива случаи използването на типа JSON String е препоръчително решение.
Конфигурируеми ключове
Внедрете следните ключове и стойности за Managed App Configuration чрез вашата MDM конзола, обикновено във формат plist.
| Key Name | Type | Description |
|---|---|---|
enforcedRuleSet | Rule Set | Набор от правила, приложен с по-висок приоритет от нормалните правила. Първото правило в списъка има предимство. Потребителите не могат да редактират, изтриват или пренареждат тези правила. Те са винаги активни, игнорирайки глобалния превключвател за изключване на приложението, и не се синхронизират чрез iCloud. |
enforcedRuleSetJSONString | JSON String | Същото като enforcedRuleSet, но наборът от правила се предоставя като необработен JSON низ. Това е полезно за MDM платформи, които не поддържат типа Dictionary в управляваната конфигурация на приложението. |
prefilledRuleSet | Rule Set | Набор от правила, създаден на мястото на стандартното примерно правило, когато потребителят стартира приложението за първи път без съществуващи правила. След като бъдат разпространени, те действат като нормални правила, позволявайки модификация, изтриване и iCloud синхронизация от потребителя. |
prefilledRuleSetJSONString | JSON String | Същото като prefilledRuleSet, но наборът от правила се предоставя като необработен JSON низ. Това е полезно за MDM платформи, които не поддържат типа Dictionary в управляваната конфигурация на приложението. |
organizationName | String | Показва „Управлява се от [organizationName]“ в горната част на екрана с настройки в приложението, което показва на потребителя, че приложението се управлява. |
managedConfigVersion | String | Произволен низ за версия на конфигурацията. Показва се в потребителския интерфейс, което позволява на IT поддръжката да провери дали най-новият MDM полезен товар е достигнал устройството при отстраняване на неизправности. |
showsLibrarySection | Boolean | Ако е зададено на false, функцията „Библиотека с правила“ е скрита и секцията е заменена със съобщение за грешка „Ограничено от вашата организация.“. |
fallback | Fallback | Посочете това, когато лимитът на размера на MDM полезния товар е превишен. Приложението ще извлече конфигурацията от URL адреса, посочен в fallbackDataURL. |
fallbackJSONString | JSON String | Същото като fallback, но резервната конфигурация се предоставя като необработен JSON низ. Това е полезно за MDM платформи, които не поддържат типа Dictionary в управляваната конфигурация на приложението. |
Всички тези ключове са незадължителни.
Типове стойности на конфигурацията
Набор от правила
Всеки обект на правило има същия формат като този, който можете да споделяте/експортирате чрез приложението, но трябва да го конвертирате от JSON в plist, по този начин:
...
<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)
| Key Name | Type | Description |
|---|---|---|
fallbackDataURL | String (URL) | URL адрес на крайна точка на JSON/XML файл, съдържащ набори от правила. |
authToken | String | Токен за удостоверяване, добавен към HTTP заглавката при извличане от fallbackDataURL. (Използва се като Authorization: Bearer [authToken]). |
JSON низ
Някои MDM платформи (напр. Omnissa Workspace ONE UEM) не поддържат типа Dictionary (<dict>) в управляваната конфигурация на приложението. Като решение, ключовете, завършващи на JSONString (като enforcedRuleSetJSONString, prefilledRuleSetJSONString и fallbackJSONString), приемат същите данни като техните Dictionary съответствия, но кодирани като необработен JSON низ в елемент <string> на plist.
JSON низът може да бъде или минимизиран, или форматиран с нови редове и отстъпи за по-добра четимост, както е показано в следния пример:
...
<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>
...
Ако присъстват както Dictionary ключ, така и съответният му ключ JSONString (напр. и enforcedRuleSet, и enforcedRuleSetJSONString), Dictionary ключът има предимство.
Оценяване на правила и разрешаване на конфликти
- Ако е предоставен
enforcedRuleSet, неговите правила се прилагат с абсолютен приоритет. - Ако няма нормални правила, но съществува
prefilledRuleSet,prefilledRuleSetсе запазва като нормални правила. - Стандартното „Примерно правило за пренасочване“ се генерира само ако няма конфигурирани MDM правила и няма нормални правила.
Поведение на резервния URL адрес
Когато даден ключ съществува както в вградения MDM полезен товар, така и в данните, извлечени чрез fallbackDataURL, приложението управлява конфликта по следния начин:
- Преди завършване на извличането: Вградените настройки са с висок приоритет и се използват.
- След успешно извличане: Данните, извлечени от
fallbackDataURL, презаписват съответните вградени настройки. - След неуспешно извличане: Приложението продължава да използва вградените настройки.
- Независими ключове: Ключовете, които съществуват само във вградения полезен товар, винаги се запазват.
Обратна връзка от MDM и проверка на състоянието
Можете да проверите дали конфигурацията е приложена успешно чрез канала за обратна връзка на MDM (com.apple.feedback.managed), ако вашето MDM решение го поддържа. След обработка на конфигурацията (или завършване на извличането от URL), приложението връща следните данни:
managedConfigVersion: Версионният низ на опита за конфигурация.result: Илиsuccess(успех), илиerror(грешка).messages: Масив, съдържащ подробни съобщения за грешки или предупреждения, ако е приложимо.