Compartilhar via


Guia para programadores do SDK do Microsoft Tunnel para MAM para iOS

Observação

Esta capacidade está disponível quando adiciona o Microsoft Intune Plano 2 ou o Microsoft Intune Suite como uma licença de suplemento. Para obter mais informações, veja Utilizar as capacidades de suplemento do Intune Suite.

O Guia para programadores do SDK do Microsoft Tunnel para MAM para iOS é um recurso para programadores. Ajuda os programadores a integrar e configurar o SDK numa aplicação iOS/iPadOS. Para obter uma descrição geral do Microsoft Tunnel for MAM, aceda a Microsoft Tunnel for MAM for iOS/iPadOS - Intune admin guide (Guia de administração do Microsoft Tunnel para MAM para iOS/iPadOS – Intune).

Este guia abrange diferentes partes do processo de integração no seu projeto de aplicação Xcode, incluindo a instalação das arquiteturas, a configuração do info.plist ficheiro, as definições de compilação, a partilha de chaves e a implementação dos métodos delegados do SDK.

Estes componentes são fundamentais no desenvolvimento de uma aplicação iOS/iPadOS. Os programadores têm de compreender como navegar e configurar os componentes do SDK. Se não estiver familiarizado com o desenvolvimento de aplicações Xcode e iOS/iPadOS, este guia pode ajudar. Fornece uma descrição geral de onde encontrar os diferentes componentes do SDK e como utilizar estes elementos nos seus projetos de aplicação.

Esse recurso aplica-se a:

  • iOS/iPadOS

O que está no Repositório do SDK

O repositório do SDK inclui as seguintes arquiteturas. Irá adicionar estas arquiteturas ao seu projeto de aplicação num passo posterior:

  • crypto.xcframework
  • MCPCommon.xcframework
  • MCPCore.xcframework
  • MCPPluginUnencryptedFile.xcframework
  • MicrosoftTunnelApi.xcframework
  • MSTAPNextPluginSecurityOpenssl.xcframework
  • MSTAPNextPluginSwiftSupport.xcframework
  • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
  • ssl.xcframework

Pré-requisitos

Para utilizar o Microsoft Tunnel para o SDK MAM para iOS, são necessários os seguintes pré-requisitos:

  • Um computador macOS com xcode 14.0 ou mais recente instalado

  • A sua aplicação de linha de negócio (LOB) para iOS/iPadOS tem de ser direcionada para o iOS/iPadOS 14.0 ou mais recente.

  • Existem dois SDKs do GitHub que precisa de transferir e integrar com a sua aplicação iOS no Xcode. Certifique-se de que os seguintes projetos são criados com êxito antes de continuar com o SDK do Microsoft Tunnel para MAM para iOS:

    1. SDK da Aplicação Intune para iOS (abre um site do GitHub): no mínimo, instale a versão 16.1.1.

      Neste site, reveja também o ficheiro do SDK da Aplicação Microsoft License Terms Intune para iOS .

      Para os seus registos, guarde uma cópia dos termos de licenciamento. Ao transferir e utilizar o Microsoft Tunnel para o SDK MAM para iOS, concorda com os termos de licenciamento. Se não aceitar os termos de licenciamento, não utilize o software.

    2. Biblioteca de Autenticação da Microsoft (MSAL) (abre um site do GitHub): no mínimo, instale a versão 1.2.3.

  • Instale e configure o Microsoft Tunnel para o SDK MAM para iOS (abre um site do GitHub). Este SDK é o foco deste artigo.

    Importante

    O Intune lança regularmente atualizações para o Microsoft Tunnel para o SDK MAM para iOS. Verifique regularmente o SDK do MAM para iOS no Túnel microsoft para obter atualizações. Adicione estas atualizações ao ciclo de lançamento de desenvolvimento de software. Quer certificar-se de que as suas aplicações suportam as atualizações do Gateway do Túnel da Microsoft e os melhoramentos de funcionalidades.

Como funciona o SDK do Microsoft Tunnel para MAM para iOS

O Túnel para O SDK MAM para iOS permite que as aplicações iOS/iPadOS estabeleçam uma ligação VPN "na aplicação". A ligação VPN só existe na aplicação.

Para resumir, estas ligações VPN na aplicação são:

  • Ligações VPN discretas e não ao nível do dispositivo
  • Confinada apenas à camada de rede da aplicação

Quando uma aplicação faz uma chamada de rede, o SDK interceta a chamada de rede e estabelece a ligação VPN. Esta ligação VPN na aplicação não é apresentada na aplicação Definições no dispositivo iOS/iPadOS.

Arquitetura: Túnel para o SDK MAM para iOS

A imagem seguinte descreve o fluxo de uma aplicação gerida que foi integrada com êxito no Tunnel para o SDK MAM para iOS:

Desenho do Gateway de Túnel da Microsoft para MAM na arquitetura iOS/iPadOS no Microsoft Intune.

  1. Após o início inicial da aplicação, é efetuada uma ligação com o Microsoft Tunnel para o SDK MAM para iOS.

  2. O túnel obtém um token de autenticação de dispositivo a partir do ID do Microsoft Entra.

    Se o dispositivo tiver sessão iniciada noutra aplicação ativada para MAM, como o Outlook, o Edge ou a aplicação móvel do Microsoft 365, o dispositivo poderá já ter um token de autenticação Do Microsoft Entra. Se já existir um token de autenticação válido, será utilizado o token existente.

  3. Ocorre um TCP Connect, que é um Handshake TLS entre o token e o servidor de túnel.

  4. Se o UDP estiver ativado no Gateway do Túnel da Microsoft, é efetuada uma ligação de canal de dados através do DTLS. Se o UDP estiver desativado, o TCP estabelece o canal de dados para o Gateway de túnel.

    Para obter mais informações, aceda às notas TCP e UDP na descrição geral do Túnel Microsoft – arquitetura.

  5. Quando a aplicação móvel faz uma ligação a um recurso empresarial no local:

    1. Um Túnel Microsoft para pedidos da API de MAM para ligar ao recurso da empresa.
    2. É criado e enviado um pedido Web encriptado para o recurso empresarial.

Tarefas Xcode

Esta secção lista e descreve as tarefas Xcode que tem de concluir, incluindo:

  • Adicionar as arquiteturas e bibliotecas
  • Reveja e atualize as seguintes funcionalidades:
    • info.plistficheiro
    • Definições de criação
    • Partilha de porta-chaves
  • Utilize os exemplos para atualizar o projeto AppDelegate do Xcode e adicionar um ficheiro delegado do Microsoft Tunnel

Passo 1 – Adicionar as arquiteturas e bibliotecas

As seguintes arquiteturas incluem as APIs necessárias e os métodos delegados para comunicar com o Gateway de Túnel da Microsoft do Intune. Implementam as funcionalidades de VPN do Microsoft Tunnel na aplicação.

Para ativar o Túnel para o SDK MAM para iOS, utilize os seguintes passos:

  1. Transfira e extraia o Túnel do SDK MAM para iOS para uma pasta num computador macOS. Esta tarefa também está listada nos Pré-requisitos.

    Copie as nove arquiteturas seguintes para a pasta arquiteturas de projetos de aplicações Xcode:

    • crypto.xcframework
    • MCPCommon.xcframework
    • MCPCore.xcframework
    • MCPPluginUnencryptedFile.xcframework
    • MicrosoftTunnelApi.xcframework
    • MSTAPNextPluginSecurityOpenssl.xcframework
    • MSTAPNextPluginSwiftSupport.xcframework
    • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
    • ssl.xcframework
  2. No projeto Xcode, selecione o projeto > de aplicação Adicionar ficheiros. No exemplo seguinte, os ficheiros são adicionados a um projeto de aplicação chamado "Flash Chat":

    Ecrã que mostra como adicionar ficheiros ao projeto de aplicação no Xcode num dispositivo macOS.

  3. Em DESTINOS DO PROJETO>, selecione Compilar Fases> deIncorporação Frameworks. Adicione (+) todas as nove estruturas:

    Captura de ecrã a mostrar arquiteturas de incorporação no Xcode num dispositivo macOS.

    O exemplo seguinte mostra as nove arquiteturas adicionadas:

    Captura de ecrã que mostra todas as arquiteturas do Túnel Microsoft incorporadas no Xcode num dispositivo macOS.

  4. Em DESTINOS DO PROJETO>, selecione Fases > de CompilaçãoLigar Binário a Bibliotecas. Na lista, apenas a MicrosoftTunnelApi.xcframework arquitetura deve ser adicionada. Se outras arquiteturas estiverem listadas, remova-as com o sinal de subtração (-):

    Captura de ecrã que mostra como remover arquiteturas em Ligar Binário com Bibliotecas no Xcode num dispositivo macOS.

Passo 2 – Atualizar o info.plist ficheiro

No para o info.plist projeto da aplicação Xcode, confirme as seguintes definições:

  • ID do Pacote: certifique-se de que o mesmo ID do Pacote listado no registo da Aplicação Microsoft Entra para a aplicação móvel iOS é o mesmo ID do Pacote no seu projeto de aplicação:

    Para verificar o ID do Pacote:

    1. Aceda aDESTINOS>DO PROJETO>Geral.

    2. SelecioneIdentificador do Pacote de Identidade>:

      Captura de ecrã que mostra a seleção de projeto, destinos, geral e identidade para adicionar o ID do pacote no Xcode num dispositivo macOS.

  • Tipos de URL: em DESTINOS DO PROJETO>, selecione Informações.

    Em Tipos de URL, confirme que a $(PRODUCT_BUNDLE_IDENTIFIER) variável está lá. Quando integrou o SDK da Aplicação do Intune para iOS com o seu projeto de aplicação (um pré-requisito necessário), esta variável deveria ter sido criada.

    Se a variável não estiver lá, terá de adicioná-la:

    1. Com o SDK da Aplicação intune para iOS (um pré-requisito necessário), crie uma info.plist propriedade Matriz e atribua-lhe o nome Esquemas de URL Consultados.

      Adicione os itens de cadeia listados no Guia para programadores do SDK da Aplicação Intune para iOS – Passo 5. Este passo cria os esquemas de URL do SDK MAM do Intune.

      O exemplo seguinte mostra o info.plist com Esquemas de URL Consultados:

      Captura de ecrã a mostrar a seleção de valores de projetos, destinos, informações e esquemas de URL consultados no Xcode num dispositivo macOS.

    2. Adicione a $(PRODUCT_BUNDLE_IDENTIFIER) variável .

      O exemplo seguinte mostra a $(PRODUCT_BUNDLE_IDENTIFIER) variável em Tipos de URL:

      Captura de ecrã que mostra a seleção de projetos, destinos, informações, tipos de URL no Xcode num dispositivo macOS.

  • IntuneMAMSettings: confirme que as seguintes definições msal estão configuradas com os valores de registo da aplicação Microsoft Entra adequados:

    1. Aceda aInformações deDESTINOS>DO PROJETO>.

    2. Selecione IntuneMAMDefinições. Confirme as suas definições:

      • ADALAuthority: introduza o ID de inquilino do Microsoft Entra, como https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: introduza o ID de cliente da aplicação.
      • ADALRedirectUri: introduza msauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth.

    Quando integrou o SDK da Aplicação do Intune para iOS com o seu projeto de aplicação (um pré-requisito necessário), estas definições deveriam ter sido configuradas.

    Se estas definições não estiverem configuradas, terá de as configurar. Para criar a propriedade Dicionário IntuneMAMSettings e as cadeias info.plist da Biblioteca de Autenticação da Microsoft associadas, siga o Guia para programadores do SDK da Aplicação Intune para iOS (um pré-requisito necessário) em Configurar definições MSAL para a documentação de orientação do SDK da Aplicação Intune .

    O exemplo seguinte mostra estes valores configurados:

    Captura de ecrã que mostra a seleção de projetos, destinos, informações, IntuneMAMSetting no Xcode num dispositivo macOS.

Passo 3 – Desativar o Bitcode

  1. Aceda àsdefinições de CompilaçãoPROJECT>TARGETS>.
  2. Selecione Opções de criação>Ativar Bitcode.
  3. Selecione Não.

Captura de ecrã que mostra a seleção de projetos, destinos, definições de compilação, opções de compilação e desativação do código de bits no Xcode num dispositivo macOS.

Passo 4 – Adicionar partilha de porta-chaves

A partilha de keychain pode ou não estar presente no projeto da aplicação. Se ela não estiver lá, adicione-a:

  1. Aceda a PROJECT TARGETSSigning & Capabilities (Capacidades & de Assinatura do PROJECT>TARGETS>).
  2. Selecione Partilha de porta-chaves.
  3. Na lista Grupos de Keychain , adicione (+) com.microsoft.workplacejoin.

Captura de ecrã que mostra a seleção de projetos, destinos, Capacidades de & de Assinatura, partilha de keychain e a adição de um grupo de keychain no Xcode num dispositivo macOS.

Passo 5 – Integrar o SDK na sua aplicação

✔️ Utilize a aplicação TunnelMAMTestApp2.xcproject de exemplo.

Dependendo da aplicação LOB e da respetiva implementação/finalidade pretendida, a MicrosoftTunnelApi utilização do pode variar. Existem algumas funcionalidades principais a conhecer ao integrar o SDK na sua aplicação:

  • Todas as interações com o Microsoft Tunnel para o SDK MAM para iOS são processadas através de um MicrosoftTunnelAPI objeto singleton.
  • O MicrosoftTunnelAPI objeto interage com a aplicação através de um delegado que implementa uma MicrosoftTunnelDelegate interface. 

Para compreender como escrever o delegado do Microsoft Tunnel e como inicializar o MicrosoftTunnelAPI, utilize o Microsoft Tunnel para aplicações de exemplo do SDK MAM para iOS (abre um site do GitHub).

Nas aplicações de exemplo, o projeto Xcode AppDelegate mostra:

  • Como lidar com chamadas de retorno do URL do MSAL
  • Como iniciar o processo de inscrição e inicialização necessário para o Túnel

Para começar, abra a aplicação TunnelMAMTestApp2.xcproject de exemplo e veja AppDelegate & MicrosoftTunnelDelegate no projeto da aplicação.

Aplicativos de exemplo

✔️ Transfira no Microsoft Tunnel para aplicações de exemplo do SDK MAM para iOS (abre um site do GitHub).

Estas aplicações de exemplo podem ajudá-lo a começar e a abranger diferentes cenários.

Métodos MicrosoftTunnelAPI

O MicrosoftTunnelAPI inclui os seguintes métodos:

  • Initialize – Verifica e define as configurações de VPN, configura o registo e configura a MicrosoftTunnelAPI instância.

  • Connect – Obtém a MicrosoftTunnelAPI instância e ativa a intercepção de tráfego de rede. Se a API não for inicializada, é apresentado um erro.

  • Disconnect - Obtém a MicrosoftTunnelAPI instância e desativa a intercepção de tráfego de rede. Se a API não for inicializada, é apresentado um erro.

  • onTokenRequired – Opcional. Se a sua aplicação já estiver integrada com ou IntuneMAM com a MSAL, terá de implementar este onTokenRequired método. Este método utiliza o e o IntuneMAMSettings MSAL para obter um token de autenticação válido para ligar ao Gateway de Túnel da Microsoft.

  • Logging – Existem algumas classes de registo diferentes, indicadas por k. Por exemplo, kLoggingClassConnect cria uma saída de registo na consola Xcode. Estas chaves de configuração de registo podem ser adicionadas à configuração do delegado. Existem alguns exemplos destas classes de registo nas aplicações de exemplo.

    • kLoggingClassInternal
    • kLoggingClassConnect
    • kLoggingClassPacket
    • kLoggingClassSocket
    • kLoggingClassHttp
    • kLoggingClassIntune
    • kLoggingClassMobileAccess
    • kLoggingSeverityDebug
    • kLoggingSeverityInfo
    • kLoggingSeverityWarn
    • kLoggingSeverityMinor
    • kLoggingSeverityMajor
    • kLoggingSeverityCrit

Aviso

Não utilize chaves de depuração em aplicações implementadas. As chaves podem registar e mostrar dados de segurança e informações identificáveis do utilizador.

Iniciar sessão em aplicações LOB para iOS/iPadOS

A integração do SDK não ativa automaticamente o registo. O programador tem de adicionar o código adequado para implementar a arquitetura de delegado de registo e fazer as chamadas de registo adequadas. A implementação específica varia consoante o SDK e os requisitos do programador.

O programador deve:

  • Certifique-se de que não incluem quaisquer dados pessoais identificáveis ou do utilizador final nos respetivos registos. Têm de cumprir os regulamentos de privacidade.

  • Consulte e trabalhe com a equipa de privacidade da empresa/organização da organização. A equipa de privacidade pode fornecer orientações sobre os dados adequados que podem ser registados e as formas adequadas de processar dados confidenciais.

Aviso

Consulte a documentação de privacidade do SDK do Microsoft Tunnel para MAM para iOS (abre um ficheiro PDF no GitHub) para obter orientações específicas sobre o registo e a privacidade dos dados.

exemplo de método delegado de registo MAM-Tunnel

Captura de ecrã a mostrar um método delegado de registo do Microsoft Tunnel de exemplo no Xcode num dispositivo macOS.

Captura de ecrã a mostrar uma saída de registo do Microsoft Tunnel de exemplo no Xcode num dispositivo macOS.

Informações de Privacidade da Gestão de Aplicações Móveis do Microsoft Tunnel para Dispositivos Móveis

A sua privacidade é importante para nós. Reveja a seguinte documentação online relacionada com privacidade:

Ao integrar o Microsoft Tunnel para MAM iOS SDK em aplicações móveis, os seguintes dados são recolhidos quando um programador:

  • Ativa o módulo de telemetria MAM do Intune na aplicação

Os dados recolhidos podem incluir as seguintes áreas:

  • Versão do SDK do Microsoft Tunnel para MAM
  • Informações de usuário geradas pela Microsoft
    • ID do Dispositivo
  • Informações de hardware e software
    • Marca do dispositivo
    • Modelo do dispositivo
    • Versão do sistema operacional do dispositivo
  • Informações do administrador e da conta
    • ID de Inquilino do Intune
    • ID do inquilino do Microsoft Entra
  • Medição de utilização:
    • Inicialização de VPN
    • Eventos de ligação e desconexão da VPN
  • Informações do erro
    • Erros relacionados com a falha da ligação VPN

Não são recolhidas informações identificáveis do utilizador.

Importante

Enquanto programador, ao integrar o SDK, é importante não incluir quaisquer dados identificáveis do utilizador ao utilizar código para endereçar e capturar mensagens na sua aplicação.

Problemas conhecidos

Para problemas mais conhecidos, aceda ao Guia de administração do Microsoft Tunnel para MAM para iOS/iPadOS – Intune.

Próximas etapas

Microsoft Tunnel para MAM para iOS/iPadOS – Guia de administração do Intune