Préparer des applications iOS pour les stratégies de protection des applications avec l’outil de création de package de restrictions d’application Intune

Utilisez la Microsoft Intune App Wrapping Tool pour iOS afin d’activer les stratégies de protection des applications Intune pour les applications iOS internes sans modifier le code de l’application elle-même.

L’outil est une application en ligne de commande macOS qui crée un wrapper autour d’une application. Une fois qu’une application est traitée, vous pouvez modifier les fonctionnalités de l’application en y déployant des stratégies de protection des applications.

Pour télécharger l’outil, consultez Microsoft Intune App Wrapping Tool pour iOS sur GitHub.

Remarque

Si vous rencontrez des problèmes lors de l’utilisation de l’App Wrapping Tool Intune avec vos applications, envoyez une demande d’assistance sur GitHub.

Conditions préalables générales pour le App Wrapping Tool

Avant d’exécuter le App Wrapping Tool, vous devez remplir certaines conditions préalables générales :

  • Téléchargez le Microsoft Intune App Wrapping Tool pour iOS à partir de GitHub.

  • Un ordinateur macOS sur lequel l’ensemble d’outils Xcode version 14.0 ou ultérieure est installé.

  • L’application iOS d’entrée doit être développée et signée par votre entreprise ou un éditeur de logiciels indépendant (ISV).

    • Le fichier d’application d’entrée doit avoir l’extension .ipa ou .app.

    • L’application d’entrée doit être compilée pour iOS 14.0 ou version ultérieure.

    • L’application d’entrée ne peut pas être chiffrée.

    • L’application d’entrée ne peut pas avoir d’attributs de fichier étendus.

    • Les droits d’utilisation de l’application d’entrée doivent être définis avant d’être traités par le App Wrapping Tool Intune. Les droits d’utilisation donnent à l’application davantage d’autorisations et de fonctionnalités que celles généralement accordées. Pour obtenir des instructions, consultez Définition des droits d’application .

  • Vérifiez que des certificats de signature valides existent dans votre keychain système. Si vous rencontrez des problèmes de signature de code d’application, procédez comme suit pour résoudre :
    • Réinitialiser les paramètres d’approbation pour tous les certificats associés
    • Installer des certificats intermédiaires dans le système keychain et la connexion keychain
    • Désinstaller et réinstaller tous les certificats associés

Inscrire votre application avec l’ID Microsoft Entra

  1. Inscrivez vos applications avec l’ID Microsoft Entra. Pour plus d’informations, consultez Inscrire une application avec le Plateforme d'identités Microsoft.
  2. Ajoutez l’URL de redirection personnalisée aux paramètres de votre application. Pour plus d’informations, consultez Configuration de MSAL.
  3. Donnez à votre application l’accès au service GAM Intune. Pour plus d’informations, consultez Accorder à votre application l’accès au service De gestion des applications mobiles Intune.
  4. Une fois les modifications ci-dessus terminées, exécutez la dernière version de l’outil de création de package de restrictions d’application Intune. Configurer vos applications pour la bibliothèque d’authentification Microsoft (MSAL) : ajoutez l’ID client de l’application Microsoft Entra aux paramètres de ligne de commande avec le App Wrapping Tool Intune. Pour plus d’informations, consultez Paramètres de ligne de commande.

Remarque

Les paramètres -ac et -ar sont des paramètres obligatoires. Chaque application a besoin d’un ensemble unique de ces paramètres. -aa est requis uniquement pour les applications monolocataires.

  1. Déployez l’application.

Conditions préalables pour les développeurs Apple pour le App Wrapping Tool

Pour distribuer des applications encapsulées exclusivement aux utilisateurs de votre organization, vous avez besoin d’un compte avec le programme Apple Developer Enterprise et de plusieurs entités pour la signature d’application liées à votre compte de développeur Apple.

Pour en savoir plus sur la distribution d’applications iOS en interne aux utilisateurs de votre organization, consultez le guide officiel de distribution des applications du programme d’entreprise pour les développeurs Apple.

Vous aurez besoin des éléments suivants pour distribuer les applications encapsulées par Intune :

  • Un compte de développeur avec le programme Apple Developer Enterprise.

  • Certificat de signature de distribution interne et ad hoc avec identificateur d’équipe valide.

    • Vous aurez besoin du hachage SHA1 du certificat de signature en tant que paramètre pour le App Wrapping Tool Intune.
  • Profil d’approvisionnement de distribution interne.

Étapes de création d’un compte Apple Developer Enterprise

  1. Accédez au site Apple Developer Enterprise Program.

  2. En haut à droite de la page, cliquez sur Inscrire.

  3. Lisez la liste de contrôle de ce dont vous avez besoin pour vous inscrire. Cliquez sur Démarrer votre inscription en bas de la page.

  4. Connectez-vous avec l’ID Apple de votre organization. Si vous n’en avez pas, cliquez sur Créer un ID Apple.

  5. Sélectionnez votre type d’entité , puis cliquez sur Continuer.

  6. Remplissez le formulaire avec les informations de votre organization. Cliquez sur Continuer. À ce stade, Apple vous contacte pour vérifier que vous êtes autorisé à inscrire votre organization.

  7. Après la vérification, cliquez sur Accepter la licence.

  8. Après avoir accepté la licence, terminez en achetant et en activant le programme.

  9. Si vous êtes l’agent d’équipe (la personne qui rejoint le programme Apple Developer Enterprise pour le compte de votre organization), créez d’abord votre équipe en invitant des membres de l’équipe et en leur attribuant des rôles. Pour savoir comment gérer votre équipe, lisez la documentation Apple sur La gestion de votre équipe de compte de développeur.

Étapes de création d’un certificat de signature Apple

  1. Accédez au portail des développeurs Apple.

  2. En haut à droite de la page, cliquez sur Compte.

  3. Connectez-vous avec votre ID Apple d’organisation.

  4. Cliquez sur Certificats, ID & Profils.

    Portail des développeurs Apple - Certificats, ID & Profils

  5. Cliquez sur le portail des développeurs Apple et connectez-vous dans le coin supérieur droit pour ajouter un certificat iOS.

  6. Choisissez de créer un certificat interne et ad hoc sous Production.

    Sélectionner In-House et certificat ad hoc

    Remarque

    Si vous ne prévoyez pas de distribuer l’application et que vous souhaitez uniquement la tester en interne, vous pouvez utiliser un certificat de développement d’applications iOS au lieu d’un certificat pour la production. Si vous utilisez un certificat de développement, vérifiez que le profil d’approvisionnement mobile fait référence aux appareils sur lesquels l’application sera installée.

  7. Cliquez sur Suivant en bas de la page.

  8. Lisez les instructions sur la création d’une demande de signature de certificat (CSR) à l’aide de l’application Trousseau d’accès sur votre ordinateur macOS.

    Lire les instructions pour créer une demande de signature de certificat

  9. Suivez les instructions ci-dessus pour créer une demande de signature de certificat. Sur votre ordinateur macOS, lancez l’application Trousseau d’accès .

  10. Dans le menu macOS en haut de l’écran, accédez à Keychain Access > Certificate Assistant > Demander un certificat auprès d’une autorité de certification.

    Demander un certificat à une autorité de certification dans trousseau d’accès

  11. Suivez les instructions du site du développeur Apple ci-dessus sur la création d’un fichier CSR. Enregistrez le fichier CSR sur votre ordinateur macOS.

    Entrez les informations pour le certificat que vous demandez

  12. Revenez au site du développeur Apple. Cliquez sur Continuer. Chargez ensuite le fichier CSR.

  13. Apple génère votre certificat de signature. Téléchargez et enregistrez-le dans un emplacement mémorable sur votre ordinateur macOS.

    Télécharger votre certificat de signature

  14. Double-cliquez sur le fichier de certificat que vous venez de télécharger pour ajouter le certificat à un keychain.

  15. Ouvrez à nouveau l’accès au trousseau . Recherchez votre certificat en recherchant son nom dans la barre de recherche en haut à droite. Cliquez avec le bouton droit sur l’élément pour afficher le menu, puis cliquez sur Obtenir des informations. Dans les exemples d’écrans, nous utilisons un certificat de développement au lieu d’un certificat de production.

    Ajouter votre certificat à un keychain

  16. Une fenêtre d’information s’affiche. Faites défiler vers le bas et regardez sous l’étiquette Empreintes digitales . Copiez la chaîne SHA1 (floue) à utiliser comme argument pour « -c » pour le App Wrapping Tool.

    Informations sur iPhone - Chaîne SHA1 d’empreintes digitales

Étapes de création d’un profil d’approvisionnement de distribution In-House

  1. Retour au portail du compte de développeur Apple et connectez-vous avec votre ID Apple professionnel.

  2. Cliquez sur Certificats, ID & Profils.

  3. Cliquez sur le portail des développeurs Apple et connectez-vous dans le coin supérieur droit pour ajouter un profil de provisionnement iOS.

  4. Choisissez de créer un profil d’approvisionnement interne sous Distribution.

    Sélectionner le profil d’approvisionnement interne

  5. Cliquez sur Continuer. Veillez à lier le certificat de signature précédemment généré au profil d’approvisionnement.

  6. Suivez les étapes pour télécharger votre profil (avec l’extension .mobileprovision) sur votre ordinateur macOS.

  7. Enregistrez le fichier dans un emplacement mémorable. Ce fichier sera utilisé pour le paramètre -p lors de l’utilisation de la App Wrapping Tool.

Télécharger le App Wrapping Tool

  1. Téléchargez les fichiers de l’App Wrapping Tool à partir de GitHub sur un ordinateur macOS.

  2. Double-cliquez sur Microsoft Intune Packager de restrictions d’application pour iOS.dmg. Une fenêtre avec le Contrat de licence utilisateur final (CLUF) s’affiche. Lisez attentivement le document.

  3. Choisissez Accepter pour accepter le CLUF, qui monte le package sur votre ordinateur.

Exécuter le App Wrapping Tool

Importante

Intune publie régulièrement des mises à jour du App Wrapping Tool Intune. Régulièrement case activée l’App Wrapping Tool Intune pour iOS pour les mises à jour et l’incorporer dans votre cycle de publication de développement logiciel pour vous assurer que vos applications prennent en charge les derniers paramètres de stratégie de protection des applications.

Utiliser le terminal

Ouvrez le terminal macOS et exécutez la commande suivante :

/Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> -p /<path to provisioning profile> -c <SHA1 hash of the certificate> [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>]

Remarque

Certains paramètres sont facultatifs, comme indiqué dans le tableau suivant.

Exemple: L’exemple de commande suivant exécute le App Wrapping Tool sur l’application nommée MyApp.ipa. Un profil d’approvisionnement et un hachage SHA-1 du certificat de signature sont spécifiés et utilisés pour signer l’application encapsulée. L’application de sortie (MyApp_Wrapped.ipa) est créée et stockée dans votre dossier Desktop.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB"  -v true

Paramètres de ligne de commande

Vous pouvez utiliser les paramètres de ligne de commande suivants avec les App Wrapping Tool :

Exemple: L’exemple de commande suivant exécute la App Wrapping Tool, en incorporant les commandes requises lors de l’habillage d’une application pour une utilisation dans un seul locataire.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB" -aa https://login.microsoftonline.com/<tenantID> -ac "Client ID of the input app if the app uses the Microsoft Authentication Library" -ar "Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library"  -v true
Propriété Comment l’utiliser
-Je <Path of the input native iOS application file>. Le nom de fichier doit se terminer par .app ou .ipa.
-O <Path of the wrapped output application>
-P <Path of your provisioning profile for iOS apps>
-C <SHA1 hash of the signing certificate>
-h Affiche des informations d’utilisation détaillées sur les propriétés de ligne de commande disponibles pour le App Wrapping Tool.
-Ac <Client ID of the input app if the app uses the Microsoft Authentication Library> Il s’agit du GUID dans le champ ID client de la description de votre application dans le panneau Inscription de l’application.
-Ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> Il s’agit de l’URI de redirection configuré dans votre inscription d’application. En règle générale, il s’agit du protocole URL de l’application à laquelle l’application Microsoft Authenticator retournerait après l’authentification répartie.
-Aa (Requis pour les applications monolocataires) <Authority URI of the input app> C'est-à-dire https://login.microsoftonline.com/<tenantID>/
-C (Facultatif) Génère des messages détaillés dans la console. Il est recommandé d’utiliser cet indicateur pour déboguer les erreurs.
-E (Facultatif) Utilisez cet indicateur pour que le App Wrapping Tool supprime les droits manquants lors du traitement de l’application. Pour plus d’informations, consultez Définition des droits d’application .
-Xe (Facultatif) Imprime des informations sur les extensions iOS dans l’application et les droits requis pour les utiliser. Pour plus d’informations, consultez Définition des droits d’application .
-X (Facultatif) <An array of paths to extension provisioning profiles>. Utilisez-la si votre application a besoin de profils d’approvisionnement d’extension.
-B (Facultatif) Utilisez -b sans argument si vous souhaitez que l’application de sortie encapsulée ait la même version de bundle que l’application d’entrée (non recommandé).

Utilisez -b <custom bundle version> si vous souhaitez que l’application encapsulée dispose d’un CFBundleVersion personnalisé. Si vous choisissez de spécifier un CFBundleVersion personnalisé, il est judicieux d’incrémenter la version CFBundleVersion de l’application native par le composant le moins significatif, comme 1.0.0 -> 1.0.1.
-F (Facultatif) <Path to a plist file specifying arguments.> Utilisez cet indicateur devant le fichier plist si vous choisissez d’utiliser le modèle plist pour spécifier le reste des propriétés IntuneMAMPackager telles que -i, -o et -p. Consultez Utiliser une liste plist pour entrer des arguments.
-Dt (Facultatif) Désactivez la collecte des données de télémétrie du client Microsoft Intune.
-Dl (Facultatif) Désactivez les journaux MSAL des journaux INtune pour les applications qui ont intégré à MSAL et implémentez leur propre rappel de journalisation MSAL.

Utiliser une plist pour entrer des arguments

Un moyen simple d’exécuter le App Wrapping Tool consiste à placer tous les arguments de commande dans un fichier plist. Plist est un format de fichier similaire à XML que vous pouvez utiliser pour entrer vos arguments de ligne de commande à l’aide d’une interface de formulaire.

Dans le dossier IntuneMAMPackager/Contents/MacOS, ouvrez Parameters.plist (un modèle plist vide) avec un éditeur de texte ou Xcode. Entrez vos arguments pour les clés suivantes :

Clé Plist Type Valeur par défaut Notes
Chemin du package d’application d’entrée String vide Identique à -i
Chemin d’accès du package d’application de sortie String vide Identique à -o
Chemin d’accès du profil d’approvisionnement String vide Identique à -p
Hachage du certificat SHA-1 String vide Identique à -c
Autorité MSAL String vide Identique à -aa
MSAL Client ID String vide Identique à -ac
URI de réponse MSAL String vide Identique à -ar
Détaillé activé Boolean false Identique à -v
Supprimer les droits manquants Boolean false Identique à -e
Empêcher la mise à jour de build par défaut Boolean false Équivaut à utiliser -b sans arguments
Remplacement de chaîne de build String vide CfBundleVersion personnalisée de l’application de sortie encapsulée
Chemins d’accès de profil d’approvisionnement d’extension Tableau de chaînes vide Tableau de profils d’approvisionnement d’extension pour l’application.
Désactiver la télémétrie Boolean false Identique à -dt
Désactiver le remplacement du journal MSAL Boolean false Identique à -dl

Exécutez IntuneMAMPackager avec plist comme seul argument :

./IntuneMAMPackager –f Parameters.plist

Post-wrapping

Une fois le processus d’habillage terminé, le message « L’application a été correctement encapsulée » s’affiche. Si une erreur se produit, consultez Messages d’erreur pour obtenir de l’aide.

L’application encapsulée est enregistrée dans le dossier de sortie que vous avez spécifié précédemment. Vous pouvez charger l’application dans le Centre d’administration Intune et l’associer à une stratégie de gestion des applications mobiles.

Importante

Lors du chargement d’une application encapsulée, vous pouvez essayer de mettre à jour une version antérieure de l’application si une version antérieure (encapsulée ou native) a déjà été déployée sur Intune. Si vous rencontrez une erreur, chargez l’application en tant que nouvelle application et supprimez l’ancienne version.

Vous pouvez maintenant déployer l’application sur vos groupes d’utilisateurs et cibler des stratégies de protection des applications sur l’application. L’application s’exécute sur l’appareil à l’aide des stratégies de protection des applications que vous avez spécifiées.

À quelle fréquence dois-je réencapsuler mon application iOS avec le App Wrapping Tool Intune ?

Les scénarios main dans lesquels vous devez réencapsuler vos applications sont les suivants :

  • L’application elle-même a publié une nouvelle version. La version précédente de l’application a été encapsulée et chargée dans le Centre d’administration Intune.
  • Le App Wrapping Tool Intune pour iOS a publié une nouvelle version qui active les correctifs de bogues clés ou de nouvelles fonctionnalités de stratégie de protection des applications Intune spécifiques. Cela se produit après 6 à 8 semaines via le dépôt GitHub pour le Microsoft Intune App Wrapping Tool pour iOS.

Pour iOS/iPadOS, bien qu’il soit possible d’encapsuler avec un profil de certificat/de provisionnement différent de celui utilisé d’origine pour signer l’application, si les droits spécifiés dans l’application ne sont pas inclus dans le nouveau profil d’approvisionnement, l’habillage échoue. L’utilisation de l’option de ligne de commande « -e », qui supprime les droits manquants de l’application, pour forcer l’habillage à ne pas échouer dans ce scénario, peut entraîner une défaillance des fonctionnalités dans l’application.

Voici quelques bonnes pratiques en matière de réencapsulage :

  • Vérifier qu’un profil d’approvisionnement différent dispose de tous les droits requis comme tout profil d’approvisionnement précédent.

Messages d’erreur et fichiers journaux

Utilisez les informations suivantes pour résoudre les problèmes que vous rencontrez avec l’outil de création de package de restrictions d’application.

Messages d’erreur

Si l’outil de création de package de restrictions d’application échoue, l’un des messages d’erreur suivants s’affiche dans la console :

Message d’erreur Informations supplémentaires
Vous devez spécifier un profil de provisionnement iOS valide. Votre profil d’approvisionnement n’est peut-être pas valide. Vérifiez que vous disposez des autorisations appropriées pour les appareils et que votre profil cible correctement le développement ou la distribution. Votre profil d’approvisionnement peut également avoir expiré.
Spécifiez un nom d’application d’entrée valide. Assurez-vous que le nom de l’application d’entrée que vous avez spécifié est correct.
Spécifiez un chemin d’accès valide à l’application de sortie. Assurez-vous que le chemin d’accès à l’application de sortie que vous avez spécifiée existe et qu’il est correct.
Spécifiez un profil d’approvisionnement d’entrée valide. Vérifiez que vous avez fourni un nom et une extension de profil d’approvisionnement valides. Il se peut que votre profil d’approvisionnement ne comporte pas de droits ou que vous n’ayez pas inclus l’option de ligne de commande –p.
L’application d’entrée que vous avez spécifiée est introuvable. Spécifiez un nom et un chemin d’accès d’application d’entrée valides. Vérifiez que le chemin d’accès de votre application d’entrée est valide et existe. Vérifiez que l’application d’entrée existe à cet emplacement.
Le fichier de profil d’approvisionnement d’entrée que vous avez spécifié est introuvable. Spécifiez un fichier de profil d’approvisionnement d’entrée valide. Assurez-vous que le chemin d’accès au fichier d’approvisionnement d’entrée est valide et que le fichier que vous avez spécifié existe.
Le dossier d’application de sortie que vous avez spécifié est introuvable. Spécifiez un chemin d’accès valide à l’application de sortie. Vérifiez que le chemin de sortie que vous avez spécifié est valide et existe.
L’application de sortie n’a pas l’extension .ipa . Seules les applications avec les extensions .app et .ipa sont acceptées par le App Wrapping Tool. Vérifiez que votre fichier de sortie a une extension valide.
Un certificat de signature non valide a été spécifié. Spécifiez un certificat de signature Apple valide. Vérifiez que vous avez téléchargé le certificat de signature approprié à partir du portail des développeurs Apple. Votre certificat a peut-être expiré ou une clé publique ou privée est peut-être manquante. Si votre certificat Apple et votre profil de provisionnement peuvent être utilisés pour signer correctement une application dans Xcode, ils sont valides pour la App Wrapping Tool. En outre, vérifiez que le certificat de signature a un nom unique dans le keychain de l’ordinateur macOS hôte. S’il existe plusieurs versions du même certificat dans le keychain cette erreur peut être retournée.
L’application d’entrée que vous avez spécifiée n’est pas valide. Spécifiez une application valide. Vérifiez que vous disposez d’une application iOS valide qui a été compilée en tant que fichier .app ou .ipa.
L’application d’entrée que vous avez spécifiée est chiffrée. Spécifiez une application non chiffrée valide. Le App Wrapping Tool ne prend pas en charge les applications chiffrées. Fournissez une application non chiffrée.
L’application d’entrée que vous avez spécifiée n’est pas au format PIE (Position Independent Executable). Spécifiez une application valide au format PIE. Les applications PIE (Position Independent Executable) peuvent être chargées à une adresse mémoire aléatoire lors de l’exécution. Cela peut avoir des avantages en matière de sécurité. Pour plus d’informations sur les avantages de la sécurité, consultez votre documentation Apple Developer.
L’application d’entrée que vous avez spécifiée a déjà été encapsulée. Spécifiez une application non encapsulée valide. Vous ne pouvez pas traiter une application qui a déjà été traitée par l’outil. Si vous souhaitez traiter à nouveau une application, exécutez l’outil à l’aide de la version d’origine de l’application.
L’application d’entrée que vous avez spécifiée n’est pas signée. Spécifiez une application signée valide. L’outil de création de package de restrictions d’application nécessite que les applications soient signées. Consultez la documentation de votre développeur pour savoir comment signer une application encapsulée.
L’application d’entrée que vous avez spécifiée doit être au format .ipa ou .app. Seules les extensions .app et .ipa sont acceptées par l’outil de création de package de restrictions d’application. Vérifiez que votre fichier d’entrée a une extension valide et qu’il a été compilé en tant que fichier .app ou .ipa.
L’application d’entrée que vous avez spécifiée a déjà été encapsulée et se trouve sur la dernière version du modèle de stratégie. Le App Wrapping Tool ne réencapsure pas une application encapsulée existante avec la dernière version du modèle de stratégie.
AVERTISSEMENT : Vous n’avez pas spécifié de hachage de certificat SHA1. Assurez-vous que votre application encapsulée est signée avant le déploiement. Veillez à spécifier un hachage SHA1 valide suivant l’indicateur de ligne de commande –c.

Collecte des journaux pour vos applications encapsulées à partir de l’appareil

Procédez comme suit pour obtenir les journaux de vos applications encapsulées lors de la résolution des problèmes.

  1. Accédez à l’application Paramètres iOS sur votre appareil et sélectionnez votre application métier.
  2. Sélectionnez Microsoft Intune.
  3. Basculez le paramètre Afficher la console de diagnostic surActivé.
  4. Lancez votre application métier.
  5. Cliquez sur le lien « Prise en main ».
  6. Vous pouvez désormais envoyer des journaux directement à Microsoft ou les partager via une autre application sur l’appareil.

Remarque

La fonctionnalité de journalisation est activée pour les applications qui ont été encapsulées avec Intune App Wrapping Tool version 7.1.13 ou ultérieure.

Collecte des journaux d’incident à partir du système

Votre application peut enregistrer des informations utiles dans la console de l’appareil client iOS. Ces informations sont utiles lorsque vous rencontrez des problèmes avec l’application et que vous devez déterminer si le problème est lié au App Wrapping Tool ou à l’application elle-même. Pour récupérer ces informations, procédez comme suit :

  1. Reproduisez le problème en exécutant l’application.

  2. Collectez la sortie de la console en suivant les instructions d’Apple pour le débogage des applications iOS déployées.

Les applications encapsulées présentent également aux utilisateurs la possibilité d’envoyer des journaux directement à partir de l’appareil par e-mail après le blocage de l’application. Les utilisateurs peuvent vous envoyer les journaux pour les examiner et les transférer à Microsoft si nécessaire.

Exigences en matière de certificat, de profil d’approvisionnement et d’authentification

Le App Wrapping Tool pour iOS a certaines exigences qui doivent être remplies afin de garantir une fonctionnalité complète.

Conditions requises Détails
Profil d’approvisionnement iOS Assurez-vous que le profil d’approvisionnement est valide avant de l’inclure. Le App Wrapping Tool ne case activée pas si le profil d’approvisionnement a expiré lors du traitement d’une application iOS. Si un profil d’approvisionnement expiré est spécifié, l’outil de création de package de restrictions d’application inclut le profil d’approvisionnement expiré et vous ne saurez pas qu’il y aura un problème tant que l’application ne parvient pas à s’installer sur un appareil iOS.
Certificat de signature iOS Assurez-vous que le certificat de signature est valide avant de le spécifier. L’outil ne case activée pas si un certificat a expiré lors du traitement des applications iOS. Si le hachage d’un certificat expiré est fourni, l’outil traite et signe l’application, mais ne parvient pas à s’installer sur les appareils.

Assurez-vous que le certificat fourni pour la signature de l’application encapsulée a une correspondance dans le profil d’approvisionnement. L’outil ne vérifie pas si le profil d’approvisionnement a une correspondance pour le certificat fourni pour la signature de l’application encapsulée.
Authentification Un appareil doit disposer d’un code confidentiel pour que le chiffrement fonctionne. Sur les appareils sur lesquels vous avez déployé une application encapsulée, le fait de toucher la barre de status sur l’appareil oblige l’utilisateur à se reconnecter avec un compte professionnel ou scolaire. La stratégie par défaut dans une application encapsulée est l’authentification lors de la relance. iOS gère toute notification externe (comme un appel téléphonique) en quittant l’application, puis en la relançant.

Définition des droits d’application

Avant d’encapsuler votre application, vous pouvez accorder des droits pour accorder à l’application des autorisations et des fonctionnalités supplémentaires qui dépassent ce qu’une application peut généralement faire. Un fichier de droits est utilisé lors de la signature du code pour spécifier des autorisations spéciales dans votre application (par exemple, l’accès à un keychain partagé). Des services d’application spécifiques appelés fonctionnalités sont activés dans Xcode pendant le développement de l’application. Une fois activées, les fonctionnalités sont reflétées dans votre fichier de droits. Pour plus d’informations sur les droits et les fonctionnalités, consultez Ajout de fonctionnalités dans la bibliothèque de développeurs iOS. Pour obtenir la liste complète des fonctionnalités prises en charge, consultez Fonctionnalités prises en charge.

Fonctionnalités prises en charge pour le App Wrapping Tool pour iOS

Fonctionnalité Description Conseils recommandés
Groupes d’applications Utilisez des groupes d’applications pour autoriser plusieurs applications à accéder à des conteneurs partagés et permettre une communication interprocessus supplémentaire entre les applications.

Pour activer les groupes d’applications, ouvrez le volet Fonctionnalités et cliquez sur ACTIVÉ dans Groupes d’applications. Vous pouvez ajouter des groupes d’applications ou sélectionner des groupes d’applications existants.
Lorsque vous utilisez des groupes d’applications, utilisez la notation DNS inversée :

group.com.companyName.AppGroup
Modes d’arrière-plan L’activation des modes d’arrière-plan permet à votre application iOS de continuer à s’exécuter en arrière-plan.
Protection des données La protection des données ajoute un niveau de sécurité aux fichiers stockés sur disque par votre application iOS. La protection des données utilise le matériel de chiffrement intégré présent sur des appareils spécifiques pour stocker des fichiers dans un format chiffré sur disque. Votre application doit être provisionnée pour utiliser la protection des données.
Achat dans l’application L’achat dans l’application incorpore un magasin directement dans votre application en vous permettant de vous connecter au magasin et de traiter en toute sécurité les paiements de l’utilisateur. Vous pouvez utiliser l’achat dans l’application pour collecter le paiement des fonctionnalités améliorées ou du contenu supplémentaire utilisable par votre application.
Partage du trousseau L’activation du partage keychain permet à votre application de partager des mots de passe dans le keychain avec d’autres applications développées par votre équipe. Lorsque vous utilisez le partage keychain, utilisez la notation DNS inversée :

com.companyName.KeychainGroup
VPN personnel Activez le VPN personnel pour permettre à votre application de créer et de contrôler une configuration VPN système personnalisée à l’aide de l’infrastructure d’extension réseau.
Notifications push Apple Push Notification Service (APNs) permet à une application qui ne s’exécute pas au premier plan d’informer l’utilisateur qu’elle dispose d’informations pour l’utilisateur. Pour que les notifications Push fonctionnent, vous devez utiliser un profil d’approvisionnement spécifique à l’application.

Suivez les étapes décrites dans la documentation du développeur Apple.
Configuration des accessoires sans fil L’activation de la configuration des accessoires sans fil ajoute l’infrastructure d’accessoires externes à votre projet et permet à votre application de configurer des accessoires MFi Wi-Fi.

Étapes pour activer les droits d’utilisation

  1. Activez les fonctionnalités de votre application :

    a. Dans Xcode, accédez à la cible de votre application, puis cliquez sur Fonctionnalités.

    b. Activez les fonctionnalités appropriées. Pour plus d’informations sur chaque fonctionnalité et sur la façon de déterminer les valeurs correctes, consultez Ajout de fonctionnalités dans la bibliothèque de développeurs iOS.

    c. Notez tous les ID que vous avez créés pendant le processus. Ces valeurs peuvent également être appelées AppIdentifierPrefix valeurs.

    d. Générez et signez votre application à wrapper.

  2. Activez les droits dans votre profil d’approvisionnement :

    a. Connectez-vous au Centre des membres des développeurs Apple.

    b. Créez un profil d’approvisionnement pour votre application. Pour obtenir des instructions, consultez Comment obtenir les prérequis pour le App Wrapping Tool Intune pour iOS.

    c. Dans votre profil d’approvisionnement, activez les mêmes droits que vous avez dans votre application. Vous devez fournir les mêmes ID (valeurs AppIdentifierPrefix ) que vous avez spécifiés pendant le développement de votre application.

    d. Terminez l’Assistant Profil d’approvisionnement et téléchargez votre fichier.

  3. Vérifiez que vous avez satisfait à toutes les conditions préalables, puis encapsulez l’application.

Résoudre les erreurs courantes avec les droits d’utilisation

Si le App Wrapping Tool pour iOS affiche une erreur de droit, essayez les étapes de dépannage suivantes.

Problème Cause Résolution
Échec de l’analyse des droits générés à partir de l’application d’entrée. Le App Wrapping Tool ne peut pas lire le fichier de droits qui a été extrait de l’application. Le fichier de droits est peut-être mal formé. Inspectez le fichier de droits de votre application. Les instructions suivantes expliquent comment procéder. Lors de l’inspection du fichier de droits, case activée pour toute syntaxe incorrecte. Le fichier doit être au format XML.
Les droits sont manquants dans le profil d’approvisionnement (les droits manquants sont répertoriés). Repackager l’application avec un profil d’approvisionnement qui dispose de ces droits. Il existe une incompatibilité entre les droits activés dans le profil d’approvisionnement et les fonctionnalités activées dans l’application. Cette incompatibilité s’applique également aux ID associés à des fonctionnalités particulières (comme les groupes d’applications et l’accès keychain). En règle générale, vous pouvez créer un profil d’approvisionnement qui active les mêmes fonctionnalités que l’application. Lorsque les ID entre le profil et l’application ne correspondent pas, le App Wrapping Tool remplace les ID s’il est possible de le faire. Si vous recevez toujours cette erreur après avoir créé un profil d’approvisionnement, vous pouvez essayer de supprimer les droits de l’application à l’aide du paramètre –e (consultez la section Utilisation du paramètre –e pour supprimer des droits d’une application).

Rechercher les droits existants d’une application signée

Pour passer en revue les droits existants d’une application signée et d’un profil d’approvisionnement :

  1. Recherchez le fichier .ipa et remplacez son extension par .zip.

  2. Développez le fichier .zip. Cela génère un dossier Payload contenant votre bundle .app.

  3. Utilisez l’outil codesign pour case activée les droits sur l’offre groupée .app, où YourApp.app est le nom réel de votre bundle .app . :

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Utilisez l’outil de sécurité pour case activée les droits du profil d’approvisionnement incorporé de l’application, où YourApp.app est le nom réel de votre bundle .app.

    security cms -D -i "Payload/YourApp.app/embedded.mobileprovision"
    

Supprimer des droits d’une application à l’aide du paramètre –e

Cette commande supprime toutes les fonctionnalités activées dans l’application qui ne figurent pas dans le fichier de droits. Si vous supprimez les fonctionnalités utilisées par l’application, cela peut interrompre votre application. Par exemple, vous pouvez supprimer des fonctionnalités manquantes dans une application produite par un fournisseur qui a toutes les fonctionnalités par défaut.

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager –i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> –p /<path to provisioning profile> –c <SHA1 hash of the certificate> -e

Sécurité et confidentialité des App Wrapping Tool

Utilisez les meilleures pratiques de sécurité et de confidentialité suivantes lorsque vous utilisez la App Wrapping Tool.

  • Le certificat de signature, le profil d’approvisionnement et l’application métier que vous spécifiez doivent se trouver sur la même machine macOS que celle utilisée pour exécuter l’outil de création de package de restrictions d’application. Si les fichiers se trouvent sur un chemin UNC, assurez-vous qu’ils sont accessibles à partir de l’ordinateur macOS. Le chemin d’accès doit être sécurisé via une signature IPsec ou SMB.

    L’application encapsulée importée dans le centre d’administration doit se trouver sur le même ordinateur que celui sur lequel vous exécutez l’outil. Si le fichier se trouve sur un chemin UNC, vérifiez qu’il est accessible sur l’ordinateur exécutant le centre d’administration. Le chemin d’accès doit être sécurisé via une signature IPsec ou SMB.

  • L’environnement dans lequel le App Wrapping Tool est téléchargé à partir du dépôt GitHub doit être sécurisé via une signature IPsec ou SMB.

  • L’application que vous traitez doit provenir d’une source digne de confiance pour garantir la protection contre les attaques.

  • Assurez-vous que le dossier de sortie que vous spécifiez dans le App Wrapping Tool est sécurisé, en particulier s’il s’agit d’un dossier distant.

  • Les applications iOS qui incluent une boîte de dialogue de chargement de fichiers peuvent permettre aux utilisateurs de contourner, couper, copier et coller les restrictions appliquées à l’application. Par exemple, un utilisateur peut utiliser la boîte de dialogue de chargement de fichier pour charger une capture d’écran des données de l’application.

  • Lorsque vous surveillez le dossier documents sur votre appareil à partir d’une application encapsulée, vous pouvez voir un dossier nommé .msftintuneapplauncher. Si vous modifiez ou supprimez ce fichier, cela peut affecter le bon fonctionnement des applications restreintes.

  • L’inscription de schémas d’URL personnalisés permet à des URL spécifiques de rediriger vers votre application. iOS et iPadOS permettent à plusieurs applications d’inscrire le même schéma d’URL personnalisé et le système d’exploitation détermine quelle application est appelée. Reportez-vous à la documentation Apple Définition d’un schéma d’URL personnalisée pour votre application pour obtenir des recommandations afin d’éviter les collisions de schémas d’URL personnalisées et des instructions de sécurité pour la gestion des URL incorrectes.

Voir aussi