Android-apps voorbereiden op app-beveiligingsbeleid met de Intune App Wrapping Tool
Gebruik de Microsoft Intune App Wrapping Tool voor Android om het gedrag van uw interne Android-apps te wijzigen door functies van de app te beperken zonder de code van de app zelf te wijzigen.
Het hulpprogramma is een Windows-opdrachtregeltoepassing die wordt uitgevoerd in PowerShell en een wrapper maakt rond uw Android-app. Nadat de app is verpakt, kunt u de functionaliteit van de app wijzigen door mobile application management-beleid te configureren in Intune.
Voordat u het hulpprogramma uitvoert, raadpleegt u Beveiligingsoverwegingen voor het uitvoeren van de App Wrapping Tool. Als u het hulpprogramma wilt downloaden, gaat u naar de Microsoft Intune App Wrapping Tool voor Android op GitHub.
Opmerking
Als u problemen ondervindt met het gebruik van de Intune App Wrapping Tool met uw apps, dient u een aanvraag voor hulp in op GitHub.
Voldoen aan de vereisten voor het gebruik van de App Wrapping Tool
Uw app moet gebruikmaken van bijgewerkte bibliotheken
Uw app moet compatibel zijn met de Google Play-vereisten
Als uw app complex is, moet deze worden geïntegreerd met de Intune App SDK voor Android
U moet de App Wrapping Tool uitvoeren op een Windows-computer met Windows 10 of hoger.
Uw invoer-app moet een geldig Android-toepassingspakket zijn met de bestandsextensie .apk en:
- Het kan niet worden versleuteld.
- Het mag niet eerder zijn verpakt door de Intune App Wrapping Tool.
- Deze moet zijn geschreven voor Android 9.0 of hoger.
Opmerking
Als uw invoer-app een Android App Bundle (.aab) is, moet u deze converteren naar een APK voordat u de Intune App Wrapping Tool gebruikt. Zie Android App Bundle (AAB) converteren naar APK voor meer informatie. Vanaf augustus 2021 kunnen nieuwe privé-apps nog steeds als API's worden gepubliceerd naar de Google Play Store.
De app moet worden ontwikkeld door of voor uw bedrijf. U kunt dit hulpprogramma niet gebruiken voor apps die beschikbaar zijn in de Google Play Store. Dit omvat het downloaden of verkrijgen van de app uit de Google Play Store.
Als u de App Wrapping Tool wilt uitvoeren, moet u de nieuwste versie van de Java Runtime Environment installeren en ervoor zorgen dat de java-padvariabele is ingesteld op C:\ProgramData\Oracle\Java\javapath in uw Windows-omgevingsvariabelen. Zie de Java-documentatie voor meer hulp.
Opmerking
In sommige gevallen kan de 32-bits versie van Java leiden tot geheugenproblemen. Het is een goed idee om de 64-bits versie te installeren.
Android vereist dat alle app-pakketten (.apk) zijn ondertekend. Zie Ondertekeningscertificaten opnieuw gebruiken en apps verpakken voor het opnieuw gebruiken van bestaande certificaten en algemene richtlijnen voor ondertekeningscertificaten. Nadat u het .apk-bestand hebt ingepakt met de Intune App Wrapping Tool, wordt u aangeraden het door Google geleverde hulpprogramma Apksigner te gebruiken. Dit zorgt ervoor dat zodra uw app op apparaten van eindgebruikers komt, deze correct kan worden gestart volgens Android-standaarden.
(Optioneel) Soms bereikt een app de deX-groottelimiet (Dalvik Executable) vanwege de Intune MAM SDK-klassen die worden toegevoegd tijdens het verpakken. DEX-bestanden maken deel uit van de compilatie van een Android-app. De Intune App Wrapping Tool verwerkt automatisch DEX-bestandsoverloop tijdens wrapping voor apps met een minimale API-niveau van 21 of hoger (vanaf v. 1.0.2501.1). Voor apps met een minimaal API-niveau van < 21 is het aanbevolen om het minimale API-niveau te verhogen met behulp van de vlag van
-UseMinAPILevelForNativeMultiDex
de wrapper. Voor klanten die het minimale API-niveau van de app niet kunnen verhogen, zijn de volgende TIJDELIJKE OPLOSSINGEN voor DEX-overloop beschikbaar. In bepaalde organisaties kan dit nodig zijn om samen te werken met degene die de app compileert (bijvoorbeeld het app-buildteam):- Gebruik ProGuard om ongebruikte klasseverwijzingen uit het primaire DEX-bestand van de app te elimineren.
- Voor klanten die v3.1.0 of hoger van de Android Gradle-invoegtoepassing gebruiken, schakelt u de D8-dexer uit.
Hoe vaak moet ik mijn Android-toepassing opnieuw inpakken met de Intune App Wrapping Tool?
De belangrijkste scenario's waarin u uw toepassingen opnieuw moet inpakken, zijn als volgt:
De toepassing zelf heeft een nieuwe versie uitgebracht. De vorige versie van de app is verpakt en geüpload naar het Microsoft Intune-beheercentrum.
De Intune App Wrapping Tool voor Android heeft een nieuwe versie uitgebracht die belangrijke oplossingen voor fouten of nieuwe, specifieke functies van het Intune-toepassingsbeveiligingsbeleid mogelijk maakt. Dit gebeurt elke 6-8 weken via de GitHub-opslagplaats voor de Microsoft Intune App Wrapping Tool voor Android.
Enkele aanbevolen procedures voor het opnieuw inpakken zijn:
- Het onderhouden van ondertekeningscertificaten die tijdens het buildproces worden gebruikt, raadpleegt u Ondertekeningscertificaten hergebruiken en apps verpakken
De App Wrapping Tool installeren
Download vanuit de GitHub-opslagplaats het installatiebestand InstallAWT.exe voor de Intune App Wrapping Tool voor Android naar een Windows-computer. Open het installatiebestand.
Accepteer de gebruiksrechtovereenkomst en voltooi de installatie.
Noteer de map waarin u het hulpprogramma hebt geïnstalleerd. De standaardlocatie is: C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.
De App Wrapping Tool uitvoeren
Belangrijk
Intune brengt regelmatig updates uit voor de Intune App Wrapping Tool. Controleer regelmatig de Intune App Wrapping Tool voor Android op updates en neem deze op in de releasecyclus van uw softwareontwikkeling om ervoor te zorgen dat uw apps de nieuwste instellingen voor app-beveiligingsbeleid ondersteunen.
Open een PowerShell-venster op de Windows-computer waarop u het App Wrapping Tool hebt geïnstalleerd.
Importeer in de map waarin u het hulpprogramma hebt geïnstalleerd de PowerShell-module App Wrapping Tool:
Import-Module .\IntuneAppWrappingTool.psm1
Voer het hulpprogramma uit met behulp van de opdracht invoke-AppWrappingTool , die de volgende gebruikssyntaxis heeft:
Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
In de volgende tabel worden de eigenschappen van de opdracht invoke-AppWrappingTool weergegeven :
Eigenschap | Informatie |
---|---|
-InputPath<Snaar> | Pad van de Android-bron-app (.apk). |
-OutputPath<Snaar> | Pad naar de android-uitvoer-app. Als dit hetzelfde mappad is als InputPath, mislukt de verpakking. |
<CommonParameters> | (Optioneel) De opdracht ondersteunt algemene PowerShell-parameters, zoals uitgebreid en foutopsporing. |
Zie Het Microsoft Script Center voor een lijst met algemene parameters.
Als u gedetailleerde gebruiksgegevens voor het hulpprogramma wilt zien, voert u de opdracht in:
Help Invoke-AppWrappingTool
Voorbeeld:
Importeer de PowerShell-module.
Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"
Voer de App Wrapping Tool uit op de systeemeigen app HelloWorld.apk.
invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose
De verpakte app en een logboekbestand worden gegenereerd en opgeslagen in het uitvoerpad dat u hebt opgegeven.
Ondertekeningscertificaten opnieuw gebruiken en apps verpakken
Android vereist dat alle apps zijn ondertekend met een geldig certificaat om te kunnen worden geïnstalleerd op Android-apparaten.
Verpakte apps kunnen na het verpakken worden ondertekend met behulp van uw bestaande ondertekeningshulpprogramma's (alle ondertekeningsgegevens in de app voordat de wrapping wordt verwijderd). Indien mogelijk moet de ondertekeningsgegevens die al tijdens het buildproces zijn gebruikt, worden gebruikt tijdens het verpakken. In bepaalde organisaties kan hiervoor moeten worden samengewerkt met degene die eigenaar is van de keystore-informatie (dat wil zeggen het app-buildteam).
Als het vorige handtekeningcertificaat niet kan worden gebruikt of als de app nog niet eerder is geïmplementeerd, kunt u een nieuw handtekeningcertificaat maken door de instructies in de Android-ontwikkelaarshandleiding te volgen.
Als de app eerder is geïmplementeerd met een ander handtekeningcertificaat, kan de app na de upgrade niet worden geüpload naar Intune. App-upgradescenario's worden verbroken als uw app is ondertekend met een ander certificaat dan het certificaat waarmee de app is gebouwd. Als zodanig moeten alle nieuwe handtekeningcertificaten worden onderhouden voor app-upgrades.
Beveiligingsoverwegingen voor het uitvoeren van de App Wrapping Tool
Mogelijke spoofing, openbaarmaking van informatie en uitbreiding van bevoegdheden voorkomen:
Zorg ervoor dat de LOB-toepassing (Input Line-Of-Business) en de uitvoertoepassing zich op dezelfde Windows-computer bevinden als waarop de App Wrapping Tool wordt uitgevoerd.
Importeer de uitvoertoepassing in Intune op dezelfde computer waarop het hulpprogramma wordt uitgevoerd. Zie keytool voor meer informatie over het Java-sleuteltool.
Als de uitvoertoepassing en het hulpprogramma zich op een UNC-pad (Universal Naming Convention) bevinden en u het hulpprogramma en de invoerbestanden niet op dezelfde computer uitvoert, stelt u de omgeving zo in dat deze beveiligd is met behulp van IPsec(Internet Protocol Security) of SMB-ondertekening (Server Message Block).
Zorg ervoor dat de toepassing afkomstig is van een vertrouwde bron.
Beveilig de uitvoermap met de verpakte app. Overweeg het gebruik van een map op gebruikersniveau voor de uitvoer.
Android App Bundle (AAB) converteren naar APK
De Intune App Wrapping Tool ondersteunt momenteel alleen APK-invoer. Android-app-bundels moeten eerst worden geconverteerd naar een APK voor gebruik met het hulpprogramma.
Een Android App Bundle kan worden geconverteerd naar een APK met behulp van het opdrachtregelprogramma van Google, bundletool
. De nieuwste versie van bundle-tool
kan worden gedownload van de GitHub-opslagplaats bundeltool van Google.
bundletool
kan worden gebruikt om één universele APK te produceren voor gebruik met de Intune App Wrapping Tool met behulp van de volgende opdracht:
bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks
Het .apks
uitvoerbestand is een ZIP-archief met één universeel APK-bestand. Pak het archief uit en gebruik dat APK-bestand als invoer voor de Intune App Wrapping Tool.