Passa al contenuto principale

Impostazioni MDM per gli amministratori

RedirectWeb supporta la Managed App Configuration di Apple, consentendo agli amministratori IT di distribuire e gestire le impostazioni dell'app in modo centralizzato su tutti i dispositivi di dipendenti/studenti tramite una soluzione di Mobile Device Management (MDM), come Jamf, Intune, Kandji, ecc.

Questa pagina illustra le chiavi configurabili, i comportamenti dell'app, le migliori pratiche e le limitazioni.

Panoramica

informazioni

Per le distribuzioni Apple Business Manager / Apple School Manager (VPP): L'app RedirectWeb standard utilizza un modello In-App Purchase freemium, che non è idoneo per l'acquisto di volume VPP. Per distribuire l'app completamente sbloccata alla tua organizzazione, acquista l'app RedirectWeb Pro, che è una versione a pagamento progettata specificamente per la distribuzione MDM/VPP.

Inviando le configurazioni tramite il tuo MDM, puoi ottenere quanto segue:

  • Regole imposte: Applica regole di reindirizzamento a livello di organizzazione che gli utenti non possono modificare o eliminare.
  • Distribuzione iniziale delle regole: Distribuisci un set di regole modello che funge da predefinito al primo avvio dell'app.
  • Controllo dell'interfaccia utente: Limita l'accesso a funzionalità specifiche (come la Libreria) e indica chiaramente all'interno dell'app che è sotto la gestione dell'organizzazione.
  • Recupero di set di regole di grandi dimensioni (Fallback): Aggira i limiti di dimensione del payload MDM recuperando le regole da un server esterno.

Casi d'uso

  • Routing fluido durante le migrazioni di sistema: Durante la migrazione da un sistema interno legacy (ad esempio, legacy-crm.internal.local) a una nuova piattaforma (ad esempio, salesforce.com), distribuisci un enforcedRuleSet. Anche se i dipendenti utilizzano vecchi segnalibri, vengono reindirizzati automaticamente al nuovo sistema, eliminando i ticket di supporto IT relativi a link obsoleti.
  • Assistenza all'accesso alla Intranet: Distribuisci regole di reindirizzamento utilizzando schemi URL personalizzati per facilitare l'accesso alle risorse intranet tramite tunnel VPN Per-App, come Omnissa Web.
warning

Gli aggiornamenti della configurazione MDM vengono applicati immediatamente solo se l'utente apre l'app RedirectWeb. Sebbene l'app utilizzi attività in background per inviare silenziosamente gli aggiornamenti MDM all'estensione del browser, si tratta di un'esecuzione "best-effort" dettata dal sistema operativo. La tempistica di esecuzione è altamente imprevedibile e l'attività potrebbe non essere eseguita affatto. Pertanto, questa funzionalità non deve essere considerata affidabile per la risposta a incidenti in cui il fattore tempo è critico (ad esempio, il tentativo di reindirizzare istantaneamente tutti i dipendenti a un sito di backup entro pochi minuti da un'interruzione del servizio cloud).

Demo

Il file plist utilizzato nel video è disponibile come sample-mdm.plist, che utilizza chiavi Dictionary (<dict>). È disponibile anche sample-mdm-json-string.plist che utilizza chiavi JSON String (stessi dati).

Nel video è stato utilizzato l'MDM di ManageEngine per distribuire la configurazione, ma la stessa configurazione può essere utilizzata per altre soluzioni MDM purché supportino la Managed App Configuration di Apple.

note

Dictionary vs. Stringa JSON: Sebbene il tipo Dictionary sia più sicuro dal punto di vista dei tipi, alcune soluzioni MDM (come Omnissa Workspace ONE UEM) non supportano il tipo Dictionary nella configurazione dell'app gestita. In tali casi, l'uso del tipo Stringa JSON è una soluzione consigliata.

Chiavi configurabili

Distribuisci le seguenti chiavi e valori per la Managed App Configuration tramite la tua console MDM, in genere nel formato plist.

Nome chiaveTipoDescrizione
enforcedRuleSetSet di regoleUn set di regole applicato con priorità maggiore rispetto alle regole normali. La prima regola nell'elenco ha la precedenza. Gli utenti non possono modificare, eliminare o riordinare queste regole. Sono sempre attive, ignorando l'interruttore di disattivazione globale dell'app, e non si sincronizzano tramite iCloud.
enforcedRuleSetJSONStringStringa JSONCome enforcedRuleSet, ma il set di regole è fornito come stringa JSON non elaborata. Utile per le piattaforme MDM che non supportano il tipo Dictionary nella configurazione dell'app gestita.
prefilledRuleSetSet di regoleUn set di regole creato al posto della regola di esempio predefinita quando un utente avvia l'app per la prima volta senza regole esistenti. Una volta distribuite, queste agiscono come regole normali, consentendo la modifica, l'eliminazione da parte dell'utente e la sincronizzazione tramite iCloud.
prefilledRuleSetJSONStringStringa JSONCome prefilledRuleSet, ma il set di regole è fornito come stringa JSON non elaborata. Utile per le piattaforme MDM che non supportano il tipo Dictionary nella configurazione dell'app gestita.
organizationNameStringVisualizza "Gestito da [organizationName]" nella parte superiore della schermata delle impostazioni in-app, indicando all'utente che l'app è gestita.
managedConfigVersionStringUna stringa di versione arbitraria per la configurazione. Visualizzata nell'interfaccia utente, consente al supporto IT di verificare se l'ultimo payload MDM ha raggiunto il dispositivo durante la risoluzione dei problemi.
showsLibrarySectionBooleanSe impostato su false, la funzione Libreria di regole viene nascosta e la sezione viene sostituita con il messaggio di errore "Limitato dalla tua organizzazione".
fallbackFallbackSpecifica questa opzione quando viene superato il limite di dimensione del payload MDM. L'app recupererà la configurazione dall'URL specificato in fallbackDataURL.
fallbackJSONStringStringa JSONCome fallback, ma la configurazione di fallback è fornita come stringa JSON non elaborata. Utile per le piattaforme MDM che non supportano il tipo Dictionary nella configurazione dell'app gestita.

Queste chiavi sono tutte facoltative.

Tipi di valori di configurazione

Set di regole

Ogni oggetto regola ha lo stesso formato di quello che puoi condividere/esportare tramite l'app, ma devi convertirlo da JSON a plist, in questo modo:

...
<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

Nome chiaveTipoDescrizione
fallbackDataURLString (URL)Un URL endpoint di un file JSON/XML contenente set di regole.
authTokenStringUn token di autenticazione aggiunto all'intestazione HTTP durante il recupero da fallbackDataURL. (Utilizzato come Authorization: Bearer [authToken]).

Stringa JSON

Alcune piattaforme MDM (ad esempio, Omnissa Workspace ONE UEM) non supportano il tipo Dictionary (<dict>) nella configurazione dell'app gestita. Come soluzione alternativa, le chiavi che terminano in JSONString (come enforcedRuleSetJSONString, prefilledRuleSetJSONString e fallbackJSONString) accettano gli stessi dati delle loro controparti Dictionary, ma codificati come una stringa JSON non elaborata all'interno di un elemento plist <string>.

La stringa JSON può essere compressa o formattata con interruzioni di riga e rientri per la leggibilità, come mostrato nell'esempio seguente:

...
<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>
...
note

Se sono presenti sia una chiave Dictionary che la sua corrispondente chiave JSONString (ad esempio, sia enforcedRuleSet che enforcedRuleSetJSONString), la chiave Dictionary ha la precedenza.

Valutazione delle regole e risoluzione dei conflitti

  1. Se viene fornito un enforcedRuleSet, le sue regole vengono applicate con priorità assoluta.
  2. Se non ci sono regole normali ma esiste un prefilledRuleSet, il prefilledRuleSet viene salvato come regole normali.
  3. La "Regola di reindirizzamento di esempio" predefinita viene generata solo se non sono configurate regole MDM e non ci sono regole normali.

Comportamento dell'URL di fallback

Quando una chiave esiste sia nel payload MDM inline che nei dati recuperati tramite fallbackDataURL, l'app gestisce il conflitto come segue:

  • Prima del completamento del recupero: Le impostazioni inline hanno la priorità assoluta e vengono utilizzate.
  • Dopo il recupero riuscito: I dati recuperati da fallbackDataURL sovrascrivono le corrispondenti impostazioni inline.
  • Dopo un recupero fallito: L'app continua a utilizzare le impostazioni inline.
  • Chiavi indipendenti: Le chiavi che esistono solo nel payload inline vengono sempre conservate.

Feedback MDM e controllo dello stato

Puoi verificare se la configurazione è stata applicata correttamente tramite il canale di feedback MDM (com.apple.feedback.managed) se la tua soluzione MDM lo supporta. Dopo aver elaborato la configurazione (o aver completato il recupero dell'URL), l'app restituisce i seguenti dati:

  • managedConfigVersion: La stringa della versione del tentativo di configurazione.
  • result: success o error.
  • messages: Un array contenente messaggi dettagliati di errore o avviso, se applicabile.