MDM-Einstellungen für Administratoren
RedirectWeb unterstützt die "Managed App Configuration" von Apple. Dies ermöglicht es Ihnen (IT-Administratoren), App-Einstellungen zentral über eine Mobile-Device-Management-Lösung (MDM) wie Jamf, Intune, Kandji usw. auf den Geräten von Mitarbeitern oder Schülern bereitzustellen und zu verwalten.
Diese Seite beschreibt die konfigurierbaren Schlüssel, das App-Verhalten, Best Practices und Einschränkungen.
Überblick
Durch das Übertragen von Konfigurationen über Ihr MDM können Sie folgendes erreichen:
- Erzwungene Regeln: Wenden Sie unternehmensweite Weiterleitungsregeln an, die Benutzer nicht ändern oder löschen können.
- Initiale Regelverteilung: Verteilen Sie einen Vorlagen-Regelsatz, der beim ersten Start der App als Standard dient.
- UI-Steuerung: Beschränken Sie den Zugriff auf bestimmte Funktionen (wie die Bibliothek) und weisen Sie in der App deutlich darauf hin, dass sie unter organisatorischer Verwaltung steht.
- Abrufen großer Regelsätze (Fallback): Umgehen Sie Größenbeschränkungen für MDM-Payloads, indem Sie Regeln von einem externen Server abrufen.
Anwendungsfälle
- Nahtloses Routing während Systemmigrationen:
Verteilen Sie bei der Migration von einem alten internen System (z. B.
legacy-crm.internal.local) auf eine neue Plattform (z. B.salesforce.com) einenforcedRuleSet. Selbst wenn Mitarbeiter alte Lesezeichen verwenden, werden sie automatisch zum neuen System weitergeleitet, wodurch IT-Support-Tickets bezüglich veralteter Links vermieden werden. - Unterstützung beim Intranet-Zugriff: Verteilen Sie Weiterleitungsregeln mit benutzerdefinierten URL-Schemata, um den Zugriff auf Intranet-Ressourcen über Per-App-VPN-Tunnel, wie z. B. Omnissa Web, zu erleichtern.
MDM-Konfigurationsänderungen werden nur dann sofort angewendet, wenn der Benutzer die RedirectWeb-App öffnet. Obwohl die App Hintergrundaufgaben verwendet, um MDM-Updates geräuschlos an die Browser-Erweiterung zu übertragen, handelt es sich hierbei um eine "Best-Effort"-Ausführung des Betriebssystems. Der Zeitpunkt der Ausführung ist höchst unvorhersehbar, und die Aufgabe wird möglicherweise gar nicht ausgeführt. Daher sollte diese Funktion nicht für zeitkritische Reaktionen auf Vorfälle verwendet werden (z. B. der Versuch, alle Mitarbeiter innerhalb von Minuten nach einem Ausfall eines Cloud-Dienstes sofort auf eine Backup-Seite umzuleiten).
Demo
Die im Video verwendete Plist-Datei ist hier verfügbar: sample-mdm.plist
Im Video wurde das MDM von ManageEngine zur Bereitstellung der Konfiguration verwendet, aber dieselbe Konfiguration kann auch für andere MDM-Lösungen genutzt werden, sofern diese die "Managed App Configuration" von Apple unterstützen.
Konfigurierbare Schlüssel
Stellen Sie die folgenden Schlüssel und Werte für die Managed App Configuration über Ihre MDM-Konsole bereit, normalerweise im Plist-Format.
| Schlüsselname | Typ | Beschreibung |
|---|---|---|
enforcedRuleSet | Regelsatz | [Erzwungene Regeln] Ein Regelsatz, der mit höherer Priorität als normale Regeln angewendet wird. Die erste Regel in der Liste hat Vorrang. Benutzer können diese Regeln nicht bearbeiten, löschen oder die Reihenfolge ändern. Sie sind immer aktiv, ignorieren den globalen Deaktivierungsschalter der App und werden nicht über iCloud synchronisiert. |
prefilledRuleSet | Regelsatz | [Initiale Regeln] Ein Regelsatz, der anstelle der Standard-Beispielregel erstellt wird, wenn ein Benutzer die App zum ersten Mal ohne vorhandene Regeln startet. Nach der Verteilung fungieren diese als normale Regeln, die vom Benutzer geändert, gelöscht und über iCloud synchronisiert werden können. |
organizationName | String | Zeigt oben im Einstellungsbildschirm der App "Verwaltet von [organizationName]" an, um dem Benutzer zu signalisieren, dass die App verwaltet wird. |
managedConfigVersion | String | Ein beliebiger Versionsstring für die Konfiguration. Wird in der UI angezeigt, damit der IT-Support bei der Fehlerbehebung überprüfen kann, ob die neueste MDM-Payload das Gerät erreicht hat. |
showsLibrarySection | Boolean | Wenn auf false gesetzt, wird die Funktion "Regelbibliothek" ausgeblendet und der Abschnitt durch die Fehlermeldung "Von Ihrer Organisation eingeschränkt" ersetzt. |
fallback | Fallback | Geben Sie dies an, wenn die Konfigurationen die MDM-Payload-Limits überschreiten. Die App ruft JSON/XML von dieser URL ab, um die Konfiguration anzuwenden. |
Diese Schlüssel sind alle optional.
[Objekt] Regelsatz
Jedes Regelobjekt hat das gleiche Format wie dasjenige, das Sie über die App teilen/exportieren können, aber Sie müssen es von JSON in Plist konvertieren, wie folgt:
...
<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>
...
[Objekt] Fallback
| Schlüsselname | Typ | Beschreibung |
|---|---|---|
fallbackDataURL | String (URL) | Eine Endpunkt-URL einer JSON/XML-Datei, die Regelsätze enthält. |
authToken | String | Ein Authentifizierungs-Token, das beim Abrufen von der fallbackDataURL an den HTTP-Header angehängt wird. (Verwendet als Authorization: Bearer [authToken]). |
Regelauswertung und Konfliktlösung
- Wenn ein
enforcedRuleSetbereitgestellt wird, werden dessen Regeln mit absoluter Priorität angewendet. - Wenn keine normalen Regeln vorhanden sind, aber ein
prefilledRuleSetexistiert, wird dasprefilledRuleSetals normale Regeln gespeichert. - Die Standard-"Beispiel-Weiterleitungsregel" wird nur generiert, wenn keine MDM-Regeln konfiguriert sind und keine normalen Regeln vorhanden sind.
Verhalten der Fallback-URL
Wenn ein Schlüssel sowohl in der Inline-MDM-Payload als auch in den über die fallbackDataURL abgerufenen Daten vorhanden ist, behandelt die App den Konflikt wie folgt:
- Vor Abschluss des Abrufs: Inline-Einstellungen werden strikt priorisiert und verwendet.
- Nach erfolgreichem Abruf: Die von der
fallbackDataURLabgerufenen Daten überschreiben die entsprechenden Inline-Einstellungen. - Nach fehlgeschlagenem Abruf: Die App verwendet weiterhin die Inline-Einstellungen.
- Unabhängige Schlüssel, die nur in der Inline-Payload existieren, bleiben erhalten.
MDM-Feedback und Statusprüfung
Sie können über den MDM-Feedback-Kanal (com.apple.feedback.managed) überprüfen, ob die Konfiguration erfolgreich angewendet wurde, sofern Ihre MDM-Lösung dies unterstützt. Nach der Verarbeitung der Konfiguration (oder dem Abschluss des URL-Abrufs) gibt die App die folgenden Daten zurück:
managedConfigVersion: Der Versionsstring des Konfigurationsversuchs.result: Entwedersuccessorerror.messages: Ein Array mit detaillierten Fehler- oder Warnmeldungen, falls zutreffend.