Partilhar via


Microsoft Tunnel para MAM guia para programadores do SDK para iOS

Observação

Esta capacidade está disponível quando adiciona Microsoft Intune Plano 2 ou Microsoft Intune Suite como uma licença de suplemento. Para obter mais informações, veja Use Intune Suite add-on capabilities (Utilizar capacidades de suplementos do Intune Suite).

O Microsoft Tunnel para MAM guia do programador do SDK 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 para MAM, aceda a Microsoft Tunnel para MAM para iOS/iPadOS - Intune guia de administração.

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 SDK Microsoft Tunnel para MAM 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 Microsoft Tunnel para MAM iOS:

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

      Neste site, reveja também os Termos de Licenciamento da Microsoft Intune ficheiro SDK da Aplicação para iOS.

      Para os seus registos, guarde uma cópia dos termos de licenciamento. Ao transferir e utilizar o SDK Microsoft Tunnel para MAM 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 SDK do Microsoft Tunnel para MAM iOS (abre um site do GitHub). Este SDK é o foco deste artigo.

    Importante

    Intune disponibiliza regularmente atualizações para o SDK Microsoft Tunnel para MAM iOS. Regularmente, marcar o SDK Microsoft Tunnel para MAM iOS para 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 Microsoft Tunnel para MAM 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 SDK Microsoft Tunnel para MAM para iOS.

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

    Se o dispositivo tiver sessão iniciada noutra aplicação com MAM ativada, como o Outlook, o Edge ou a aplicação móvel do Microsoft 365, o dispositivo poderá já ter um token de autenticação 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 Microsoft Tunnel para MAM pedidos da API 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 métodos delegados para comunicar com o Intune Gateway do Túnel da Microsoft. 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 projeto da aplicação:

    Para marcar 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 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 dê-lhe o nome Esquemas de URL Consultados.

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

      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 de aplicações 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 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 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 de cadeias da Biblioteca de Autenticação da Microsoft associadas, siga o guia do programador do SDK da Aplicação Intune para iOS (um pré-requisito necessário) em Configurar definições MSAL para Intune orientação do SDK da Aplicação.

    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 keychain

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 keychain Grupos, 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 SDK Microsoft Tunnel para MAM 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 MAM aplicações de exemplo do SDK 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 em Microsoft Tunnel para MAM aplicações de exemplo do SDK 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 iOS Microsoft Tunnel para MAM (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 SDK do Microsoft Tunnel para MAM iOS em aplicações móveis, são recolhidos os seguintes dados quando um programador:

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

Os dados recolhidos podem incluir as seguintes áreas:

  • Microsoft Tunnel para MAM versão do SDK
  • 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 do 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 Microsoft Tunnel para MAM para iOS/iPadOS - Intune administrador.

Próximas etapas

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