Guide du développeur du Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM
Remarque
Cette fonctionnalité est disponible lorsque vous ajoutez Microsoft Intune Plan 2 ou Microsoft Intune Suite en tant que licence de module complémentaire. Pour plus d’informations, consultez Utiliser les fonctionnalités du module complémentaire Intune Suite.
Le guide du développeur du Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM est une ressource destinée aux développeurs. Il permet aux développeurs d’intégrer et de configurer le Kit de développement logiciel (SDK) dans une application iOS/iPadOS. Pour obtenir une vue d’ensemble de Microsoft Tunnel pour GAM, accédez à Microsoft Tunnel pour MAM pour iOS/iPadOS - Guide de l’administrateur Intune.
Ce guide couvre différentes parties du processus d’intégration dans votre projet d’application Xcode, notamment l’installation des frameworks, la configuration du fichier, les info.plist
paramètres de génération, le partage de clés et l’implémentation des méthodes déléguées du SDK.
Ces composants sont essentiels au développement d’une application iOS/iPadOS. Les développeurs doivent comprendre comment naviguer et configurer les composants du Kit de développement logiciel (SDK). Si vous débutez dans le développement d’applications Xcode et iOS/iPadOS, ce guide peut vous aider. Il fournit une vue d’ensemble de l’emplacement où trouver les différents composants du Kit de développement logiciel (SDK) et de la façon d’utiliser ces éléments dans vos projets d’application.
Cette fonctionnalité s’applique à :
- iOS/iPadOS
Qu’est-ce qui se trouve dans le référentiel sdk ?
Le référentiel du KIT de développement logiciel (SDK) inclut les frameworks suivants. Vous ajouterez ces frameworks à votre projet d’application dans une étape ultérieure :
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Configuration requise
Pour utiliser le Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM, les conditions préalables suivantes sont requises :
Un ordinateur macOS avec Xcode 14.0 ou version ultérieure installée
Votre application iOS/iPadOS métier doit être ciblée pour iOS/iPadOS 14.0 ou version ultérieure.
Il existe deux Kits de développement logiciel (SDK) GitHub que vous devez télécharger et intégrer à votre application iOS dans Xcode. Assurez-vous que les projets suivants sont générés correctement avant de continuer avec le Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM :
Sdk d’application Intune pour iOS (ouvre un site GitHub) : installez au minimum la version 16.1.1.
Sur ce site, passez également en revue le fichier Termes du contrat de licence Microsoft du SDK d’application Intune pour iOS .
Pour vos enregistrements, conservez une copie des termes du contrat de licence. En téléchargeant et en utilisant le Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM, vous acceptez les termes du contrat de licence. Si vous n’acceptez pas les termes du contrat de licence, n’utilisez pas le logiciel.
Bibliothèque d’authentification Microsoft (MSAL) (ouvre un site GitHub) : installez au minimum la version 1.2.3.
Installez et configurez le Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM (ouvre un site GitHub). Ce Kit de développement logiciel (SDK) est l’objet de cet article.
Importante
Intune publie régulièrement des mises à jour du Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM. Régulièrement, consultez le Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM pour connaître les mises à jour. Ajoutez ces mises à jour dans votre cycle de mise en production de développement logiciel. Vous souhaitez vous assurer que vos applications prennent en charge les mises à jour et les améliorations des fonctionnalités de Microsoft Tunnel Gateway.
Fonctionnement du Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM
Le Kit de développement logiciel (SDK) iOS Tunnel pour MAM permet aux applications iOS/iPadOS d’établir une connexion VPN « in-app ». La connexion VPN existe uniquement dans l’application.
Pour résumer, ces connexions VPN in-app sont les suivantes :
- Connexions VPN discrètes, pas au niveau de l’appareil
- Étendue uniquement à la couche réseau de l’application
Lorsqu’une application effectue un appel réseau, le Kit de développement logiciel (SDK) intercepte l’appel réseau et établit la connexion VPN. Cette connexion VPN in-app n’est pas affichée dans l’application Paramètres sur l’appareil iOS/iPadOS.
Architecture : Tunnel pour le KIT DE développement logiciel (SDK) iOS MAM
L’image suivante décrit le flux d’une application managée qui a été correctement intégrée au Kit de développement logiciel (SDK) iOS Tunnel pour MAM :
Lors du lancement initial de l’application, une connexion est établie à l’aide du Kit de développement logiciel (SDK) Microsoft Tunnel pour MAM pour iOS.
Le tunnel obtient un jeton d’authentification d’appareil à partir de l’ID Microsoft Entra.
Si l’appareil s’est connecté à une autre application compatible GAM, telle qu’Outlook, Edge ou une application mobile Microsoft 365, l’appareil a peut-être déjà un jeton d’authentification Microsoft Entra. S’il existe déjà un jeton d’authentification valide, le jeton existant est utilisé.
Une connexion TCP se produit, qui est une liaison TLS entre le jeton et le serveur tunnel.
Si UDP est activé sur la passerelle Microsoft Tunnel Gateway, une connexion de canal de données à l’aide de DTLS est établie. Si UDP est désactivé, TCP établit le canal de données vers la passerelle Tunnel.
Pour plus d’informations, consultez les notes TCP et UDP dans vue d’ensemble de Microsoft Tunnel - architecture.
Lorsque l’application mobile établit une connexion à une ressource d’entreprise locale :
- Une API Microsoft Tunnel pour MAM demande de se connecter à la ressource d’entreprise.
- Une requête web chiffrée est créée et envoyée à la ressource d’entreprise.
Tâches Xcode
Cette section répertorie et décrit les tâches Xcode que vous devez effectuer, notamment :
- Ajouter les frameworks et les bibliothèques
- Passez en revue et mettez à jour les fonctionnalités suivantes :
-
info.plist
lime - Paramètres de build
- Partage du trousseau
-
- Utiliser les exemples pour mettre à jour le projet Xcode AppDelegate et ajouter un fichier de délégué Microsoft Tunnel
Étape 1 : Ajouter les frameworks et les bibliothèques
Les frameworks suivants incluent les API et les méthodes de délégation nécessaires pour communiquer avec la passerelle Microsoft Tunnel Intune. Ils implémentent les fonctionnalités VPN de Microsoft Tunnel dans l’application.
Pour activer le Kit de développement logiciel (SDK) iOS Tunnel pour MAM, procédez comme suit :
Téléchargez et extrayez le Kit de développement logiciel (SDK) iOS Tunnel pour MAM dans un dossier sur un ordinateur macOS. Cette tâche est également répertoriée dans les conditions préalables.
Copiez les neuf frameworks suivants dans le dossier infrastructures de projet d’application Xcode :
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Dans le projet Xcode, sélectionnez votre projet > d’application Ajouter des fichiers. Dans l’exemple suivant, les fichiers sont ajoutés à un projet d’application appelé « Flash Chat » :
DansCIBLESDU PROJET>, sélectionnez Build Phases>Embed Frameworks. Ajoutez (+) les neuf frameworks :
L’exemple suivant montre les neuf frameworks ajoutés :
Dans CIBLES DU PROJET>, sélectionnez Phases de génération Lier un>binaire à des bibliothèques. Dans la liste, seule l’infrastructure
MicrosoftTunnelApi.xcframework
doit être ajoutée. Si d’autres frameworks sont répertoriés, supprimez-les à l’aide de la valeur moins (-) :
Étape 2 : Mettre à jour le info.plist
fichier
Dans le info.plist
pour le projet d’application Xcode, vérifiez les paramètres suivants :
ID de bundle : assurez-vous que le même ID de bundle répertorié dans l’inscription de l’application Microsoft Entra pour l’application mobile iOS est le même ID de bundle dans votre projet d’application :
Pour vérifier l’ID du bundle :
Types d’URL : dansCIBLESDU PROJET>, sélectionnez Informations.
Dans Types d’URL, vérifiez que la
$(PRODUCT_BUNDLE_IDENTIFIER)
variable est là. Lorsque vous avez intégré le SDK d’application Intune pour iOS à votre projet d’application (condition requise), cette variable doit avoir été créée.Si la variable n’y figure pas, vous devez l’ajouter :
À l’aide du SDK d’application Intune pour iOS (condition requise), créez une
info.plist
propriété Array et nommez-la Schémas d’URL interrogées.Ajoutez les éléments de chaîne répertoriés dans le guide du SDK d’application Intune pour les développeurs iOS – Étape 5. Cette étape crée les schémas d’URL du SDK GAM Intune.
L’exemple suivant montre le fichier info.plist utilisant des schémas d’URL interrogées :
Ajoutez la
$(PRODUCT_BUNDLE_IDENTIFIER)
variable .L’exemple suivant montre la
$(PRODUCT_BUNDLE_IDENTIFIER)
variable dans types d’URL :
IntuneMAMSettings : vérifiez que les paramètres MSAL suivants sont configurés avec les valeurs d’inscription d’application Microsoft Entra appropriées :
Accédez auxinformations cibles> du projet>.
Sélectionnez IntuneMAMParamètres. Confirmez vos paramètres :
-
ADALAuthority
: entrez l’ID de locataire Microsoft Entra, par exemplehttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
. -
ADALClientId
: entrez l’ID client de l’application. -
ADALRedirectUri
: entrezmsauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth
.
-
Lorsque vous avez intégré le SDK d’application Intune pour iOS à votre projet d’application (condition requise), ces paramètres doivent avoir été configurés.
Si ces paramètres ne sont pas configurés, vous devez les configurer. Pour créer la propriété intuneMAMSettings Dictionary et les chaînes
info.plist
de la bibliothèque d’authentification Microsoft associées, suivez le guide du développeur sdk d’application Intune pour iOS (un prérequis requis) dans Configurer les paramètres MSAL pour les instructions du SDK d’application Intune .L’exemple suivant montre ces valeurs configurées :
Étape 3 : Désactiver le code binaire
- Accédez à PROJECT>TARGETS>Build settings .
- Sélectionnez Options de génération>Activer le code binaire.
- Sélectionnez Non.
Étape 4 : Ajouter le partage de trousseau
Le partage de trousseau peut ou non être présent dans le projet d’application. Si ce n'est pas le cas, ajoutez-la :
- Accédez à PROJECT>TARGETS>Signature & Capabilities.
- Sélectionnez Partage de trousseau.
- Dans la liste Groupes de trousseaux , ajoutez (+)
com.microsoft.workplacejoin
.
Étape 5 : Intégrer le Kit de développement logiciel (SDK) à votre application
✔️ Utilisez l’exemple TunnelMAMTestApp2.xcproject
d’application.
En fonction de l’application métier et de son implémentation/objectif prévu, l’utilisation de MicrosoftTunnelApi
peut varier. Il existe certaines fonctionnalités de base à connaître lorsque vous intégrez le KIT de développement logiciel (SDK) à votre application :
- Toutes les interactions avec le Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM sont gérées via un
MicrosoftTunnelAPI
objet singleton. - L’objet
MicrosoftTunnelAPI
interagit avec l’application à l’aide d’un délégué qui implémente uneMicrosoftTunnelDelegate
interface.
Pour comprendre comment écrire le délégué Microsoft Tunnel et comment initialiser le MicrosoftTunnelAPI
, utilisez les exemples d’applications sdk iOS Microsoft Tunnel pour MAM (ouvre un site GitHub).
Dans les exemples d’applications, le projet Xcode AppDelegate montre :
- Comment gérer les rappels d’URL MSAL
- Guide pratique pour démarrer le processus d’inscription et d’initialisation requis pour Tunnel
Pour commencer, ouvrez l’exemple TunnelMAMTestApp2.xcproject
d’application et examinez appDelegate & MicrosoftTunnelDelegate dans le projet d’application.
Exemple d’applications
✔️ Téléchargez à l’adresse Microsoft Tunnel for MAM iOS SDK sample apps (ouvre un site GitHub).
Ces exemples d’applications peuvent vous aider à démarrer et à couvrir différents scénarios.
Méthodes MicrosoftTunnelAPI
Inclut MicrosoftTunnelAPI
les méthodes suivantes :
Initialize
: vérifie et définit les configurations VPN, configure la journalisation et configure l’instanceMicrosoftTunnelAPI
.Connect
: obtient l’instanceMicrosoftTunnelAPI
et active l’interception du trafic réseau. Si l’API n’est pas initialisée, une erreur s’affiche.Disconnect
- Obtient l’instanceMicrosoftTunnelAPI
et désactive l’interception du trafic réseau. Si l’API n’est pas initialisée, une erreur s’affiche.onTokenRequired
–Optionnel. Si votre application s’intègre déjà àIntuneMAM
ou à MSAL, vous devez implémenter cetteonTokenRequired
méthode. Cette méthode utilise msalIntuneMAMSettings
et pour obtenir un jeton d’authentification valide pour se connecter à la passerelle Microsoft Tunnel.Logging
: il existe différentes classes de journalisation, indiquées park
. Par exemple,kLoggingClassConnect
crée une sortie de journalisation dans la console Xcode. Ces clés de configuration de journalisation peuvent être ajoutées à la configuration du délégué. Il existe quelques exemples de ces classes de journalisation dans les exemples d’applications.kLoggingClassInternal
kLoggingClassConnect
kLoggingClassPacket
kLoggingClassSocket
kLoggingClassHttp
kLoggingClassIntune
kLoggingClassMobileAccess
kLoggingSeverityDebug
kLoggingSeverityInfo
kLoggingSeverityWarn
kLoggingSeverityMinor
kLoggingSeverityMajor
kLoggingSeverityCrit
Avertissement
N’utilisez pas de clés de débogage dans les applications déployées. Les clés peuvent journaliser et afficher les informations d’identification de l’utilisateur et les données de sécurité.
Journalisation sur les applications métier iOS/iPadOS
L’intégration du Kit de développement logiciel (SDK) n’active pas automatiquement la journalisation. Le développeur doit ajouter le code approprié pour implémenter l’infrastructure de délégué de journalisation et effectuer les appels de journalisation appropriés. L’implémentation spécifique varie en fonction du Kit de développement logiciel (SDK) et des exigences du développeur.
Le développeur doit :
Assurez-vous qu’ils n’incluent pas de données personnelles identifiables par le client ou l’utilisateur final dans leur journalisation. Ils doivent se conformer aux réglementations en matière de confidentialité.
Consultez et collaborez avec l’équipe de confidentialité de l’entreprise/de l’organisation. L’équipe de confidentialité peut fournir des conseils sur les données appropriées qui peuvent être journalisées et les méthodes appropriées de gestion des données sensibles.
Avertissement
Pour obtenir des conseils spécifiques sur la journalisation et la confidentialité des données, consultez la documentation relative à la confidentialité du SDK iOS Microsoft Tunnel pour MAM (ouvre un fichier PDF dans GitHub).
exemple de méthode de délégué de journal MAM-Tunnel
Informations de confidentialité de Microsoft Tunnel pour la gestion des applications mobiles
Votre vie privée est importante pour nous. Consultez la documentation en ligne relative à la confidentialité suivante :
- Déclaration de confidentialité Microsoft
- Confidentialité et données à caractère personnel dans Intune
- Stockage et traitement des données dans Intune
Lors de l’intégration du Kit de développement logiciel (SDK) iOS Microsoft Tunnel pour MAM dans les applications mobiles, les données suivantes sont collectées lorsqu’un développeur :
- Active le module de télémétrie GAM Intune dans l’application
Les données collectées peuvent inclure les zones suivantes :
- Version du Kit de développement logiciel (SDK) Microsoft Tunnel pour MAM
- Informations utilisateur générées par Microsoft
- ID d'appareil
- Informations matérielles et logicielles
- Marque de l’appareil
- Modèle du périphérique
- Version du système d’exploitation de l’appareil
- Informations d’administration et de compte
- ID de locataire Intune
- ID de locataire Microsoft Entra
- Mesure de l’utilisation :
- Initialisation VPN
- Événements de connexion et de déconnexion VPN
- Informations relatives aux erreurs
- Erreurs liées à l’échec de connexion VPN
Aucune information d’identification de l’utilisateur n’est collectée.
Importante
En tant que développeur, lors de l’intégration du SDK, il est important de ne pas inclure de données d’identification utilisateur lors de l’utilisation du code pour traiter et capturer des messages dans votre application.
Problèmes connus
Pour plus d’informations sur les problèmes connus, consultez le guide d’administration Microsoft Tunnel pour MAM pour iOS/iPadOS - Intune.
Étapes suivantes
Microsoft Tunnel pour GAM pour iOS/iPadOS - Guide d’administration Intune