Preparar aplicações Android para políticas de proteção de aplicações com a Ferramenta de Encapsulamento de Aplicações do Intune

Utilize a Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para Android para alterar o comportamento das suas aplicações Android internas ao restringir as funcionalidades da aplicação sem alterar o código da própria aplicação.

A ferramenta é uma aplicação de linha de comandos do Windows que é executada no PowerShell e cria um wrapper em torno da sua aplicação Android. Depois de encapsular a aplicação, pode alterar a funcionalidade da aplicação ao configurar políticas de gestão de aplicações móveis no Intune.

Antes de executar a ferramenta, reveja Considerações de segurança para executar a Ferramenta de Encapsulamento de Aplicações. Para transferir a ferramenta, aceda à Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para Android no GitHub.

Observação

Se tiver problemas com a utilização da Ferramenta de Encapsulamento de Aplicações do Intune com as suas aplicações, submeta um pedido de assistência no GitHub.

Cumprir os pré-requisitos para utilizar a Ferramenta de Encapsulamento de Aplicações

  • A sua aplicação tem de utilizar bibliotecas atualizadas

  • A sua aplicação tem de ser compatível com os requisitos do Google Play

  • Se a sua aplicação for complexa, tem de ser integrada com o SDK da Aplicação Intune para Android

  • Tem de executar a Ferramenta de Encapsulamento de Aplicações num computador Windows com o Windows 10 ou posterior.

  • A sua aplicação de entrada tem de ser um pacote de aplicações Android válido com a extensão de ficheiro .apk e:

    • Não pode ser encriptado.
    • Não pode ter sido encapsulado anteriormente pela Ferramenta de Encapsulamento de Aplicações do Intune.
    • Tem de ser escrito para Android 9.0 ou posterior.

    Observação

    Se a sua aplicação de entrada for um Pacote de Aplicações do Android (.aab), terá de convertê-la num APK antes de utilizar a Ferramenta de Encapsulamento de Aplicações do Intune. Para obter detalhes, veja Converter o Pacote de Aplicações android (AAB) em APK. A partir de agosto de 2021, as novas aplicações privadas ainda podem ser publicadas na Google Play Store como APKs.

  • A aplicação tem de ser desenvolvida por ou para a sua empresa. Não pode utilizar esta ferramenta em aplicações que estão disponíveis na Google Play Store. Isto inclui transferir ou obter a aplicação a partir da Google Play Store.

  • Para executar a Ferramenta de Encapsulamento de Aplicações, tem de instalar a versão mais recente do Ambiente de Runtime java e, em seguida, certificar-se de que a variável de caminho Java foi definida como C:\ProgramData\Oracle\Java\javapath nas variáveis de ambiente do Windows. Para obter mais ajuda, veja a documentação do Java.

    Observação

    Em alguns casos, a versão de 32 bits do Java pode resultar em problemas de memória. Recomendamos que instale a versão de 64 bits.

  • O Android requer que todos os pacotes de aplicações (.apk) sejam assinados. Para reutilizar certificados existentes e documentação de orientação geral sobre certificados de assinatura, veja Reutilizar certificados de assinatura e encapsular aplicações. Depois de encapsular o ficheiro .apk com a Ferramenta de Encapsulamento de Aplicações do Intune, a recomendação é utilizar a ferramenta Apksigner fornecida pela Google. Isto irá garantir que, assim que a sua aplicação chegar aos dispositivos do utilizador final, pode ser iniciada corretamente pelas normas do Android.

  • (Opcional) Por vezes, uma aplicação pode atingir o limite de tamanho Dolvik Executable (DEX) devido às classes do SDK MAM do Intune que são adicionadas durante o encapsulamento. Os ficheiros DEX fazem parte da compilação de uma aplicação Android. A Ferramenta de Encapsulamento de Aplicações do Intune processa automaticamente a capacidade excedida do ficheiro DEX durante o encapsulamento para aplicações com um nível de API mínimo de 21 ou superior (a partir de v. 1.0.2501.1). Para aplicações com um nível de API mínimo de < 21, a melhor prática seria aumentar o nível mínimo de API com o sinalizador do -UseMinAPILevelForNativeMultiDex wrapper. Para os clientes que não conseguem aumentar o nível mínimo de API da aplicação, estão disponíveis as seguintes soluções alternativas de capacidade excedida de DEX. Em determinadas organizações, isto pode exigir trabalhar com quem compila a aplicação (ou seja, a equipa de compilação de aplicações):

    • Utilize o ProGuard para eliminar referências de classe não utilizadas do ficheiro DEX principal da aplicação.
    • Para os clientes que utilizam v3.1.0 ou superior do plug-in do Android Gradle, desative o dexer D8.

Com que frequência devo voltar a escrever a minha aplicação Android com a Ferramenta de Encapsulamento de Aplicações do Intune?

Os principais cenários nos quais teria de voltar a escrever as suas aplicações são os seguintes:

  • A própria aplicação lançou uma nova versão. A versão anterior da aplicação foi encapsulada e carregada para o centro de administração do Microsoft Intune.

  • A Ferramenta de Encapsulamento de Aplicações do Intune para Android lançou uma nova versão que permite correções de erros importantes ou novas funcionalidades específicas da política de proteção de aplicações do Intune. Isto acontece a cada 6 a 8 semanas através do repositório do GitHub para a Ferramenta de Encapsulamento de Aplicações do Microsoft Intune para Android.

Algumas das melhores práticas para a reescrição incluem:

Instalar a Ferramenta de Encapsulamento de Aplicações

  1. No repositório do GitHub, transfira o ficheiro de instalação InstallAWT.exe da Ferramenta de Encapsulamento de Aplicações do Intune para Android para um computador Windows. Abra o ficheiro de instalação.

  2. Aceite o contrato de licença e, em seguida, conclua a instalação.

Tenha em atenção a pasta na qual instalou a ferramenta. A localização predefinida é: C:\Programas (x86)\Gestão de Aplicações Móveis do Microsoft Intune\Android\Ferramenta de Encapsulamento de Aplicações.

Executar a Ferramenta de Encapsulamento de Aplicações

Importante

O Intune lança regularmente atualizações para a Ferramenta de Encapsulamento de Aplicações do Intune. Verifique regularmente a Ferramenta de Encapsulamento de Aplicações do Intune para Android para obter atualizações e incorpore o ciclo de lançamento de desenvolvimento de software para garantir que as suas aplicações suportam as definições mais recentes da Política de Proteção de Aplicações.

  1. No computador Windows onde instalou a Ferramenta de Encapsulamento de Aplicações, abra uma janela do PowerShell.

  2. Na pasta onde instalou a ferramenta, importe o módulo powerShell da Ferramenta de Encapsulamento de Aplicações:

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. Execute a ferramenta com o comando invoke-AppWrappingTool , que tem a seguinte sintaxe de utilização:

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

    A tabela seguinte detalha as propriedades do comando invoke-AppWrappingTool :

Propriedade Informações
-InputPath<Cadeia> Caminho da aplicação Android de origem (.apk).
-OutputPath<Cadeia> Caminho para a aplicação Android de saída. Se este for o mesmo caminho de diretório que o InputPath, a embalagem falhará.
<CommonParameters> (Opcional) O comando suporta parâmetros comuns do PowerShell, como verboso e depuração.
  • Para obter uma lista de parâmetros comuns, veja o Centro de Scripts da Microsoft.

  • Para ver informações de utilização detalhadas da ferramenta, introduza o comando:

    Help Invoke-AppWrappingTool
    

Exemplo:

Importe o módulo do PowerShell.

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

Execute a Ferramenta de Encapsulamento de Aplicações na aplicação nativa HelloWorld.apk.

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

A aplicação encapsulada e um ficheiro de registo são gerados e guardados no caminho de saída que especificou.

Reutilizar certificados de assinatura e encapsular aplicações

O Android requer que todas as aplicações sejam assinadas por um certificado válido para serem instaladas em dispositivos Android.

As aplicações encapsuladas podem ser assinadas depois de encapsular com as ferramentas de assinatura existentes (todas as informações de assinatura na aplicação antes de serem encapsuladas são eliminadas). Se possível, as informações de assinatura que já foram utilizadas durante o processo de compilação devem ser utilizadas durante a moldagem. Em determinadas organizações, isto pode exigir que trabalhe com quem detém as informações do arquivo de chaves (ou seja, a equipa de compilação de aplicações).

Se não for possível utilizar o certificado de assinatura anterior ou se a aplicação não tiver sido implementada anteriormente, poderá criar um novo certificado de assinatura ao seguir as instruções no Guia para Programadores do Android.

Se a aplicação tiver sido implementada anteriormente com um certificado de assinatura diferente, a aplicação não pode ser carregada para o Intune após a atualização. Os cenários de atualização de aplicações serão interrompidos se a sua aplicação for assinada com um certificado diferente do certificado com o qual a aplicação foi criada. Como tal, quaisquer novos certificados de assinatura devem ser mantidos para atualizações de aplicações.

Considerações de segurança para executar a Ferramenta de Encapsulamento de Aplicações

Para impedir potenciais ataques de spoofing, divulgação de informações e elevação de privilégios:

  • Certifique-se de que a aplicação de linha de negócio (LOB) de entrada e a aplicação de saída estão no mesmo computador Windows onde a Ferramenta de Encapsulamento de Aplicações está em execução.

  • Importe a aplicação de saída para o Intune no mesmo computador onde a ferramenta está em execução. Veja keytool para obter mais informações sobre o keytool java.

  • Se a aplicação de saída e a ferramenta estiverem num caminho UNC (Universal Naming Convention) e não estiver a executar a ferramenta e os ficheiros de entrada no mesmo computador, configure o ambiente para ser seguro com a assinatura IPsec (Internet Protocol Security) ou Server Message Block (SMB).

  • Certifique-se de que a aplicação provém de uma origem fidedigna.

  • Proteja o diretório de saída que tem a aplicação encapsulada. Considere utilizar um diretório ao nível do utilizador para a saída.

Converter o Pacote de Aplicações Android (AAB) em APK

Atualmente, a Ferramenta de Encapsulamento de Aplicações do Intune só suporta entradas APK. Primeiro, os Pacotes de Aplicações do Android têm de ser convertidos num APK para utilização com a ferramenta.

Um Pacote de Aplicações Android pode ser convertido num APK com a ferramenta de linha de comandos da Google, bundletool. A versão mais recente do bundle-tool pode ser transferida a partir do repositório bundletool do GitHub da Google.

bundletool pode ser utilizado para produzir um único APK universal para utilização com a Ferramenta de Encapsulamento de Aplicações do Intune com o seguinte comando:

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

O .apks ficheiro de saída é um arquivo ZIP que contém um único ficheiro APK universal. Deszipe o arquivo e utilize esse ficheiro APK como entrada para a Ferramenta de Encapsulamento de Aplicações do Intune.

Confira também