Microsoft Tunnel para MAM guia de desenvolvedor do SDK do iOS
Observação
Esse recurso está disponível quando você adiciona Microsoft Intune Plano 2 ou Microsoft Intune Suite como uma licença de complemento. Para obter mais informações, consulte Usar recursos de complemento do Intune Suite.
O Microsoft Tunnel para MAM guia de desenvolvedor do SDK do iOS é um recurso para desenvolvedores. Ele ajuda os desenvolvedores a integrar e configurar o SDK em um aplicativo iOS/iPadOS. Para obter uma visão geral do Microsoft Tunnel para MAM, acesse Microsoft Tunnel para MAM para iOS/iPadOS – Intune guia de administração.
Este guia aborda diferentes partes do processo de integração em seu projeto de aplicativo Xcode, incluindo a instalação das estruturas, a configuração do arquivo, as info.plist
configurações de build, o compartilhamento de chaves e a implementação dos métodos delegados do SDK.
Esses componentes são críticos no desenvolvimento de um aplicativo iOS/iPadOS. Os desenvolvedores devem entender como navegar e configurar os componentes do SDK. Se você for novo no desenvolvimento de aplicativos Xcode e iOS/iPadOS, este guia poderá ajudar. Ele fornece uma visão geral de onde encontrar os diferentes componentes do SDK e como usar esses elementos em seus projetos de aplicativo.
Esse recurso aplica-se a:
- iOS/iPadOS
O que está no Repositório SDK
O repositório SDK inclui as seguintes estruturas. Você adicionará essas estruturas ao seu projeto de aplicativo em uma etapa posterior:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Pré-requisitos
Para usar o SDK do iOS Microsoft Tunnel para MAM, os seguintes pré-requisitos são necessários:
Um computador macOS com xcode 14.0 ou mais recente instalado
Seu aplicativo iOS/iPadOS da linha de negócios (LOB) deve ser direcionado para iOS/iPadOS 14.0 ou mais recente.
Há dois SDKs do GitHub que você precisa baixar e integrar com seu aplicativo iOS no Xcode. Certifique-se de que os projetos a seguir são criados com êxito antes de continuar com o SDK do iOS Microsoft Tunnel para MAM:
Intune SDK do Aplicativo para iOS (abre um site do GitHub): no mínimo, instale a versão 16.1.1.
Neste site, examine também os Termos de Licença da Microsoft Intune SDK do Aplicativo para arquivo iOS.
Para seus registros, mantenha uma cópia dos termos da licença. Ao baixar e usar o SDK do iOS Microsoft Tunnel para MAM, você concorda com os termos da licença. Se você não aceitar os termos da licença, não use o software.
MSAL (Biblioteca de Autenticação da Microsoft) (abre um site do GitHub): no mínimo, instale a versão 1.2.3.
Instale e configure o SDK do iOS Microsoft Tunnel para MAM (abre um site do GitHub). Este SDK é o foco deste artigo.
Importante
Intune libera regularmente atualizações para o SDK do iOS Microsoft Tunnel para MAM. Regularmente, marcar o SDK do iOS Microsoft Tunnel para MAM para atualizações. Adicione essas atualizações ao seu ciclo de versão de desenvolvimento de software. Você deseja garantir que seus aplicativos dêem suporte às atualizações do Microsoft Tunnel Gateway e aprimoramentos de recursos.
Como funciona o SDK do iOS Microsoft Tunnel para MAM
O SDK do Tunnel for MAM iOS permite que aplicativos iOS/iPadOS estabeleçam uma conexão VPN "no aplicativo". A conexão VPN só existe dentro do aplicativo.
Para resumir, essas conexões VPN no aplicativo são:
- Conexões VPN discretas, não no nível do dispositivo
- Escopo somente para a camada de rede do aplicativo
Quando um aplicativo faz uma chamada de rede, o SDK intercepta a chamada de rede e estabelece a conexão VPN. Essa conexão VPN no aplicativo não é mostrada no aplicativo Configurações no dispositivo iOS/iPadOS.
Arquitetura: Túnel para SDK do iOS do MAM
A imagem a seguir descreve o fluxo de um aplicativo gerenciado integrado com êxito ao SDK do Tunnel for MAM iOS:
Após o início inicial do aplicativo, uma conexão é feita usando o SDK Microsoft Tunnel para MAM para iOS.
O túnel obtém um token de autenticação de dispositivo de Microsoft Entra ID.
Se o dispositivo entrou em outro aplicativo habilitado para MAM, como Outlook, Edge ou aplicativo móvel microsoft 365, o dispositivo pode já ter um token de autenticação Microsoft Entra. Se um token de autenticação válido já existir, o token existente será usado.
Acontece um TCP Connect, que é um Aperto de Mão TLS entre o token e o servidor de túnel.
Se o UDP estiver habilitado no Gateway do Microsoft Tunnel, uma conexão de canal de dados usando DTLS será feita. Se o UDP estiver desabilitado, o TCP estabelecerá o canal de dados para o gateway tunnel.
Para obter mais informações, acesse as anotações TCP e UDP na visão geral do Microsoft Tunnel – arquitetura.
Quando o aplicativo móvel faz uma conexão com um recurso corporativo local:
- Um Microsoft Tunnel para MAM solicitações de API para se conectar ao recurso da empresa.
- Uma solicitação Web criptografada é criada e enviada para o recurso corporativo.
Tarefas Xcode
Esta seção lista e descreve as tarefas do Xcode que você deve concluir, incluindo:
- Adicionar as estruturas e bibliotecas
- Examine e atualize os seguintes recursos:
info.plist
Arquivo- Configurações de build
- Compartilhamento de chaveiro
- Use os exemplos para atualizar o projeto Xcode AppDelegate e adicionar um arquivo delegado do Microsoft Tunnel
Etapa 1 – Adicionar as estruturas e bibliotecas
As estruturas a seguir incluem as APIs necessárias e os métodos delegados para se comunicar com o Intune Microsoft Tunnel Gateway. Eles implementam os recursos de VPN do Microsoft Tunnel no aplicativo.
Para habilitar o SDK do Tunnel for MAM iOS, use as seguintes etapas:
Baixe e extraia o SDK do Tunnel for MAM iOS para uma pasta em um computador macOS. Essa tarefa também está listada nos Pré-requisitos.
Copie as nove estruturas a seguir para a pasta estruturas de projeto do aplicativo Xcode:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
No projeto Xcode, selecione seu projeto >de aplicativo Adicionar arquivos. No exemplo a seguir, os arquivos são adicionados a um projeto de aplicativo chamado "Flash Chat":
Em DESTINOS DO PROJETO>, selecione Criar Estruturas de Inserção> deFases. Adicione (+) todas as nove estruturas:
O exemplo a seguir mostra todas as nove estruturas adicionadas:
Em DESTINOS DO PROJETO>, selecione Criar Fases>Vincular Binário com Bibliotecas. Na lista, somente a
MicrosoftTunnelApi.xcframework
estrutura deve ser adicionada. Se outras estruturas estiverem listadas, remova-as usando o menos (-):
Etapa 2 – Atualizar o info.plist
arquivo
No para o projeto do info.plist
aplicativo Xcode, confirme as seguintes configurações:
ID do pacote: verifique se a mesma ID do pacote listada no Microsoft Entra Registro de aplicativo para o aplicativo móvel iOS é a mesma ID do pacote em seu projeto de aplicativo:
Para marcar a ID do pacote:
Tipos de URL: emDESTINOS DEPROJETO>, selecione Informações.
Em Tipos de URL, confirme se a
$(PRODUCT_BUNDLE_IDENTIFIER)
variável está lá. Quando você integrou o SDK do aplicativo Intune para iOS com seu projeto de aplicativo (um pré-requisito necessário), essa variável deveria ter sido criada.Se a variável não estiver lá, você precisará adicioná-la:
Usando o SDK do aplicativo Intune para iOS (um pré-requisito necessário), crie uma
info.plist
propriedade Array e nomeie-a como Esquemas de URL consultados.Adicione os itens de cadeia de caracteres listados no SDK do aplicativo Intune para o guia de desenvolvedor do iOS – Etapa 5. Essa etapa cria os esquemas de URL do SDK do MAM Intune.
O exemplo a seguir mostra o info.plist usando esquemas de URL consultados:
Adicione a
$(PRODUCT_BUNDLE_IDENTIFIER)
variável.O exemplo a seguir mostra a
$(PRODUCT_BUNDLE_IDENTIFIER)
variável em Tipos de URL:
IntuneMAMSettings: confirme se as seguintes configurações do MSAL estão configuradas com os valores de registro de aplicativo Microsoft Entra apropriados:
AcesseInformações deDESTINOS DO>PROJETO>.
Selecione IntuneMAMSettings. Confirme suas configurações:
ADALAuthority
: insira a ID do locatário Microsoft Entra, comohttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
.ADALClientId
: insira a ID do cliente do aplicativo.ADALRedirectUri
: Insiramsauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth
.
Quando você integrou o SDK do aplicativo Intune para iOS com seu projeto de aplicativo (um pré-requisito necessário), essas configurações deveriam ter sido configuradas.
Se essas configurações não estiverem configuradas, você precisará configurá-las. Para criar a propriedade Dicionário IntuneMAMSettings
info.plist
e as cadeias de caracteres associadas da Biblioteca de Autenticação da Microsoft, siga o guia de desenvolvedor Intune SDK do Aplicativo para iOS (um pré-requisito necessário) em Configurar as configurações do MSAL para Intune diretrizes do SDK do Aplicativo.O exemplo a seguir mostra esses valores configurados:
Etapa 3 – Desativar Bitcode
- Vá paraconfigurações de buildPROJECT>TARGETS>.
- Selecione Opções de> buildHabilitar Bitcode.
- Selecione Não.
Etapa 4 – Adicionar compartilhamento de keychain
O compartilhamento de chaveiro pode ou não estar presente no projeto do aplicativo. Se ela não estiver lá, adicione-a:
- Acesse Recursosde & de assinatura do PROJECT>TARGETS>.
- Selecione Compartilhamento de chave.
- Na lista Grupos de Chaves , adicione (+)
com.microsoft.workplacejoin
.
Etapa 5 – Integrar o SDK ao seu aplicativo
✔️ Use o TunnelMAMTestApp2.xcproject
aplicativo de exemplo.
Dependendo do aplicativo LOB e de sua implementação/finalidade pretendida, o uso do MicrosoftTunnelApi
pode variar. Há algumas funcionalidades principais para saber, pois você está integrando o SDK ao seu aplicativo:
- Todas as interações com o SDK do iOS Microsoft Tunnel para MAM são manipuladas por meio de um
MicrosoftTunnelAPI
objeto singleton. - O
MicrosoftTunnelAPI
objeto interage com o aplicativo usando um delegado que implementa umaMicrosoftTunnelDelegate
interface.
Para entender como escrever o delegado do Microsoft Tunnel e como inicializar o MicrosoftTunnelAPI
, use o Microsoft Tunnel para MAM aplicativos de exemplo do SDK do iOS (abre um site do GitHub).
Nos aplicativos de exemplo, o appDelegate do projeto Xcode mostra:
- Como lidar com retornos de chamada de URL MSAL
- Como iniciar o processo de registro e inicialização necessário para o Túnel
Para começar, abra o TunnelMAMTestApp2.xcproject
aplicativo de exemplo e examine o AppDelegate & MicrosoftTunnelDelegate no projeto do aplicativo.
Aplicativos de exemplo
✔️ Baixe em Microsoft Tunnel para MAM aplicativos de exemplo do SDK do iOS (abre um site do GitHub).
Esses aplicativos de exemplo podem ajudá-lo a começar e cobrir diferentes cenários.
Métodos MicrosoftTunnelAPI
O MicrosoftTunnelAPI
inclui os seguintes métodos:
Initialize
– Verifica e define as configurações de VPN, configura o log e configura aMicrosoftTunnelAPI
instância.Connect
– Obtém a instância e habilita aMicrosoftTunnelAPI
interceptação de tráfego de rede. Se a API não for uninitializada, um erro será mostrado.Disconnect
- Obtém a instância e desabilita aMicrosoftTunnelAPI
interceptação de tráfego de rede. Se a API não for uninitializada, um erro será mostrado.onTokenRequired
–Opcional. Se seu aplicativo já se integrar aoIntuneMAM
OU MSAL, você precisará implementar esseonTokenRequired
método. Esse método usa o e oIntuneMAMSettings
MSAL para obter um token de autenticação válido para se conectar ao Gateway do Microsoft Tunnel.Logging
– Há algumas classes de log diferentes, denotadas pork
. Por exemplo,kLoggingClassConnect
cria a saída de log no console do Xcode. Essas chaves de configuração de log podem ser adicionadas à configuração do delegado. Há alguns exemplos dessas classes de registro em log nos aplicativos de exemplo.kLoggingClassInternal
kLoggingClassConnect
kLoggingClassPacket
kLoggingClassSocket
kLoggingClassHttp
kLoggingClassIntune
kLoggingClassMobileAccess
kLoggingSeverityDebug
kLoggingSeverityInfo
kLoggingSeverityWarn
kLoggingSeverityMinor
kLoggingSeverityMajor
kLoggingSeverityCrit
Aviso
Não use chaves de depuração em aplicativos implantados. As chaves podem fazer log e mostrar informações identificáveis pelo usuário e dados de segurança.
Fazer logon em aplicativos LOB iOS/iPadOS
A integração do SDK não habilita automaticamente o log. O desenvolvedor deve adicionar o código apropriado para implementar a estrutura de delegado de registro em log e fazer as chamadas de log apropriadas. A implementação específica varia dependendo do SDK e dos requisitos do desenvolvedor.
O desenvolvedor deve:
Verifique se eles não incluem dados pessoais identificáveis ou de usuário final do cliente em seu log. Eles devem estar em conformidade com as regulamentações de privacidade.
Consulte e trabalhe com a equipe de privacidade da empresa/organização da organização. A equipe de privacidade pode fornecer diretrizes sobre os dados apropriados que podem ser registrados e as formas apropriadas de lidar com dados confidenciais.
Aviso
Consulte o Microsoft Tunnel para MAM documentação de privacidade do SDK do iOS (abre um arquivo PDF no GitHub) para obter diretrizes específicas sobre registro em log e privacidade de dados.
MAM-Tunnel exemplo de método de delegado de log
Informações de privacidade do Microsoft Tunnel for Mobile Application Management
Sua privacidade é importante para nós. Examine a seguinte documentação online relacionada à privacidade:
- Declaração de Privacidade da Microsoft
- Privacidade e dados pessoais no Intune
- Armazenamento e processamento de dados no Intune
Ao integrar o SDK do iOS Microsoft Tunnel para MAM em aplicativos móveis, os seguintes dados são coletados quando um desenvolvedor:
- Habilita o módulo de telemetria MAM Intune no aplicativo
Os dados coletados 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 locatário Intune
- Microsoft Entra ID do locatário
- Medida de uso:
- Inicialização de VPN
- Eventos de conexão e desconexão de VPN
- Informações do erro
- Erros relacionados à falha de conexão VPN
Nenhuma informação identificável do usuário é coletada.
Importante
Como desenvolvedor, ao integrar o SDK, é importante não incluir nenhum dado identificável do usuário ao usar o código para endereçar e capturar mensagens em seu aplicativo.
Problemas conhecidos
Para problemas mais conhecidos, acesse o guia Microsoft Tunnel para MAM para iOS/iPadOS – Intune administrador.
Próximas etapas
Microsoft Tunnel para MAM para iOS/iPadOS – guia de administração Intune
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de