Ρυθμίσεις MDM για Διαχειριστές
Το RedirectWeb υποστηρίζει το Managed App Configuration της Apple, επιτρέποντάς σας (διαχειριστές IT) να αναπτύσσετε και να διαχειρίζεστε τις ρυθμίσεις της εφαρμογής κεντρικά σε συσκευές υπαλλήλων/μαθητών μέσω μιας λύσης Mobile Device Management (MDM), όπως Jamf, Intune, Kandji, κ.λπ.
Αυτή η σελίδα περιγράφει τα διαμορφώσιμα κλειδιά, τις συμπεριφορές της εφαρμογής, τις βέλτιστες πρακτικές και τους περιορισμούς.
Επισκόπηση
Για Αναπτύξεις Apple Business Manager / Apple School Manager (VPP): Η τυπική εφαρμογή RedirectWeb χρησιμοποιεί ένα freemium μοντέλο In-App Purchase, το οποίο δεν είναι επιλέξιμο για μαζικές αγορές VPP. Για να αναπτύξετε την πλήρως ξεκλείδωτη εφαρμογή στον οργανισμό σας, αγοράστε την εφαρμογή RedirectWeb Pro, η οποία είναι μια έκδοση επί πληρωμή σχεδιασμένη ειδικά για διανομή MDM/VPP.
Προωθώντας διαμορφώσεις μέσω του MDM σας, μπορείτε να επιτύχετε τα ακόλουθα:
- Επιβεβλημένοι Κανόνες: Εφαρμόστε κανόνες ανακατεύθυνσης σε επίπεδο οργανισμού τους οποίους οι χρήστες δεν μπορούν να τροποποιήσουν ή να διαγράψουν.
- Αρχική Διανομή Κανόνων: Διανείμετε ένα πρότυπο σύνολο κανόνων που χρησιμεύει ως προεπιλογή κατά την πρώτη εκκίνηση της εφαρμογής.
- Έλεγχος UI: Περιορίστε την πρόσβαση σε συγκεκριμένες λειτουργίες (όπως η Βιβλιοθήκη) και υποδείξτε σαφώς εντός της εφαρμογής ότι βρίσκεται υπό διαχείριση οργανισμού.
- Ανάκτηση Μεγάλων Κανόνων (Fallback): Παρακάμψτε τα όρια μεγέθους ωφέλιμου φορτίου MDM ανακτώντας κανόνες από έναν εξωτερικό διακομιστή.
Περιπτώσεις Χρήσης
- Απρόσκοπτη δρομολόγηση κατά τη διάρκεια μεταναστεύσεων συστημάτων:
Κατά τη μετάβαση από ένα παλαιό εσωτερικό σύστημα (π.χ.
legacy-crm.internal.local) σε μια νέα πλατφόρμα (π.χ.salesforce.com), διανείμετε έναenforcedRuleSet. Ακόμα κι αν οι υπάλληλοι χρησιμοποιούν παλιούς σελιδοδείκτες, ανακατευθύνονται αυτόματα στο νέο σύστημα, εξαλείφοντας τα αιτήματα υποστήριξης IT σχετικά με παρωχημένους συνδέσμους. - Βοήθεια Πρόσβασης στο Intranet: Διανείμετε κανόνες ανακατεύθυνσης χρησιμοποιώντας προσαρμοσμένα σχήματα URL για να διευκολύνετε την πρόσβαση σε πόρους του intranet μέσω σηράγγων VPN ανά εφαρμογή, όπως το Omnissa Web.
Οι προωθήσεις διαμόρφωσης MDM εφαρμόζονται αμέσως μόνο εάν ο χρήστης ανοίξει την εφαρμογή RedirectWeb. Ενώ η εφαρμογή χρησιμοποιεί εργασίες παρασκηνίου για να προωθήσει σιωπηλά τις ενημερώσεις MDM στην επέκταση του προγράμματος περιήγησης, αυτή είναι μια εκτέλεση «βέλτιστης προσπάθειας» που υπαγορεύεται από το λειτουργικό σύστημα. Ο χρόνος εκτέλεσης είναι εξαιρετικά απρόβλεπτος και η εργασία ενδέχεται να μην εκτελεστεί καθόλου. Επομένως, αυτή η δυνατότητα δεν πρέπει να βασίζεται για απόκριση σε περιστατικά κρίσιμα ως προς τον χρόνο (π.χ. προσπάθεια άμεσης ανακατεύθυνσης όλων των υπαλλήλων σε έναν ιστότοπο δημιουργίας αντιγράφων ασφαλείας εντός λεπτών από μια διακοπή λειτουργίας υπηρεσίας cloud).
Επίδειξη
Το αρχείο plist που χρησιμοποιείται στο βίντεο είναι διαθέσιμο ως sample-mdm.plist, το οποίο χρησιμοποιεί κλειδιά Dictionary (<dict>). Υπάρχει επίσης το sample-mdm-json-string.plist που χρησιμοποιεί κλειδιά JSON String (ίδια δεδομένα).
Στο βίντεο, χρησιμοποιήθηκε το MDM της ManageEngine για την ανάπτυξη της διαμόρφωσης, αλλά η ίδια διαμόρφωση μπορεί να χρησιμοποιηθεί για άλλες λύσεις MDM εφόσον υποστηρίζουν το Managed App Configuration της Apple.
Dictionary vs. JSON String: Ενώ ο τύπος Dictionary είναι πιο ασφαλής ως προς τον τύπο, ορισμένες λύσεις MDM (όπως το Omnissa Workspace ONE UEM) δεν υποστηρίζουν τον τύπο Dictionary στη διαχειριζόμενη διαμόρφωση εφαρμογής. Σε τέτοιες περιπτώσεις, η χρήση του τύπου JSON String είναι μια προτεινόμενη εναλλακτική λύση.
Διαμορφώσιμα Κλειδιά
Αναπτύξτε τα ακόλουθα κλειδιά και τιμές για το Managed App Configuration μέσω της κονσόλας MDM σας, συνήθως σε μορφή plist.
| Όνομα Κλειδιού | Τύπος | Περιγραφή |
|---|---|---|
enforcedRuleSet | Σύνολο Κανόνων | Ένα σύνολο κανόνων που εφαρμόζεται με υψηλότερη προτεραιότητα από τους κανονικούς κανόνες. Ο πρώτος κανόνας στη λίστα έχει προτεραιότητα. Οι χρήστες δεν μπορούν να επεξεργαστούν, να διαγράψουν ή να αναδιατάξουν αυτούς τους κανόνες. Είναι πάντα ενεργοί, αγνοώντας τον καθολικό διακόπτη απενεργοποίησης της εφαρμογής και δεν συγχρονίζονται μέσω iCloud. |
enforcedRuleSetJSONString | JSON String | Ίδιο με το enforcedRuleSet, αλλά το σύνολο κανόνων παρέχεται ως ακατέργαστη συμβολοσειρά JSON. Αυτό είναι χρήσιμο για πλατφόρμες MDM που δεν υποστηρίζουν τον τύπο Dictionary στη διαχειριζόμενη διαμόρφωση εφαρμογής. |
prefilledRuleSet | Σύνολο Κανόνων | Ένα σύνολο κανόνων που δημιουργείται αντί του προεπιλεγμένου παραδείγματος κανόνα όταν ένας χρήστης εκκινεί την εφαρμογή για πρώτη φορά χωρίς υπάρχοντες κανόνες. Μόλις διανεμηθούν, αυτοί λειτουργούν ως κανονικοί κανόνες, επιτρέποντας την τροποποίηση, διαγραφή και συγχρονισμό iCloud από τον χρήστη. |
prefilledRuleSetJSONString | JSON String | Ίδιο με το prefilledRuleSet, αλλά το σύνολο κανόνων παρέχεται ως ακατέργαστη συμβολοσειρά JSON. Αυτό είναι χρήσιμο για πλατφόρμες MDM που δεν υποστηρίζουν τον τύπο Dictionary στη διαχειριζόμενη διαμόρφωση εφαρμογής. |
organizationName | String | Εμφανίζει το "Managed by [organizationName]" στο πάνω μέρος της οθόνης ρυθμίσεων εντός της εφαρμογής, υποδεικνύοντας στον χρήστη ότι η εφαρμογή είναι διαχειριζόμενη. |
managedConfigVersion | String | Μια αυθαίρετη συμβολοσειρά έκδοσης για τη διαμόρφωση. Εμφανίζεται στο UI, επιτρέποντας στην υποστήριξη IT να επαληθεύσει εάν το τελευταίο ωφέλιμο φορτίο MDM έχει φτάσει στη συσκευή κατά την αντιμετώπιση προβλημάτων. |
showsLibrarySection | Boolean | Εάν οριστεί σε false, η λειτουργία Βιβλιοθήκη Κανόνων κρύβεται και η ενότητα αντικαθίσταται με ένα μήνυμα σφάλματος "Περιορίζεται από τον οργανισμό σας." |
fallback | Fallback | Καθορίστε το όταν γίνεται υπέρβαση του ορίου μεγέθους του ωφέλιμου φορτίου MDM. Η εφαρμογή θα ανακτήσει τη διαμόρφωση από τη διεύθυνση URL που καθορίζεται στο fallbackDataURL. |
fallbackJSONString | JSON String | Ίδιο με το fallback, αλλά η διαμόρφωση 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
| Όνομα Κλειδιού | Τύπος | Περιγραφή |
|---|---|---|
fallbackDataURL | String (URL) | Μια διεύθυνση URL τελικού σημείου ενός αρχείου JSON/XML που περιέχει σύνολα κανόνων. |
authToken | String | Ένα διακριτικό ελέγχου ταυτότητας που προστίθεται στην κεφαλίδα HTTP κατά την ανάκτηση από το fallbackDataURL. (Χρησιμοποιείται ως Authorization: Bearer [authToken]). |
JSON String
Ορισμένες πλατφόρμες MDM (π.χ. Omnissa Workspace ONE UEM) δεν υποστηρίζουν τον τύπο Dictionary (<dict>) στη διαχειριζόμενη διαμόρφωση εφαρμογής. Ως εναλλακτική λύση, τα κλειδιά που λήγουν σε JSONString (όπως enforcedRuleSetJSONString, prefilledRuleSetJSONString και fallbackJSONString) δέχονται τα ίδια δεδομένα με τα αντίστοιχα Dictionary, αλλά κωδικοποιημένα ως ακατέργαστη συμβολοσειρά JSON μέσα σε ένα στοιχείο plist <string>.
Η συμβολοσειρά 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 και δεν υπάρχουν κανονικοί κανόνες.
Συμπεριφορά Fallback URL
Όταν ένα κλειδί υπάρχει τόσο στο ενσωματωμένο ωφέλιμο φορτίο MDM όσο και στα δεδομένα που ανακτώνται μέσω του fallbackDataURL, η εφαρμογή χειρίζεται τη σύγκρουση ως εξής:
- Πριν την Ολοκλήρωση της Ανάκτησης: Οι ενσωματωμένες ρυθμίσεις έχουν αυστηρή προτεραιότητα και χρησιμοποιούνται.
- Μετά από Επιτυχή Ανάκτηση: Τα δεδομένα που ανακτώνται από το
fallbackDataURLαντικαθιστούν τις αντίστοιχες ενσωματωμένες ρυθμίσεις. - Μετά από Αποτυχημένη Ανάκτηση: Η εφαρμογή συνεχίζει να χρησιμοποιεί τις ενσωματωμένες ρυθμίσεις.
- Ανεξάρτητα Κλειδιά: Τα κλειδιά που υπάρχουν μόνο στο ενσωματωμένο ωφέλιμο φορτίο διατηρούνται πάντα.
Ανατροφοδότηση MDM και Έλεγχος Κατάστασης
Μπορείτε να επαληθεύσετε εάν η διαμόρφωση εφαρμόστηκε με επιτυχία μέσω του καναλιού ανατροφοδότησης MDM (com.apple.feedback.managed) εάν η λύση MDM σας το υποστηρίζει. Μετά την επεξεργασία της διαμόρφωσης (ή την ολοκλήρωση της ανάκτησης URL), η εφαρμογή επιστρέφει τα ακόλουθα δεδομένα:
managedConfigVersion: Η συμβολοσειρά έκδοσης της προσπάθειας διαμόρφωσης.result: Είτεsuccessείτεerror.messages: Ένας πίνακας που περιέχει λεπτομερή μηνύματα σφάλματος ή προειδοποίησης, εάν ισχύει.