Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La guida per sviluppatori di Microsoft Tunnel per MAM iOS SDK è una risorsa per gli sviluppatori. Consente agli sviluppatori di integrare e configurare l'SDK in un'app iOS/iPadOS. Per una panoramica del Microsoft Tunnel per MAM, vedere Microsoft Tunnel per MAM per iOS/iPadOS - Guida per gli amministratori di Intune.
Questa guida copre diverse parti del processo di integrazione nel progetto dell'app Xcode, tra cui l'installazione dei framework, la configurazione del file, le info.plist impostazioni di compilazione, la condivisione delle chiavi e l'implementazione dei metodi delegati dell'SDK.
Questi componenti sono fondamentali nello sviluppo di un'app iOS/iPadOS. Gli sviluppatori devono sapere come esplorare e configurare i componenti dell'SDK. Se non hai esperienza con Xcode e lo sviluppo di app iOS/iPadOS, questa guida può aiutarti. Fornisce una panoramica su dove trovare i diversi componenti SDK e su come usare questi elementi nei progetti di app.
Questa funzionalità si applica a:
- iOS/iPadOS
Contenuto del repository SDK
Il repository SDK include i framework seguenti. Questi framework verranno aggiunti al progetto app in un passaggio successivo:
crypto.xcframeworkMCPCommon.xcframeworkMCPCore.xcframeworkMCPPluginUnencryptedFile.xcframeworkMicrosoftTunnelApi.xcframeworkMSTAPNextPluginSecurityOpenssl.xcframeworkMSTAPNextPluginSwiftSupport.xcframeworkMSTAPNextPluginVpnMicrosoftTunnel.xcframeworkssl.xcframework
Prerequisiti
Per usare l'SDK Microsoft Tunnel per MAM iOS, sono richiesti i prerequisiti seguenti:
Un computer macOS con Xcode 14.0 o versione più recente installato
L'app iOS/iPadOS della tua linea di business (LOB) deve essere destinata a iOS/iPadOS 14.0 o versione successiva.
Sono disponibili due GitHub SDK che devi scaricare e integrare con la tua app iOS in Xcode. Assicurarsi che i progetti seguenti vengano compilati correttamente prima di continuare con Microsoft Tunnel per MAM iOS SDK:
- Intune App SDK per iOS (apre un sito GitHub): Installare almeno la versione 16.1.1.
In questo sito, consultare anche le Condizioni di licenza Microsoft Intune App SDK per iOS file.
Per la tua archiviazione, conserva una copia delle condizioni di licenza. Scaricando e utilizzando Microsoft Tunnel per MAM iOS SDK, accetti le condizioni di licenza. Se il licenziatario non accetta le condizioni di licenza, non dovrà utilizzare il software.
- Libreria di Autenticazione Microsoft (MSAL) (apre un sito GitHub): installa almeno la versione 1.2.3.
Installare e configurare Microsoft Tunnel per MAM iOS SDK (apre un sito GitHub). Questo SDK è l'obiettivo di questo articolo.
Importante
Intune rilascia regolarmente aggiornamenti a Microsoft Tunnel per MAM iOS SDK. Controllare regolarmente la disponibilità di aggiornamenti in Microsoft Tunnel per MAM iOS SDK. Aggiungi questi aggiornamenti al ciclo di rilascio dello sviluppo del software. Vuoi assicurarti che le tue app supportino gli aggiornamenti e i miglioramenti delle funzionalità di Microsoft Tunnel Gateway.
Come funziona il Microsoft Tunnel per MAM iOS SDK
Il tunnel per MAM iOS SDK consente alle app iOS/iPadOS di stabilire una connessione VPN "in-app". La connessione VPN esiste solo all'interno dell'app.
Per riepilogare, queste connessioni VPN in-app sono:
- Connessioni VPN discrete, non a livello di dispositivo
- Ambito limitato al livello di rete dell'applicazione
Quando un'app effettua una chiamata di rete, l'SDK intercetta la chiamata di rete e stabilisce la connessione VPN. Questa connessione VPN in-app non viene visualizzata nell'app Impostazioni nel dispositivo iOS/iPadOS.
Architettura: Tunnel per MAM iOS SDK
L'immagine seguente descrive il flusso da un'app gestita integrata correttamente con Tunnel per MAM iOS SDK:
All'avvio iniziale dell'app, viene stabilita una connessione usando Microsoft Tunnel per MAM SDK per iOS.
Il tunnel ottiene un token di autenticazione del dispositivo da Microsoft Entra ID.
Se il dispositivo ha eseguito l'accesso a un'altra app abilitata per MAM, come Microsoft Outlook, Microsoft Edge o l'app per dispositivi mobili Microsoft 365, il dispositivo potrebbe già disporre di un token di autenticazione Microsoft Entra. Se esiste già un token di autenticazione valido, viene usato il token esistente.
Si verifica una connessione TCP, ovvero un handshake TLS tra il token e il server tunnel.
Se UDP è abilitato su Microsoft Tunnel Gateway, viene stabilita una connessione al canale dati con DTLS. Se UDP è disabilitato, TCP stabilisce il canale dati per il gateway del tunnel.
Per altre informazioni, vedere le note TCP e UDP in Panoramica di Microsoft Tunnel - Architettura.
Quando l'app per dispositivi mobili stabilisce una connessione a una risorsa aziendale locale:
- Richieste API Microsoft Tunnel per MAM di connettersi alla risorsa aziendale.
- Viene creata una richiesta Web crittografata che viene inviata alla risorsa aziendale.
Attività Xcode
In questa sezione vengono elencate e descritte le attività di Xcode che è necessario completare, tra cui:
- Aggiungere i framework e le librerie
- Rivedere e aggiornare le funzionalità seguenti:
-
info.plistfile - Impostazioni compilazione
- Condivisione portachiavi
-
- Usare gli esempi per aggiornare il progetto AppDelegate Xcode e aggiungere un file delegato di Microsoft Tunnel
Passaggio 1: Aggiungere i framework e le librerie
I framework seguenti includono le API necessarie e i metodi delegati per comunicare con Intune Microsoft Tunnel Gateway. Implementano le funzionalità VPN di Microsoft Tunnel all'interno dell'app.
Per abilitare il tunnel per MAM iOS SDK, eseguire la procedura seguente:
Scaricare ed estrarre Tunnel per MAM iOS SDK in una cartella in un computer macOS. Anche questa attività è elencata nei Prerequisiti.
Copia i seguenti nove framework nella cartella dei framework del progetto dell'app Xcode:
crypto.xcframeworkMCPCommon.xcframeworkMCPCore.xcframeworkMCPPluginUnencryptedFile.xcframeworkMicrosoftTunnelApi.xcframeworkMSTAPNextPluginSecurityOpenssl.xcframeworkMSTAPNextPluginSwiftSupport.xcframeworkMSTAPNextPluginVpnMicrosoftTunnel.xcframeworkssl.xcframework
Nel progetto Xcode selezionare il progetto > dell'app Aggiungi file. Nell'esempio seguente, i file vengono aggiunti a un progetto app denominato "Flash Chat":
InDESTINAZIONI DELPROGETTO> selezionare Fasi> di compilazioneIncorpora framework. Aggiungi (+) tutti e nove i framework:
L'esempio seguente mostra tutti e nove i framework aggiunti:
In DESTINAZIONI DEL PROGETTO>, selezionaFasi> di compilazioneCollega binario a librerie. Nell'elenco, dovrebbe essere aggiunto solo il
MicrosoftTunnelApi.xcframeworkframework. Se sono presenti altri framework, rimuoverli con il segno meno (-):
Passaggio 2 - Aggiornare il info.plist file
info.plist Nel progetto per l'app Xcode conferma le impostazioni seguenti:
ID bundle: assicurarsi che lo stesso ID bundle elencato nella registrazione dell'app Microsoft Entra per l'app mobile iOS sia lo stesso ID bundle nel progetto app:
Per controllare l'ID bundle:
Tipi di URL: IN>DESTINAZIONI PROGETTO selezionare Informazioni.
In Tipi di URL verificare che la
$(PRODUCT_BUNDLE_IDENTIFIER)variabile sia presente. Quando è stato integrato Intune App SDK per iOS con il progetto dell'app (un prerequisito obbligatorio), questa variabile avrebbe dovuto essere creata.Se la variabile non è presente, è necessario aggiungerla:
Utilizzando Intune App SDK per iOS (un prerequisito obbligatorio), creare una
info.plistproprietà Array e denominarla Queryed URL Schemes.Aggiungere gli elementi stringa elencati nel passaggio 5 di Creare l'SDK nell'app per dispositivi mobili. Questo passaggio crea gli schemi URL di Intune MAM SDK.
L'esempio seguente mostra info.plist usando schemi URL sottoposti a query:
Aggiungi la
$(PRODUCT_BUNDLE_IDENTIFIER)variabile.L'esempio seguente mostra la
$(PRODUCT_BUNDLE_IDENTIFIER)variabile nei tipi di URL:
IntuneMAMSettings: Verificare che le impostazioni MSAL seguenti siano configurate con i valori di registrazione dell'app Microsoft Entra appropriati:
Vai alleinformazioni suitarget> del progetto>.
Selezionare IntuneMAMSettings. Conferma le impostazioni:
-
ADALAuthority: immettere l'ID tenant di Microsoft Entra, ad esempiohttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID. -
ADALClientId: immettere l'ID client dell'applicazione. -
ADALRedirectUri: Inviomsauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth.
-
Quando è stato integrato Intune App SDK per iOS con il progetto dell'app (un prerequisito obbligatorio), queste impostazioni avrebbero dovuto essere configurate.
Se queste impostazioni non sono configurate, è necessario configurarle. Per creare la proprietà IntuneMAMSettings
info.plistDictionary e le stringhe della libreria di autenticazione Microsoft associate, seguire la guida per gli sviluppatori di Intune App SDK per iOS (un prerequisito obbligatorio) in Configurare le impostazioni MSAL per Intune App SDK.L'esempio seguente mostra questi valori configurati:
Passaggio 3 - Disattivare Bitcode
- Vai aDESTINAZIONI>DEL PROGETTO>Impostazioni di compilazione.
- Selezionare le opzioni> di compilazioneAbilita bitcode.
- Selezionare No.
Passaggio 4: aggiungi la condivisione del portachiavi
La condivisione del portachiavi potrebbe essere presente nel progetto dell'app. Se non è presente, aggiungerlo:
- Passare aDESTINAZIONI>DEL PROGETTO>& Funzionalità di .
- Seleziona Condivisione portachiavi.
- Nell'elenco Gruppi Portachiavi , aggiungi (+)
com.microsoft.workplacejoin.
Passaggio 5 - Integrare l'SDK con l'app
✔️ Usare l'app di TunnelMAMTestApp2.xcproject esempio.
A seconda dell'app line-of-business e della relativa implementazione/scopo previsto, l'uso MicrosoftTunnelApi può variare. Ci sono alcune funzionalità fondamentali da conoscere durante l'integrazione dell'SDK con l'app:
- Tutte le interazioni con Microsoft Tunnel per Microsoft Tunnel per MAM iOS SDK vengono gestite tramite un
MicrosoftTunnelAPIoggetto singleton. - L'oggetto
MicrosoftTunnelAPIinteragisce con l'app usando un delegato che implementa un'interfacciaMicrosoftTunnelDelegate.
Per informazioni su come scrivere il delegato Microsoft Tunnel e come inizializzare , MicrosoftTunnelAPIusa le app di esempio Microsoft Tunnel per MAM iOS SDK (apre un sito GitHub).
Nelle app di esempio, l'AppDelegate del progetto Xcode mostra:
- Come gestire i callback degli URL MSAL
- Come avviare il processo di registrazione e inizializzazione richiesto per Tunnel
Per iniziare, apri l'app TunnelMAMTestApp2.xcproject di esempio ed esamina l'AppDelegate & MicrosoftTunnelDelegate nel progetto dell'app.
App di esempio
✔️ Scarica in Microsoft Tunnel per MAM iOS SDK app di esempio (apre un sito GitHub).
Queste app di esempio possono aiutarti a iniziare e coprire diversi scenari.
Metodi MicrosoftTunnelAPI
Include MicrosoftTunnelAPI i metodi seguenti:
Initialize– Controlla e imposta le configurazioni VPN, imposta la registrazione e configura l'istanzaMicrosoftTunnelAPI.Connect– Ottiene l'istanza e abilita l'intercettazione delMicrosoftTunnelAPItraffico di rete. Se l'API non è inizializzata, viene visualizzato un errore.Disconnect- Ottiene l'istanza e disabilita l'intercettazione delMicrosoftTunnelAPItraffico di rete. Se l'API non è inizializzata, viene visualizzato un errore.onTokenRequired– Facoltativo. Se l'app è già integrata con uno dei dueIntuneMAMo MSAL, è necessario implementare questoonTokenRequiredmetodo. Questo metodo usa eIntuneMAMSettingsMSAL per ottenere un token di autenticazione valido per connettersi a Microsoft Tunnel Gateway.Logging– Esistono alcune classi di registrazione diverse, indicate conk. Ad esempio,kLoggingClassConnectcrea un output di registrazione nella console Xcode. Queste chiavi di configurazione della registrazione possono essere aggiunte alla configurazione del delegato. Sono disponibili alcuni esempi di queste classi di registrazione nelle app di esempio.kLoggingClassInternalkLoggingClassConnectkLoggingClassPacketkLoggingClassSocketkLoggingClassHttpkLoggingClassIntunekLoggingClassMobileAccesskLoggingSeverityDebugkLoggingSeverityInfokLoggingSeverityWarnkLoggingSeverityMinorkLoggingSeverityMajorkLoggingSeverityCrit
Avviso
Non usare le chiavi di debug nelle app distribuite. Le chiavi possono registrare e mostrare le informazioni identificabili dell'utente e i dati di sicurezza.
Accesso alle app line-of-business iOS/iPadOS
L'integrazione dell'SDK non abilita automaticamente la registrazione. Lo sviluppatore deve aggiungere il codice appropriato per implementare il framework dei delegati di registrazione ed effettuare le chiamate di registrazione appropriate. L'implementazione specifica varia a seconda dell'SDK e dei requisiti dello sviluppatore.
Lo sviluppatore deve:
Assicurarsi che non includano dati personali identificabili del cliente o dell'utente finale nella registrazione. Devono rispettare le normative sulla privacy.
Consultare e collaborare con il team per la privacy dell'azienda/organizzazione dell'organizzazione. Il team per la privacy può fornire indicazioni sui dati appropriati che possono essere registrati e sui modi appropriati per gestire i dati sensibili.
Avviso
Consulta la documentazione sulla privacy di Microsoft Tunnel per MAM iOS SDK (apre un file PDF in GitHub) per indicazioni specifiche sulla registrazione e sulla privacy dei dati.
MAM-Tunnel esempio di metodo delegato del log
Microsoft Tunnel per la gestione delle applicazioni per dispositivi mobili Informazioni sulla privacy
La privacy degli utenti è importante per noi. Esaminare la seguente documentazione online correlata alla privacy:
- Informativa sulla privacy di Microsoft
- Privacy e dati personali in Intune
- Archiviazione ed elaborazione dei dati in Intune
Quando l'SDK di Microsoft Tunnel per MAM iOS viene integrato nelle app per dispositivi mobili, i dati seguenti vengono raccolti quando uno sviluppatore:
- Abilita il modulo di telemetria MAM di Intune nell'app
I dati raccolti possono includere le aree seguenti:
- Versione di Microsoft Tunnel per MAM SDK
- Informazioni utente generate da Microsoft
- ID dispositivo
- Informazioni su hardware e software
- Marca dispositivo
- Modello dispositivo
- Versione del sistema operativo del dispositivo
- Informazioni sull'account e sull'amministrazione
- ID tenant di Intune
- ID tenant di Microsoft Entra
- Misurazione dell'utilizzo:
- Inizializzazione VPN
- Eventi di connessione e disconnessione VPN
- Informazioni sull'errore
- Errori correlati a un errore di connessione VPN
Non vengono raccolte informazioni identificabili dall'utente.
Importante
Gli sviluppatori che integrano l'SDK sono importanti da non includere dati identificabili dall'utente quando usano il codice per indirizzare e acquisire messaggi nell'applicazione.
Problemi noti
Per problemi più noti, vedere Microsoft Tunnel per MAM per iOS/iPadOS - Guida per gli amministratori di Intune.
Passaggi successivi
Microsoft Tunnel per MAM per iOS/iPadOS - Guida per l'amministratore di Intune