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:
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.
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:
Após o início inicial da aplicação, é efetuada uma ligação com o Microsoft Tunnel para o SDK MAM para iOS.
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.
Ocorre um TCP Connect, que é um Handshake TLS entre o token e o servidor de túnel.
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.
Quando a aplicação móvel faz uma ligação a um recurso empresarial no local:
- Um Túnel Microsoft para pedidos da API de MAM para ligar ao recurso da empresa.
- É 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.plist
ficheiro - 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:
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
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":
Em DESTINOS DO PROJETO>, selecione Compilar Fases> deIncorporação Frameworks. Adicione (+) todas as nove estruturas:
O exemplo seguinte mostra as nove arquiteturas adicionadas:
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 (-):
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:
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:
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:
Adicione a
$(PRODUCT_BUNDLE_IDENTIFIER)
variável .O exemplo seguinte mostra a
$(PRODUCT_BUNDLE_IDENTIFIER)
variável em Tipos de URL:
IntuneMAMSettings: confirme que as seguintes definições msal estão configuradas com os valores de registo da aplicação Microsoft Entra adequados:
Aceda aInformações deDESTINOS>DO PROJETO>.
Selecione IntuneMAMDefinições. Confirme as suas definições:
-
ADALAuthority
: introduza o ID de inquilino do Microsoft Entra, comohttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
. -
ADALClientId
: introduza o ID de cliente da aplicação. -
ADALRedirectUri
: introduzamsauth.$(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:
Passo 3 – Desativar o Bitcode
- Aceda àsdefinições de CompilaçãoPROJECT>TARGETS>.
- Selecione Opções de criação>Ativar Bitcode.
- Selecione Não.
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:
- Aceda a PROJECT TARGETSSigning & Capabilities (Capacidades & de Assinatura do PROJECT>TARGETS>).
- Selecione Partilha de porta-chaves.
- Na lista Grupos de Keychain , adicione (+)
com.microsoft.workplacejoin
.
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 umaMicrosoftTunnelDelegate
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 aMicrosoftTunnelAPI
instância.Connect
– Obtém aMicrosoftTunnelAPI
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 aMicrosoftTunnelAPI
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 ouIntuneMAM
com a MSAL, terá de implementar esteonTokenRequired
método. Este método utiliza o e oIntuneMAMSettings
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 pork
. 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
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:
- Declaração de Privacidade da Microsoft
- Privacidade e dados pessoais no Intune
- Armazenamento e processamento de dados no Intune
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