Guía para desarrolladores del SDK de Microsoft Tunnel para MAM para iOS
Nota:
Esta funcionalidad está disponible al agregar Microsoft Intune Plan 2 o Microsoft Intune Suite como licencia de complemento. Para obtener más información, consulte Uso de funcionalidades de complemento de Intune Suite.
La guía para desarrolladores del SDK de Microsoft Tunnel para MAM para iOS es un recurso para desarrolladores. Ayuda a los desarrolladores a integrar y configurar el SDK en una aplicación de iOS/iPadOS. Para obtener información general sobre Microsoft Tunnel para MAM, vaya a Microsoft Tunnel para MAM para iOS/iPadOS: Guía de administración de Intune.
En esta guía se tratan diferentes partes del proceso de integración del proyecto de aplicación de Xcode, incluida la instalación de los marcos de trabajo, la configuración del archivo, la info.plist
configuración de compilación, el uso compartido de claves y la implementación de los métodos delegados del SDK.
Estos componentes son fundamentales en el desarrollo de una aplicación de iOS/iPadOS. Los desarrolladores deben comprender cómo navegar y configurar los componentes del SDK. Si no está familiarizado con el desarrollo de aplicaciones de Xcode e iOS/iPadOS, esta guía puede ayudarle. Proporciona información general sobre dónde encontrar los distintos componentes del SDK y cómo usar estos elementos en los proyectos de aplicación.
Esta característica se aplica a:
- iOS/iPadOS
Qué hay en el repositorio del SDK
El repositorio del SDK incluye los marcos siguientes. Agregará estos marcos de trabajo al proyecto de aplicación en un paso posterior:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Requisitos previos
Para usar el SDK de Microsoft Tunnel para MAM para iOS, se requieren los siguientes requisitos previos:
Un equipo macOS con Xcode 14.0 o posterior instalado
La aplicación iOS/iPadOS de línea de negocio (LOB) debe tener como destino iOS/iPadOS 14.0 o posterior.
Hay dos SDK de GitHub que debe descargar e integrar con la aplicación de iOS en Xcode. Asegúrese de que los siguientes proyectos se compilan correctamente antes de continuar con el SDK de iOS de Microsoft Tunnel para MAM:
SDK de aplicaciones de Intune para iOS (abre un sitio de GitHub): como mínimo, instale la versión 16.1.1.
En este sitio, revise también el archivo sdk de aplicaciones de Intune de términos de licencia de Microsoft para iOS .
Para los registros, conserve una copia de los términos de licencia. Al descargar y usar el SDK de Microsoft Tunnel para MAM para iOS, acepta los términos de licencia. Si no acepta los términos de licencia, no use el software.
Biblioteca de autenticación de Microsoft (MSAL) (abre un sitio de GitHub): como mínimo, instale la versión 1.2.3.
Instale y configure el SDK de Microsoft Tunnel para MAM para iOS (abre un sitio de GitHub). Este SDK es el foco de este artículo.
Importante
Intune publica periódicamente actualizaciones del SDK de iOS de Microsoft Tunnel para MAM. Con regularidad, compruebe el SDK de iOS de Microsoft Tunnel para MAM para obtener actualizaciones. Agregue estas actualizaciones al ciclo de versión de desarrollo de software. Quiere asegurarse de que las aplicaciones admiten las actualizaciones de puerta de enlace de Microsoft Tunnel y las mejoras de características.
Funcionamiento del SDK de Microsoft Tunnel para MAM para iOS
El SDK de Tunnel para MAM para iOS permite que las aplicaciones de iOS/iPadOS establezcan una conexión VPN "desde la aplicación". La conexión VPN solo existe dentro de la aplicación.
En resumen, estas conexiones VPN desde la aplicación son:
- Conexiones VPN discretas, no de nivel de dispositivo
- Con ámbito solo a la capa de red de la aplicación
Cuando una aplicación realiza una llamada de red, el SDK intercepta la llamada de red y establece la conexión VPN. Esta conexión VPN desde la aplicación no se muestra en la aplicación Configuración del dispositivo iOS/iPadOS.
Arquitectura: Tunnel para el SDK de iOS de MAM
En la imagen siguiente se describe el flujo de una aplicación administrada que se ha integrado correctamente con tunnel for MAM iOS SDK:
Tras el inicio inicial de la aplicación, se realiza una conexión mediante el SDK de Microsoft Tunnel para MAM para iOS.
El túnel obtiene un token de autenticación de dispositivo de Microsoft Entra ID.
Si el dispositivo inició sesión en otra aplicación habilitada para MAM, como Outlook, Edge o la aplicación móvil de Microsoft 365, es posible que el dispositivo ya tenga un token de autenticación de Microsoft Entra. Si ya existe un token de autenticación válido, se usa el token existente.
Se produce una conexión TCP, que es un protocolo de enlace TLS entre el token y el servidor de túnel.
Si UDP está habilitado en la puerta de enlace de Microsoft Tunnel, se realiza una conexión de canal de datos mediante DTLS. Si UDP está deshabilitado, TCP establece el canal de datos a la puerta de enlace de Tunnel.
Para obtener más información, vaya a las notas de TCP y UDP en Introducción a Microsoft Tunnel: arquitectura.
Cuando la aplicación móvil realiza una conexión a un recurso corporativo local:
- Una API de Microsoft Tunnel para MAM solicita conectarse al recurso de la empresa.
- Se crea una solicitud web cifrada y se envía al recurso corporativo.
Tareas de Xcode
En esta sección se enumeran y describen las tareas de Xcode que debe completar, entre las que se incluyen:
- Adición de marcos de trabajo y bibliotecas
- Revise y actualice las siguientes características:
-
info.plist
archivo - Configuración de compilación
- Uso compartido de llaves
-
- Use los ejemplos para actualizar el proyecto AppDelegate de Xcode y agregar un archivo delegado de Microsoft Tunnel.
Paso 1: Adición de marcos y bibliotecas
Los marcos siguientes incluyen las API necesarias y los métodos delegados para comunicarse con la puerta de enlace de Microsoft Tunnel de Intune. Implementan las características de VPN de Microsoft Tunnel dentro de la aplicación.
Para habilitar el SDK de Tunnel for MAM para iOS, siga estos pasos:
Descargue y extraiga el SDK de Tunnel for MAM para iOS en una carpeta de un equipo macOS. Esta tarea también se muestra en los requisitos previos.
Copie los nueve marcos siguientes en la carpeta marcos de trabajo del proyecto de aplicación de Xcode:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
En el proyecto Xcode, seleccione el proyecto >de aplicación Agregar archivos. En el ejemplo siguiente, los archivos se agregan a un proyecto de aplicación denominado "Chat flash":
EnDESTINOSDE PROYECTO>, seleccione Marcos detrabajo de inserción de fases> de compilación. Agregue (+) los nueve marcos:
En el ejemplo siguiente se muestran los nueve marcos agregados:
EnDESTINOSDE PROYECTO>, seleccione Fases de> compilaciónVincular binario con bibliotecas. En la lista, solo se debe agregar el
MicrosoftTunnelApi.xcframework
marco. Si aparecen otros marcos de trabajo, quítelos con el signo menos (-):
Paso 2: Actualización del info.plist
archivo
En para info.plist
el proyecto de aplicación de Xcode, confirme la siguiente configuración:
Id. de lote: asegúrese de que el mismo id. de lote que aparece en el registro de aplicaciones de Microsoft Entra para la aplicación móvil de iOS es el mismo id. de lote en el proyecto de aplicación:
Para comprobar el identificador de agrupación:
Tipos de direcciones URL: en DESTINOS DE PROYECTO>, seleccione Información.
En Tipos de dirección URL, confirme que la
$(PRODUCT_BUNDLE_IDENTIFIER)
variable está allí. Al integrar el SDK de aplicaciones de Intune para iOS con el proyecto de aplicación (requisito previo necesario), se debería haber creado esta variable.Si la variable no está allí, debe agregarla:
Con el SDK de aplicaciones de Intune para iOS (requisito previo necesario), cree una
info.plist
propiedad Array y asígnele el nombre Esquemas de direcciones URL consultadas.Agregue los elementos de cadena enumerados en la guía para desarrolladores del SDK de aplicaciones de Intune para iOS: paso 5. En este paso se crean los esquemas de direcciones URL del SDK de MAM de Intune.
En el ejemplo siguiente se muestra info.plist mediante esquemas de direcciones URL consultadas:
Agregue la
$(PRODUCT_BUNDLE_IDENTIFIER)
variable .En el ejemplo siguiente se muestra la
$(PRODUCT_BUNDLE_IDENTIFIER)
variable en Tipos de dirección URL:
IntuneMAMSettings: confirme que la siguiente configuración de MSAL está configurada con los valores de registro de aplicaciones de Microsoft Entra adecuados:
Vaya aINFORMACIÓNDE DESTINOS>DE PROYECTO>.
Seleccione IntuneMAMSettings. Confirme la configuración:
-
ADALAuthority
: escriba el identificador de inquilino de Microsoft Entra, comohttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
. -
ADALClientId
: escriba el identificador de cliente de la aplicación. -
ADALRedirectUri
: escribamsauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth
.
-
Al integrar el SDK de aplicaciones de Intune para iOS con el proyecto de aplicación (requisito previo necesario), esta configuración debería haberse configurado.
Si esta configuración no está configurada, debe configurarlas. Para crear la propiedad IntuneMAMSettings Dictionary y las cadenas asociadas
info.plist
de la biblioteca de autenticación de Microsoft, siga la guía para desarrolladores del SDK de aplicaciones de Intune para iOS (requisito previo obligatorio) en Configuración de la configuración de MSAL para la guía del SDK de aplicaciones de Intune.En el ejemplo siguiente se muestran estos valores configurados:
Paso 3: Desactivar bitcódigo
- Vaya a> PROJECTTARGETS>Configuración de compilación.
- Seleccione Opciones de compilación>Habilitar bitcódigo.
- Seleccione No.
Paso 4: Agregar el uso compartido de cadenas de claves
El uso compartido de llaves puede estar presente o no en el proyecto de aplicación. Si no está allí, agréguela:
- Vaya aProject TARGETS Signing & Capabilities (Funcionalidades de & de firma de PROJECT>TARGETS>).
- Seleccione Keychain sharing (Compartir cadena de claves).
- En la lista Grupos de cadena de claves, agregue (+).
com.microsoft.workplacejoin
Paso 5: Integración del SDK con la aplicación
✔️ Use la aplicación de TunnelMAMTestApp2.xcproject
ejemplo.
Dependiendo de la aplicación LOB y de su implementación o propósito previsto, el uso de MicrosoftTunnelApi
puede variar. Hay algunas funcionalidades básicas que debe conocer al integrar el SDK con la aplicación:
- Todas las interacciones con el SDK de iOS de Microsoft Tunnel para MAM se controlan a través de un
MicrosoftTunnelAPI
objeto singleton. - El
MicrosoftTunnelAPI
objeto interactúa con la aplicación mediante un delegado que implementa unaMicrosoftTunnelDelegate
interfaz.
Para comprender cómo escribir el delegado de Microsoft Tunnel y cómo inicializar , MicrosoftTunnelAPI
use las aplicaciones de ejemplo del SDK de iOS de Microsoft Tunnel para MAM (abre un sitio de GitHub).
En las aplicaciones de ejemplo, el proyecto de Xcode AppDelegate muestra:
- Cómo controlar las devoluciones de llamada de la dirección URL de MSAL
- Cómo iniciar el proceso de inscripción e inicialización necesario para Tunnel
Para empezar, abra la TunnelMAMTestApp2.xcproject
aplicación de ejemplo y examine appDelegate & MicrosoftTunnelDelegate en el proyecto de aplicación.
Aplicaciones de ejemplo
✔️ Descargue en Microsoft Tunnel para aplicaciones de ejemplo del SDK de iOS de MAM (abre un sitio de GitHub).
Estas aplicaciones de ejemplo pueden ayudarle a empezar a trabajar y a cubrir diferentes escenarios.
Métodos MicrosoftTunnelAPI
MicrosoftTunnelAPI
incluye los métodos siguientes:
Initialize
: comprueba y establece las configuraciones de VPN, configura el registro y configura laMicrosoftTunnelAPI
instancia.Connect
: obtiene la instancia y habilita laMicrosoftTunnelAPI
interceptación del tráfico de red. Si la API no está inicializada, se muestra un error.Disconnect
: obtiene la instancia y deshabilita laMicrosoftTunnelAPI
interceptación del tráfico de red. Si la API no está inicializada, se muestra un error.onTokenRequired
–Opcional. Si la aplicación ya se integra conIntuneMAM
O MSAL, deberá implementar esteonTokenRequired
método. Este método usaIntuneMAMSettings
y MSAL para obtener un token de autenticación válido para conectarse a la puerta de enlace de Microsoft Tunnel.Logging
– Hay algunas clases de registro diferentes, indicadas pork
. Por ejemplo,kLoggingClassConnect
crea la salida de registro en la consola de Xcode. Estas claves de configuración de registro se pueden agregar a la configuración del delegado. Hay algunos ejemplos de estas clases de registro en las aplicaciones de ejemplo.kLoggingClassInternal
kLoggingClassConnect
kLoggingClassPacket
kLoggingClassSocket
kLoggingClassHttp
kLoggingClassIntune
kLoggingClassMobileAccess
kLoggingSeverityDebug
kLoggingSeverityInfo
kLoggingSeverityWarn
kLoggingSeverityMinor
kLoggingSeverityMajor
kLoggingSeverityCrit
Advertencia
No use claves de depuración en aplicaciones implementadas. Las claves pueden registrar y mostrar información de identificación del usuario y datos de seguridad.
Inicio de sesión en aplicaciones lob de iOS/iPadOS
La integración del SDK no habilita automáticamente el registro. El desarrollador debe agregar el código adecuado para implementar el marco delegado de registro y realizar las llamadas de registro adecuadas. La implementación específica varía según el SDK y los requisitos del desarrollador.
El desarrollador debe:
Asegúrese de que no incluyan ningún dato personal de usuario final o identificable por el cliente en su registro. Deben cumplir con las regulaciones de privacidad.
Consulte y trabaje con el equipo de privacidad de la empresa o la organización de la organización. El equipo de privacidad puede proporcionar instrucciones sobre los datos adecuados que se pueden registrar y las formas adecuadas de controlar los datos confidenciales.
Advertencia
Consulte la documentación de privacidad del SDK de iOS de Microsoft Tunnel para MAM (abre un archivo PDF en GitHub) para obtener instrucciones específicas sobre el registro y la privacidad de los datos.
MAM-Tunnel ejemplo de método de delegado de registro
Información de privacidad de Microsoft Tunnel for Mobile Application Management
Su privacidad es importante para nosotros. Revise la siguiente documentación en línea relacionada con la privacidad:
- Declaración de privacidad de Microsoft
- Privacidad y datos personales en Intune
- Procesamiento y almacenamiento de datos en Intune
Al integrar el SDK de Microsoft Tunnel para MAM para iOS en aplicaciones móviles, se recopilan los siguientes datos cuando un desarrollador:
- Habilita el módulo de telemetría MAM de Intune en la aplicación
Los datos recopilados pueden incluir las siguientes áreas:
- Versión del SDK de Microsoft Tunnel para MAM
- Información de usuario generada por Microsoft
- Id. de dispositivo
- Información de hardware y software
- Marca del dispositivo
- Modelo del dispositivo
- Versión de SO del dispositivo
- Información de la cuenta y del administrador
- Identificador de inquilino de Intune
- Identificador de inquilino de Microsoft Entra
- Medición de uso:
- Inicialización de VPN
- Eventos de conexión y desconexión de VPN
- Información de error
- Errores relacionados con el error de conexión VPN
No se recopila información de identificación del usuario.
Importante
Como desarrollador, al integrar el SDK es importante no incluir datos de identificación de usuario al usar código para dirigir y capturar mensajes en la aplicación.
Problemas conocidos
Para ver problemas más conocidos, vaya a la guía de administración de Microsoft Tunnel for MAM for iOS/iPadOS - Intune.
Siguientes pasos
Microsoft Tunnel para MAM para iOS/iPadOS: guía de administración de Intune