Préparer les applications iOS aux stratégies de protection des applications avec le Intune App Wrapping Tool

Utilisez le Microsoft Intune App Wrapping Tool pour iOS pour activer Intune stratégies de protection des applications 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 une enveloppe 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 liés à l’utilisation du Intune App Wrapping Tool avec vos applications, envoyez une demande d’assistance sur GitHub.

Conditions générales préalables pour l’App Wrapping Tool

Avant d’exécuter l’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 Xcode toolset version 16.0 ou ultérieure est installé.

  • Votre entreprise ou un éditeur de logiciels indépendant (ISV) doit développer et signer l’application iOS d’entrée.

    • Le fichier doit avoir l’extension .ipa ou .app.

    • Il doit être compilé pour iOS 16.0 ou version ultérieure.

    • il ne peut pas être chiffré.

    • Aucun attribut de fichier étendu.

    • Définissez les droits avant de traiter l’application avec le Intune App Wrapping Tool. Les droits donnent à l’application plus d’autorisations et de fonctionnalités au-delà des autorisations généralement accordées. Pour obtenir des instructions, consultez Définition des droits d’application .

  • Assurez-vous que des certificats de signature valides existent dans votre trousseau système. Si vous rencontrez des problèmes de signature de code d’application, procédez comme suit pour les résoudre :
    • Réinitialiser les paramètres de confiance pour tous les certificats associés
    • Installer des certificats intermédiaires dans le trousseau système et le trousseau de connexion
    • Désinstallez et réinstallez tous les certificats associés

Inscrire votre application avec Microsoft Entra ID

  1. Inscrivez vos applications avec Microsoft Entra ID. Pour plus d’informations, voir Inscrire une application sur la 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. Accordez à votre application l’accès au service GAM d’Intune. Pour plus d’informations, reportez-vous à la rubrique Autoriser votre application à accéder au service Intune Gestion des applications mobiles.
  4. Une fois les modifications ci-dessus terminées, exécutez la dernière version de l’outil d’habillage d’application Intune. Configurer vos applications pour la bibliothèque d’authentification Microsoft (MSAL) : ajoutez l’ID client de l’application Microsoft Entra dans les paramètres de ligne de commande avec le Intune App Wrapping Tool. 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 à locataire unique.

  1. Déployez l’application.

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

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

Pour en savoir plus sur la distribution d’applications iOS en interne aux utilisateurs de votre organisation, lisez le guide officiel de distribution d’applications Apple Developer Enterprise Program.

Vous avez 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 avez besoin du hachage SHA1 du certificat de signature en tant que paramètre du Intune App Wrapping Tool.
  • Profil d’approvisionnement de distribution interne.

Créer un compte Apple Developer Enterprise

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

  2. Dans le coin supérieur droit de la page, sélectionnez S’inscrire.

  3. Lisez la liste de contrôle de ce que vous devez inscrire. Sélectionnez Commencer votre inscription en bas de la page.

  4. Connectez-vous avec le compte Apple de votre organization. Si vous n’en avez pas, sélectionnez Créer un compte Apple.

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

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

  7. Après vérification, sélectionnez 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 votre organisation), invitez des membres de l’équipe et attribuez-leur des rôles pour constituer votre équipe. Pour savoir comment gérer votre équipe, consultez la documentation Apple sur la gestion de votre équipe de compte de développeur.

Créer un certificat de signature Apple

  1. Accédez au portail Apple Developer.

  2. En haut à droite de la page, sélectionnez Compte.

  3. Connectez-vous à l’aide de votre compte Apple professionnel.

  4. Sélectionnez Certificats, ID & profils.

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

  5. Sélectionnez le signe plus du portail des développeurs Apple dans le coin supérieur droit. Cette action ajoute un certificat iOS.

  6. Choisissez de créer un certificat interne et ad hoc en cours de production.

    Sélectionner In-House et certificat ad hoc

    Remarque

    Si vous n’envisagez pas de distribuer l’application et 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, assurez-vous que le profil d’approvisionnement mobile inclut les appareils sur lesquels vous prévoyez d’installer l’application.

  7. Sélectionnez Suivant en bas de la page.

  8. Lisez les instructions de 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 CSR

  9. Suivez les instructions précédentes 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 à Trousseau d’accès > Assistant > Certificat Demander un certificat auprès d’une autorité de certification.

    Demander un certificat auprès d’une autorité de certification dans Trousseau d’accès

  11. Suivez les instructions du site des développeurs Apple pour créer un fichier de demande de signature de certificat (CSR). Enregistrez le fichier CSR sur votre ordinateur macOS.

    Entrez des informations pour le certificat que vous demandez

  12. Revenez au site des développeurs Apple. Cliquez sur Continuer. Téléchargez ensuite le fichier CSR.

  13. Apple génère votre certificat de signature. Téléchargez-le 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 avez téléchargé pour ajouter le certificat à un trousseau.

  15. Ouvrez de nouveau Trousseau d’accès . Localisez votre certificat en recherchant son nom dans la barre de recherche supérieure droite. Faites un clic droit sur l’élément pour afficher le menu et sélectionnez Obtenir des informations. Dans les écrans d’exemple, nous utilisons un certificat de développement au lieu d’un certificat de production.

    Ajouter votre certificat à un trousseau

  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 (floutée) pour l’utiliser comme argument de « -c » pour l’App Wrapping Tool.

    Informations sur iPhone – Empreintes digitales Chaîne SHA1

Créer un profil de provisionnement de la distribution In-House

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

  2. Sélectionnez Certificats, ID & profils.

  3. Sélectionnez le signe plus du portail des développeurs Apple dans le coin supérieur droit. Cette action ajoute un profil d’approvisionnement iOS.

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

    Sélectionner un profil d’approvisionnement interne

  5. Cliquez sur Continuer. Assurez-vous de 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 extension .mobileprovision) sur votre ordinateur macOS.

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

Télécharger l’App Wrapping Tool

  1. Téléchargez les fichiers de l’App Wrapping Tool depuis GitHub vers un ordinateur macOS.

  2. Double-cliquez sur Microsoft Intune Application Restrictions Packager pour iOS.dmg. Une fenêtre avec le Contrat de Licence Utilisateur Final (CLUF) s’affiche. Lisez attentivement le document.

  3. Sélectionnez Accepter pour accepter le CLUF, qui monte le package sur votre ordinateur.

Exécuter l’App Wrapping Tool

Importante

Intune publie régulièrement des mises à jour du Intune App Wrapping Tool. Effectuez régulièrement case activée le Intune App Wrapping Tool pour iOS pour obtenir des mises à jour et intégrez-les à 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> -ac <client ID of input app> -ar <redirect URI of input app> [-aa <authority URI of input app>] [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>] [-dt] [-dl] [-ds]

Remarque

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

Exemple : L’exemple de commande suivant exécute l’App Wrapping Tool sur l’application 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 Bureau.

./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" -ac "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ar "msauth.myAppsBundleID://auth" -v

Paramètres de ligne de commande

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

Exemple : L’exemple de commande suivant exécute l’App Wrapping Tool, en incorporant les commandes requises lors de l’encapsulation 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
Propriété Comment l’utiliser
-i <Path of the input native iOS application file>. Le nom du 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 l’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 d’ID client de la liste de votre application dans l’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 vers lequel l’application Microsoft Authenticator revient après l’authentification répartie.
-aa (Obligatoire pour les applications à locataire unique) <Authority URI of the input app> c.-à-d. https://login.microsoftonline.com/<tenantID>/
-v (Facultatif) Génère des messages détaillés dans la console. Utilisez cet indicateur pour déboguer les erreurs.
-e (Facultatif) Utilisez cet indicateur pour que l’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 cette propriété si votre application a besoin de profils de provisionnement d’extension.
-b (Facultatif) Utilisez -b sans argument si vous souhaitez que l’application de sortie encapsulée ait la même version d’offre groupée que l’application d’entrée (non recommandé).

À utiliser -b <custom bundle version> si vous souhaitez que l’application encapsulée ait une version CFBundleVersion personnalisée. Si vous choisissez de spécifier une version CFBundleVersion personnalisée, il est judicieux d’incrémenter la CFBundleVersion de l’application native du 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 comme -i, -o et -p. Voir Utiliser un plist pour saisir des arguments.
-dt (Facultatif) Désactiver la collecte des données client de Microsoft Intune.
-dl (Facultatif) Désactivez les journaux MSAL des journaux Intune pour les applications intégrées à MSAL et implémentant leur propre rappel de journalisation MSAL.
-ds (Facultatif) Désactivez les protections de Intune pour SFSafariViewController, SFAuthSession et ASWebAuthenticationSession.
-mp (Facultatif) <Path to a plist file containing MAM settings to merge into the wrapped app>. Utilisez cette propriété pour fournir des paramètres personnalisés du Kit de développement logiciel (SDK) MAM Intune qui seront fusionnés dans le dictionnaire IntuneMAMSettings de l’application au cours du processus d’encapsulation. Remarque : les paramètres MultiIdentity, MAMPolicyRequired, AutoEnrollOnLaunch, et ne ContainingAppBundleId sont pas pris en charge via -mp car ils sont automatiquement configurés par l’App Wrapping Tool. Les paramètres d’authentification (ADALAuthority, ADALClientId, ADALRedirectUri) ne sont pas non plus pris en charge via -mp et doivent être configurés à l’aide des paramètres de ligne de commande -aa, -ac et -ar.

Utiliser un plist pour saisir des arguments

Une manière simple d’exécuter l’App Wrapping Tool consiste à placer tous les arguments de commande dans un fichier plist. Plist est un format de fichier similaire au 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 de 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
Input Application Package Path String vide Identique à -i
Chemin du package d’application de sortie String vide Identique à -o
Chemin d’accès du profil d’approvisionnement String vide Identique à -p
Hachage de 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
Verbose activé Booléen false Identique à -v
Supprimer les droits manquants Booléen false Identique à -e
Empêcher la mise à jour des builds par défaut Booléen false Équivaut à utiliser -b sans arguments
Remplacement de la chaîne de build String vide CFBundleVersion personnalisé de l’application de sortie encapsulée
Chemins d’accès du profil de provisionnement d’extension Tableau de chaînes vide Tableau de profils de provisionnement d’extension pour l’application.
Désactiver la télémétrie Booléen false Identique à -dt
Désactiver le remplacement de journal MSAL Booléen false Identique à -dl
Paramètres GAM Chemin d’accès de la plist String vide Identique à -mp

Exécutez IntuneMAMPackager avec le plist comme seul argument :

./IntuneMAMPackager –f Parameters.plist

Post-emballage

Une fois le processus de découpage terminé, le message « L’application a été correctement emballée » s’affiche. Si une erreur se produit, consultez la section 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 télécharger l’application dans le Centre d’administration Intune et l’associer à une stratégie de gestion des applications mobiles.

Importante

Lorsque vous téléchargez une application encapsulée, vous pouvez essayer de mettre à jour une ancienne version 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 vers vos groupes d’utilisateurs et cibler les 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 Intune App Wrapping Tool ?

Les principaux scénarios dans lesquels vous auriez besoin de 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 téléchargée dans le Centre d’administration Intune.
  • Le Intune App Wrapping Tool d’iOS a publié une nouvelle version qui active des correctifs de bogues clés ou de nouvelles fonctionnalités spécifiques Intune la stratégie de protection des applications. La publication d’une nouvelle version a lieu toutes les 6 à 8 semaines via le référentiel GitHub pour le Microsoft Intune App Wrapping Tool pour iOS.

Pour iOS/iPadOS, vous pouvez encapsuler l’application avec un certificat ou un profil d’approvisionnement différent de celui utilisé à l’origine pour signer l’application. Toutefois, si le nouveau profil d’approvisionnement n’inclut pas les droits spécifiés dans l’application, le processus d’encapsulation échoue. Si vous utilisez l’option de ligne de commande « -e », qui supprime les droits manquants dans l’application, pour forcer l’exécution de l’encapsulation à ne pas échouer, ce scénario peut entraîner une rupture de fonctionnalité dans l’application.

Voici quelques bonnes pratiques pour le réencapsulage :

  • S’assurer qu’un profil d’approvisionnement différent dispose de tous les droits requis comme n’importe quel 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 wrappage d’application.

Messages d’erreur

Si l’outil d’habillage d’application ne se termine pas correctement, l’un des messages d’erreur suivants s’affiche dans la console :

Message d’erreur Plus d’informations
Vous devez spécifier un profil d’approvisionnement 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 a peut-être également expiré.
Spécifiez un nom d’application d’entrée valide. Vérifiez que le nom de l’application 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 est correct.
Spécifiez un profil de provisionnement d’entrée valide. Assurez-vous d’avoir fourni un nom et une extension de profil d’approvisionnement valides. Il se peut que des droits soient manquants dans votre profil d’approvisionnement ou que l’option de –p ligne de commande ne soit pas incluse.
L’application d’entrée que vous avez spécifiée est introuvable. Spécifiez un nom et un chemin d’application d’entrée valides. Assurez-vous que le chemin de votre entrée d’application est valide et existe. Assurez-vous que l’application d’entrée existe à cet emplacement.
Le fichier de profil de provisionnement d’entrée que vous avez spécifié est introuvable. Spécifiez un fichier de profil de configuration 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 de sortie de l’application que vous avez spécifié est introuvable. Spécifiez un chemin d’accès valide à l’application de sortie. Assurez-vous que le chemin de sortie est correct 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. Assurez-vous 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. Assurez-vous que vous avez téléchargé le certificat de signature correct à partir du portail de développement Apple. Votre certificat a peut-être expiré ou il manque peut-être une clé publique ou privée. Si votre certificat Apple et votre profil d’approvisionnement peuvent être utilisés pour signer correctement une application dans Xcode, ils sont valides pour l’App Wrapping Tool. En outre, vérifiez que le certificat de signature a un nom unique dans le trousseau de l’ordinateur macOS hôte. Si plusieurs versions du même certificat existent dans le trousseau, l’outil renvoie cette erreur.
L’application d’entrée que vous avez spécifiée n’est pas valide. Spécifiez une application valide. Assurez-vous que votre application iOS valide est compilée en tant que .app fichier ou .ipa .
L’application d’entrée que vous avez spécifiée est chiffrée. Spécifiez une application non chiffrée valide. L’App Wrapping Tool ne prend pas en charge les applications chiffrées. Fournir une application non chiffrée.
L’application d’entrée que vous avez spécifiée n’est pas dans un format d’exécutable indépendant de la position (PIE). Spécifier une application valide au format EPI. Les applications exécutables indépendantes de la position (PIE) peuvent être chargées à une adresse de mémoire aléatoire lorsqu’elles sont exécutées. Cette fonctionnalité peut offrir des avantages en matière de sécurité. Pour en savoir plus sur les avantages en matière de sécurité, consultez votre documentation Apple Developer.
L’application d’entrée que vous avez spécifiée est encapsulée. Spécifiez une application non encapsulée valide. Vous ne pouvez pas traiter une application si l’outil l’a déjà traitée. Si vous souhaitez retraiter 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 d’habillage d’applications nécessite que les applications soient signées. Consultez votre documentation de 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. L’outil d’habillage d’application accepte .app uniquement les .ipa extensions. Assurez-vous que votre fichier d’entrée a une extension valide et qu’il est considéré comme un .app fichier ou .ipa .
L’application d’entrée que vous avez spécifiée est encapsulée et se trouve sur la dernière version du modèle de stratégie. L’App Wrapping Tool ne réencapsule 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. Assurez-vous de spécifier un hachage SHA1 valide suivant l’indicateur de –c ligne de commande.

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

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

  1. Accédez à l’application Paramètres iOS sur votre appareil, puis sélectionnez votre application métier.
  2. Sélectionnez Microsoft Intune.
  3. Positionnez le paramètre de la console de diagnostic de l’affichage sur Activé.
  4. Lancez votre application métier.
  5. Sélectionnez le lien « Prise en main ».
  6. Vous pouvez maintenant 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 sont encapsulées avec la version Intune App Wrapping Tool 7.1.13 ou ultérieure.

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

Votre application enregistre peut-être des informations utiles sur 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é à l’App Wrapping Tool ou à l’application elle-même. Pour récupérer ces informations, procédez de la manière suivante :

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

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

Les applications encapsulées offriront également aux utilisateurs la possibilité d’envoyer des journaux directement depuis l’appareil par e-mail après le plantage de l’application. Les utilisateurs peuvent vous envoyer les journaux pour examen et transfert à Microsoft si nécessaire.

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

L’App Wrapping Tool pour iOS a certaines exigences qui doivent être satisfaites 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. L’App Wrapping Tool ne vérifie pas si le profil d’approvisionnement a expiré lors du traitement d’une application iOS dans le cas de l’case activée. Si vous spécifiez un profil d’approvisionnement qui a expiré, l’outil d’habillage d’application l’inclut. Vous ne voyez pas de problème tant que l’application ne parvient pas à s’installer sur un appareil iOS.
Certificat de signature iOS Vérifiez 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 il ne parvient pas à s’installer sur les appareils.

Assurez-vous que le certificat fourni pour la signature de l’application encapsulée correspond au profil d’approvisionnement. L’outil ne valide pas si le profil d’approvisionnement correspond au certificat fourni pour signer l’application encapsulée.
Authentification Un appareil doit avoir 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 nécessite que l’utilisateur se reconnecte avec un compte professionnel ou scolaire. La stratégie par défaut dans une application encapsulée est l’authentification au redémarrage. 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 au sein de votre application (par exemple, l’accès à un trousseau partagé). Des services d’application spécifiques appelés fonctionnalités sont activés dans Xcode pendant le développement d’applications. Une fois activées, les fonctionnalités apparaissent 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 pour 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 l’App Wrapping Tool pour iOS

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

Pour activer les groupes d’applications, ouvrez le volet Fonctionnalités et sélectionnez ACTIVÉ dans les groupes d’applications. Vous pouvez ajouter des groupes d’applications ou sélectionner des groupes existants.
Utilisez la notation DNS (Domain Name System) inversée lorsque vous configurez des groupes d’applications :

group.com.companyName.AppGroup
Modes d’arrière-plan L’activation des modes d’arrière-plan permet à votre application iOS de continuer à fonctionner 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 le disque. Votre application doit être configurée pour utiliser la protection des données.
Achat dans l’application L’achat dans l’application intègre une boutique directement dans votre application en vous connectant à la boutique et en toute sécurité pour traiter les paiements de l’utilisateur. Vous pouvez utiliser l’achat dans l’application pour collecter le paiement des fonctionnalités améliorées ou pour plus de contenu utilisable par votre application.
Partage de trousseau L’activation du partage du trousseau permet à votre application de partager les mots de passe du trousseau avec d’autres applications développées par votre équipe. Lorsque vous utilisez le partage de trousseau, 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 Le service de notification Push Apple (APN) permet à une application qui n’est pas en cours d’exécution d’informer l’utilisateur qu’elle dispose d’informations à son sujet. Pour que les notifications push fonctionnent, vous devez utiliser un profil de configuration spécifique à l’application.

Suivez les étapes de la documentation du développeur Apple.
Configuration des accessoires sans fil L’activation de la configuration des accessoires sans fil ajoute le cadre Accessoire externe à votre projet et permet à votre application de configurer des accessoires Wi-Fi Made for iPhone (MFi).

Étapes pour activer les droits

  1. Activez les fonctionnalités dans votre application :

    a. Dans Xcode, accédez à la cible de votre application et sélectionnez 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 pour développeurs iOS.

    c. Notez les ID que vous avez créés au cours du processus. Ces ID peuvent être appelés les AppIdentifierPrefix valeurs.

    d. Générez et signez votre application pour qu’elle soit encapsulée.

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

    a. Connectez-vous à l’Espace membres Développeur Apple.

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

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

    d. Finalisez l’Assistant Profil de configuration et téléchargez votre fichier.

  3. Assurez-vous que vous remplissez toutes les conditions préalables, puis encapsulez l’application.

Résoudre les erreurs courantes liées aux droits

Si l’App Wrapping Tool pour iOS affiche une erreur d’autorisation, 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. L’App Wrapping Tool ne peut pas lire le fichier de droits extrait de l’application. Le fichier de droits est peut-être incorrect. Inspectez le fichier de droits de votre application. Les instructions suivantes expliquent comment procéder. Lors de l’inspection du fichier de droits, vérifiez la présence éventuelle d’une case activée incorrecte. Le fichier doit être au format XML.
Droits manquants dans le profil d’approvisionnement (les droits manquants sont répertoriés). Repackagez l’application avec un profil d’approvisionnement qui dispose de ces droits. Il existe une inadéquation 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 au trousseau). En règle générale, vous pouvez créer un nouveau 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, l’App Wrapping Tool remplace les ID s’il le peut. Si cette erreur persiste après avoir créé un profil d’approvisionnement, vous pouvez essayer de supprimer des droits de l’application à l’aide du –e paramètre (consultez la –e section Utilisation du paramètre pour supprimer des droits d’une application).

Rechercher les droits existants d’une application signée

Pour vérifier 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. Cette action crée un dossier de charge utile contenant votre offre groupée .app.

  3. Utilisez l’outil de co-conception pour case activée les droits sur l’offre groupée .app, où YourApp.app se trouve le nom réel de votre offre groupée .app.

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. Utilisez l’outil de sécurité pour case activée les droits du profil d’approvisionnement intégré de l’application, où YourApp.app se trouve le nom réel de votre offre groupée .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 sont pas dans le fichier de droits. Si vous supprimez les fonctionnalités utilisées par l’application, votre application peut s’arrêter. Vous pouvez par exemple supprimer des fonctionnalités manquantes dans une application produite par un fournisseur qui dispose de 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> -ac <client ID of input app> -ar <redirect URI of input app> -e

Sécurité et confidentialité pour l’App Wrapping Tool

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

  • Le certificat de signature, le profil d’approvisionnement et l’application cœur de métier que vous spécifiez doivent se trouver sur le même ordinateur macOS que celui que vous utilisez pour exécuter l’outil d’habillage d’application. Si les fichiers se trouvent sur un chemin UNC, assurez-vous que l’ordinateur macOS peut y accéder. 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, assurez-vous 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 l’App Wrapping Tool est téléchargé à partir du référentiel GitHub doit être sécurisé via une signature IPsec ou SMB.

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

  • Assurez-vous que le dossier de sortie que vous spécifiez dans l’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 téléchargement de fichier 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 télé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, il est possible qu’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’enregistrer le même schéma d’URL personnalisé et le système d’exploitation détermine l’application invoquée. Reportez-vous à la documentation Apple Définition d’un schéma d’URL personnalisé pour votre application afin d’obtenir des recommandations pour éviter les collisions de schémas d’URL personnalisés et des instructions de sécurité pour la gestion des URL malformées.

Ressources supplémentaires