Partager via


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 :

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

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

Dessin de l’architecture Microsoft Tunnel Gateway pour MAM sur iOS/iPadOS dans Microsoft Intune.

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

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

  3. Une connexion TCP se produit, qui est une liaison TLS entre le jeton et le serveur tunnel.

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

  5. Lorsque l’application mobile établit une connexion à une ressource d’entreprise locale :

    1. Une API Microsoft Tunnel pour MAM demande de se connecter à la ressource d’entreprise.
    2. 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.plistlime
    • 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 :

  1. 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
  2. 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 » :

    Écran montrant comment ajouter des fichiers au projet d’application dans Xcode sur un appareil macOS.

  3. DansCIBLESDU PROJET>, sélectionnez Build Phases>Embed Frameworks. Ajoutez (+) les neuf frameworks :

    Capture d’écran montrant l’incorporation de frameworks dans Xcode sur un appareil macOS.

    L’exemple suivant montre les neuf frameworks ajoutés :

    Capture d’écran montrant toutes les infrastructures Microsoft Tunnel incorporées dans Xcode sur un appareil macOS.

  4. 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 (-) :

    Capture d’écran montrant comment supprimer des frameworks dans Lier un fichier binaire avec des bibliothèques dans Xcode sur un appareil macOS.

É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 :

    1. Accédez àCIBLES>DU PROJET>Général.

    2. SélectionnezIdentificateur du bundle d’identité> :

      Capture d’écran montrant la sélection du projet, des cibles, du général et de l’identité pour ajouter l’ID de bundle dans Xcode sur un appareil macOS.

  • 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 :

    1. À 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 :

      Capture d’écran montrant la sélection de projets, de cibles, d’informations et de valeurs de schémas d’URL interrogées dans Xcode sur un appareil macOS.

    2. Ajoutez la $(PRODUCT_BUNDLE_IDENTIFIER) variable .

      L’exemple suivant montre la $(PRODUCT_BUNDLE_IDENTIFIER) variable dans types d’URL :

      Capture d’écran montrant la sélection du projet, des cibles, des informations et des types d’URL dans Xcode sur un appareil macOS.

  • IntuneMAMSettings : vérifiez que les paramètres MSAL suivants sont configurés avec les valeurs d’inscription d’application Microsoft Entra appropriées :

    1. Accédez auxinformations cibles> du projet>.

    2. Sélectionnez IntuneMAMParamètres. Confirmez vos paramètres :

      • ADALAuthority: entrez l’ID de locataire Microsoft Entra, par exemple https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: entrez l’ID client de l’application.
      • ADALRedirectUri: entrez msauth.$(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 :

    Capture d’écran montrant la sélection du projet, des cibles, des informations, IntuneMAMSetting dans Xcode sur un appareil macOS.

Étape 3 : Désactiver le code binaire

  1. Accédez à PROJECT>TARGETS>Build settings .
  2. Sélectionnez Options de génération>Activer le code binaire.
  3. Sélectionnez Non.

Capture d’écran montrant la sélection du projet, des cibles, des paramètres de build, des options de génération et la désactivation du code binaire dans Xcode sur un appareil macOS.

É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 :

  1. Accédez à PROJECT>TARGETS>Signature & Capabilities.
  2. Sélectionnez Partage de trousseau.
  3. Dans la liste Groupes de trousseaux , ajoutez (+) com.microsoft.workplacejoin.

Capture d’écran montrant la sélection d’un projet, des cibles, des fonctionnalités de & de signature, le partage de trousseaux et l’ajout d’un groupe de trousseaux dans Xcode sur un appareil macOS.

É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 une MicrosoftTunnelDelegate 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’instance MicrosoftTunnelAPI .

  • Connect : obtient l’instance MicrosoftTunnelAPI et active l’interception du trafic réseau. Si l’API n’est pas initialisée, une erreur s’affiche.

  • Disconnect - Obtient l’instance MicrosoftTunnelAPI 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 cette onTokenRequired méthode. Cette méthode utilise msal IntuneMAMSettings 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 par k. 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

Capture d’écran montrant un exemple de méthode de délégué de journal Microsoft Tunnel dans Xcode sur un appareil macOS.

Capture d’écran montrant un exemple de sortie de journal Microsoft Tunnel dans Xcode sur un appareil macOS.

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 :

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