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

Utilisez la Microsoft Intune App Wrapping Tool pour Android pour modifier le comportement de vos applications Android internes en limitant les fonctionnalités de l’application sans modifier le code de l’application elle-même.

L’outil est une application en ligne de commande Windows qui s’exécute dans PowerShell et crée un wrapper autour de votre application Android. Une fois l’application encapsulée, vous pouvez modifier ses fonctionnalités en configurant des stratégies de gestion des applications mobiles dans Intune.

Avant d’exécuter l’outil, consultez Considérations relatives à la sécurité pour l’exécution de l’App Wrapping Tool. Pour télécharger l’outil, accédez à la Microsoft Intune App Wrapping Tool pour Android sur GitHub.

Remarque

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

Remplissez les conditions préalables à l’utilisation de l’App Wrapping Tool

  • Votre application doit utiliser des bibliothèques à jour

  • Votre application doit être compatible avec les exigences de Google Play

  • Si votre application est complexe, elle doit s’intégrer au SDK d’application Intune pour Android

  • Vous devez exécuter le App Wrapping Tool sur un ordinateur Windows exécutant Windows 10 ou version ultérieure.

  • Votre application d’entrée doit être un package d’application Android valide avec l’extension de fichier .apk et :

    • Il ne peut pas être chiffré.
    • Il ne doit pas avoir été précédemment encapsulé par le Intune App Wrapping Tool.
    • Il doit être écrit pour Android 9.0 ou version ultérieure.

    Remarque

    Si votre application d’entrée est un ensemble d’applications Android (.aab), vous devez la convertir en APK avant d’utiliser le Intune App Wrapping Tool. Pour plus d’informations, consultez Convertir un ensemble d’applications Android (AAB) en APK. À compter d’août 2021, les nouvelles applications privées peuvent toujours être publiées sur le Google Play Store sous la forme de kits DEC.

  • L’application doit être développée par ou pour votre entreprise. Vous ne pouvez pas utiliser cet outil sur les applications disponibles dans le Google Play Store. Cela inclut le téléchargement ou l’obtention de l’application à partir du Google Play Store.

  • Pour exécuter le App Wrapping Tool, vous devez installer la dernière version de l’environnement d’exécution Java, puis vérifier que la variable de chemin d’accès Java a été définie sur C :\ProgramData\Oracle\Java\javapath dans vos variables d’environnement Windows. Pour plus d’aide, consultez la documentation Java.

    Remarque

    Dans certains cas, la version 32 bits de Java peut entraîner des problèmes de mémoire. Il est judicieux d’installer la version 64 bits.

  • Android nécessite que tous les packages d’application (.apk) soient signés. Pour plus d’informations sur la réutilisation des certificats existants et les instructions générales sur les certificats de signature, consultez Réutilisation des certificats de signature et encapsulation d’applications. Une fois que vous avez encapsulé le fichier .apk à l’aide de la Intune App Wrapping Tool, il est recommandé d’utiliser l’outil Apksigner fourni par Google. Cela garantit qu’une fois que votre application accède aux appareils des utilisateurs finaux, elle peut être lancée correctement selon les normes Android.

  • (Facultatif) Parfois, une application peut atteindre la limite de taille de l’exécutable Dalvik (DEX) en raison de la Intune classes du SDK MAM qui sont ajoutées lors de l’habillage. Les fichiers DEX font partie de la compilation d’une application Android. Le Intune App Wrapping Tool gère automatiquement le dépassement de capacité du fichier DEX pendant l’habillage pour les applications dont le niveau d’API minimal est 21 ou supérieur (à partir de la version 1.0.2501.1). Pour les applications avec un niveau d’API minimal de < 21, la meilleure pratique consiste à augmenter le niveau d’API min à l’aide de l’indicateur du -UseMinAPILevelForNativeMultiDex wrapper. Pour les clients qui ne peuvent pas augmenter le niveau d’API minimal de l’application, les solutions de contournement de dépassement DEX suivantes sont disponibles. Dans certaines organisations, cela peut nécessiter l’utilisation de quiconque compile l’application (c’est-à-dire l’équipe de génération de l’application) :

    • Utilisez ProGuard pour éliminer les références de classe inutilisées du fichier DEX principal de l’application.
    • Pour les clients qui utilisent la version 3.1.0 ou ultérieure du plug-in Android Gradle, désactivez le dexeur D8.

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

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 Microsoft Intune.

  • Le Intune App Wrapping Tool pour Android 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 toutes les 6 à 8 semaines via le dépôt GitHub pour le Microsoft Intune App Wrapping Tool pour Android.

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

Installer le App Wrapping Tool

  1. À partir du dépôt GitHub, téléchargez le fichier d’installation InstallAWT.exe pour le Intune App Wrapping Tool pour Android sur un ordinateur Windows. Ouvrez le fichier d’installation.

  2. Acceptez le contrat de licence, puis terminez l’installation.

Notez le dossier dans lequel vous avez installé l’outil. L’emplacement par défaut est : C :\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.

Exécuter le App Wrapping Tool

Importante

Intune publie régulièrement des mises à jour du Intune App Wrapping Tool. Régulièrement case activée l’Intune App Wrapping Tool pour Android 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.

  1. Sur l’ordinateur Windows sur lequel vous avez installé le App Wrapping Tool, ouvrez une fenêtre PowerShell.

  2. À partir du dossier où vous avez installé l’outil, importez le module PowerShell App Wrapping Tool :

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. Exécutez l’outil à l’aide de la commande invoke-AppWrappingTool , qui a la syntaxe d’utilisation suivante :

    Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
    

    Le tableau suivant détaille les propriétés de la commande invoke-AppWrappingTool :

Propriété Information
-InputPath<String> Chemin de l’application Android source (.apk).
-Outputpath<String> Chemin d’accès à l’application Android de sortie. S’il s’agit du même chemin de répertoire que InputPath, l’empaquetage échoue.
<CommonParameters> (Facultatif) La commande prend en charge les paramètres PowerShell courants tels que le détail et le débogage.
  • Pour obtenir la liste des paramètres courants, consultez le Centre de scripts Microsoft.

  • Pour afficher des informations détaillées sur l’utilisation de l’outil, entrez la commande :

    Help Invoke-AppWrappingTool
    

Exemple :

Importez le module PowerShell.

Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"

Exécutez le App Wrapping Tool sur l’application native HelloWorld.apk.

invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose

L’application encapsulée et un fichier journal sont générés et enregistrés dans le chemin de sortie que vous avez spécifié.

Réutilisation de certificats de signature et d’habillage d’applications

Android exige que toutes les applications soient signées par un certificat valide pour être installées sur les appareils Android.

Les applications encapsulées peuvent être signées après l’habillage à l’aide de vos outils de signature existants (toutes les informations de signature dans l’application avant l’habillage sont ignorées). Si possible, les informations de signature qui ont déjà été utilisées pendant le processus de génération doivent être utilisées lors de l’habillage. Dans certaines organisations, cela peut nécessiter l’utilisation de la personne qui possède les informations du magasin de clés (c’est-à-dire, l’équipe de génération de l’application).

Si le certificat de signature précédent ne peut pas être utilisé ou si l’application n’a pas été déployée auparavant, vous pouvez créer un certificat de signature en suivant les instructions du Guide du développeur Android.

Si l’application a été déployée précédemment avec un certificat de signature différent, l’application ne peut pas être chargée sur Intune après la mise à niveau. Les scénarios de mise à niveau d’application seront interrompus si votre application est signée avec un certificat différent de celui avec lequel l’application est générée. Par conséquent, tous les nouveaux certificats de signature doivent être conservés pour les mises à niveau d’application.

Considérations relatives à la sécurité pour l’exécution du App Wrapping Tool

Pour empêcher les attaques potentielles d’usurpation d’identité, de divulgation d’informations et d’élévation de privilèges :

  • Vérifiez que l’application métier d’entrée et l’application de sortie se trouvent sur le même ordinateur Windows que celui où s’exécute le App Wrapping Tool.

  • Importez l’application de sortie dans Intune sur l’ordinateur sur lequel l’outil est en cours d’exécution. Pour plus d’informations sur l’outil keytool Java, consultez keytool .

  • Si l’application de sortie et l’outil se trouvent sur un chemin UNC (Universal Naming Convention) et que vous n’exécutez pas l’outil et les fichiers d’entrée sur le même ordinateur, configurez l’environnement pour qu’il soit sécurisé à l’aide de la signature IPsec (Internet Protocol Security) ou SMB (Server Message Block).

  • Vérifiez que l’application provient d’une source approuvée.

  • Sécurisez le répertoire de sortie qui contient l’application encapsulée. Envisagez d’utiliser un répertoire au niveau de l’utilisateur pour la sortie.

Convertir un ensemble d’applications Android (AAB) en APK

Actuellement, le Intune App Wrapping Tool prend uniquement en charge les entrées APK. Les ensembles d’applications Android doivent d’abord être convertis en APK pour une utilisation avec l’outil.

Un ensemble d’applications Android peut être converti en APK à l’aide de l’outil en ligne de commande de Google, bundletool. La dernière version de bundle-tool peut être téléchargée à partir du dépôt GitHub bundletool de Google.

bundletoolpeut être utilisé pour produire un seul APK universel à utiliser avec le Intune App Wrapping Tool à l’aide de la commande suivante :

bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks

Le .apks fichier de sortie est une archive ZIP contenant un seul fichier APK universel. Décompressez l’archive et utilisez ce fichier APK comme entrée dans le Intune App Wrapping Tool.

Voir aussi