Ustawienia MDM dla administratorów
RedirectWeb obsługuje funkcję Managed App Configuration firmy Apple, co pozwala (administratorom IT) na centralne wdrażanie ustawień aplikacji i zarządzanie nimi na urządzeniach pracowników/uczniów za pomocą rozwiązania do zarządzania urządzeniami mobilnymi (MDM), takiego jak Jamf, Intune, Kandji itp.
Ta strona opisuje klucze konfiguracyjne, zachowanie aplikacji, najlepsze praktyki i ograniczenia.
Omówienie
Wypychając konfiguracje przez MDM, można osiągnąć następujące cele:
- Wymuszone reguły: Stosowanie ogólnofirmowych reguł przekierowań, których użytkownicy nie mogą modyfikować ani usuwać.
- Wstępna dystrybucja reguł: Dystrybucja zestawu reguł szablonowych, który służy jako domyślny przy pierwszym uruchomieniu aplikacji.
- Kontrola interfejsu użytkownika: Ograniczenie dostępu do określonych funkcji (takich jak Biblioteka) i wyraźne wskazanie w aplikacji, że podlega ona zarządzaniu przez organizację.
- Pobieranie dużych zestawów reguł (Fallback): Obejście limitów rozmiaru danych MDM poprzez pobieranie reguł z zewnętrznego serwera.
Przypadki użycia
- Bezproblemowe kierowanie podczas migracji systemów:
Podczas migracji ze starego systemu wewnętrznego (np.
legacy-crm.internal.local) na nową platformę (np.salesforce.com), należy udostępnićenforcedRuleSet. Nawet jeśli pracownicy korzystają ze starych zakładek, zostaną one automatycznie przekierowane do nowego systemu, co eliminuje zgłoszenia do pomocy technicznej IT dotyczące nieaktualnych linków. - Pomoc w dostępie do intranetu: Dystrybucja reguł przekierowań przy użyciu niestandardowych schematów URL w celu ułatwienia dostępu do zasobów intranetu za pośrednictwem tuneli Per-App VPN, takich jak Omnissa Web.
Wypchnięcie konfiguracji MDM jest stosowane natychmiast tylko wtedy, gdy użytkownik otworzy aplikację RedirectWeb. Chociaż aplikacja wykorzystuje zadania w tle do cichego przesyłania aktualizacji MDM do rozszerzenia przeglądarki, jest to wykonywane na zasadzie "najlepszych starań" podyktowanych przez system operacyjny. Czas wykonania jest wysoce nieprzewidywalny, a zadanie może w ogóle nie zostać uruchomione. Dlatego nie należy polegać na tej funkcji w przypadku zdarzeń krytycznych czasowo (np. próby natychmiastowego przekierowania wszystkich pracowników do witryny zapasowej w ciągu kilku minut od awarii usługi w chmurze).
Demo
Plik plist użyty w filmie jest dostępny tutaj: sample-mdm.plist
W filmie do wdrożenia konfiguracji użyto MDM firmy ManageEngine, ale tę samą konfigurację można zastosować w innych rozwiązaniach MDM, o ile obsługują one funkcję Managed App Configuration firmy Apple.
Klucze konfiguracyjne
Wdróż następujące klucze i wartości dla Managed App Configuration za pośrednictwem konsoli MDM, zazwyczaj w formacie plist.
| Nazwa klucza | Typ | Opis |
|---|---|---|
enforcedRuleSet | Zestaw reguł | [Wymuszone reguły] Zestaw reguł stosowany z wyższym priorytetem niż normalne reguły. Pierwsza reguła na liście ma pierwszeństwo. Użytkownicy nie mogą edytować, usuwać ani zmieniać kolejności tych reguł. Są one zawsze aktywne, ignorując globalny przełącznik aplikacji, i nie synchronizują się przez iCloud. |
prefilledRuleSet | Zestaw reguł | [Reguły wstępne] Zestaw reguł utworzony w miejsce domyślnej przykładowej reguły, gdy użytkownik uruchamia aplikację po raz pierwszy bez istniejących reguł. Po dystrybucji działają one jako normalne reguły, umożliwiając użytkownikowi modyfikację, usuwanie i synchronizację przez iCloud. |
organizationName | String | Wyświetla informację „Zarządzane przez [organizationName]” u góry ekranu ustawień w aplikacji, wskazując użytkownikowi, że aplikacja jest zarządzana. |
managedConfigVersion | String | Dowolny ciąg znaków wersji dla konfiguracji. Wyświetlany w interfejsie użytkownika, umożliwiając wsparciu IT sprawdzenie podczas rozwiązywania problemów, czy najnowsze dane MDM dotarły do urządzenia. |
showsLibrarySection | Boolean | Jeśli ustawiono na false, funkcja Biblioteki reguł jest ukryta, a sekcja zostaje zastąpiona komunikatem o błędzie „Ograniczone przez Twoją organizację”. |
fallback | Fallback | Należy określić to, gdy konfiguracje przekraczają limity danych MDM. Aplikacja pobierze format JSON/XML z tego adresu URL, aby zastosować konfigurację. |
Te klucze są opcjonalne.
[Obiekt] Zestaw reguł
Każdy obiekt reguły ma taki sam format jak ten, który można udostępnić/wyeksportować za pomocą aplikacji, ale należy go przekonwertować z formatu JSON na plist, w ten sposób:
...
<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>
...
[Obiekt] Fallback
| Nazwa klucza | Typ | Opis |
|---|---|---|
fallbackDataURL | String (URL) | Adres URL punktu końcowego pliku JSON/XML zawierającego zestawy reguł. |
authToken | String | Token uwierzytelniający dołączany do nagłówka HTTP podczas pobierania z adresu fallbackDataURL. (Używany jako Authorization: Bearer [authToken]). |
Ocena reguł i rozstrzyganie konfliktów
- Jeśli podano
enforcedRuleSet, jego reguły są stosowane z bezwzględnym priorytetem. - Jeśli nie ma normalnych reguł, ale istnieje
prefilledRuleSet,prefilledRuleSetjest zapisywany jako normalne reguły. - Domyślna "Przykładowa reguła przekierowania" jest generowana tylko wtedy, gdy nie skonfigurowano reguł MDM i nie ma normalnych reguł.
Zachowanie adresu URL Fallback
Gdy klucz istnieje zarówno w danych MDM, jak i w danych pobranych za pośrednictwem fallbackDataURL, aplikacja rozwiązuje konflikt w następujący sposób:
- Przed zakończeniem pobierania: Ustawienia bezpośrednie mają bezwzględny priorytet i są używane.
- Po pomyślnym pobraniu: Dane pobrane z
fallbackDataURLnadpisują odpowiadające im ustawienia bezpośrednie. - Po nieudanym pobraniu: Aplikacja nadal korzysta z ustawień bezpośrednich.
- Niezależne klucze, które istnieją tylko w danych bezpośrednich, zostają zachowane.
Informacje zwrotne MDM i sprawdzanie statusu
Możesz zweryfikować, czy konfiguracja została pomyślnie zastosowana, za pośrednictwem kanału informacji zwrotnych MDM (com.apple.feedback.managed), jeśli Twoje rozwiązanie MDM go obsługuje. Po przetworzeniu konfiguracji (lub zakończeniu pobierania z adresu URL) aplikacja zwraca następujące dane:
managedConfigVersion: Ciąg znaków wersji próby konfiguracji.result:success(sukces) luberror(błąd).messages: Tablica zawierająca szczegółowe komunikaty o błędach lub ostrzeżeniach, jeśli dotyczy.