Compartir vía


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:

    1. 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.

    2. 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:

Dibujo de la puerta de enlace de Microsoft Tunnel para MAM en la arquitectura de iOS/iPadOS en Microsoft Intune.

  1. Tras el inicio inicial de la aplicación, se realiza una conexión mediante el SDK de Microsoft Tunnel para MAM para iOS.

  2. 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.

  3. Se produce una conexión TCP, que es un protocolo de enlace TLS entre el token y el servidor de túnel.

  4. 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.

  5. Cuando la aplicación móvil realiza una conexión a un recurso corporativo local:

    1. Una API de Microsoft Tunnel para MAM solicita conectarse al recurso de la empresa.
    2. 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.plistarchivo
    • 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:

  1. 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
  2. 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":

    Pantalla que muestra cómo agregar archivos al proyecto de aplicación en Xcode en un dispositivo macOS.

  3. EnDESTINOSDE PROYECTO>, seleccione Marcos detrabajo de inserción de fases> de compilación. Agregue (+) los nueve marcos:

    Captura de pantalla que muestra la inserción de marcos en Xcode en un dispositivo macOS.

    En el ejemplo siguiente se muestran los nueve marcos agregados:

    Captura de pantalla que muestra todos los marcos de Trabajo de Microsoft Tunnel insertados en Xcode en un dispositivo macOS.

  4. 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 (-):

    Captura de pantalla que muestra cómo quitar marcos en Vincular binario con bibliotecas en Xcode en un dispositivo macOS.

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:

    1. Vaya aDESTINOS>DE PROYECTO>General.

    2. SeleccioneIdentity Bundle Identifier (Identificador de lote de identidades>):

      Captura de pantalla que muestra la selección de proyecto, destinos, general e identidad para agregar el identificador de agrupación en Xcode en un dispositivo macOS.

  • 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:

    1. 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:

      Captura de pantalla que muestra la selección de valores de esquemas de direcciones URL de proyecto, destinos, información y consulta en Xcode en un dispositivo macOS.

    2. Agregue la $(PRODUCT_BUNDLE_IDENTIFIER) variable .

      En el ejemplo siguiente se muestra la $(PRODUCT_BUNDLE_IDENTIFIER) variable en Tipos de dirección URL:

      Captura de pantalla que muestra la selección de proyectos, destinos, información, tipos de direcciones URL en Xcode en un dispositivo macOS.

  • IntuneMAMSettings: confirme que la siguiente configuración de MSAL está configurada con los valores de registro de aplicaciones de Microsoft Entra adecuados:

    1. Vaya aINFORMACIÓNDE DESTINOS>DE PROYECTO>.

    2. Seleccione IntuneMAMSettings. Confirme la configuración:

      • ADALAuthority: escriba el identificador de inquilino de Microsoft Entra, como https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: escriba el identificador de cliente de la aplicación.
      • ADALRedirectUri: escriba msauth.$(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:

    Captura de pantalla que muestra la selección de proyecto, destinos, información, IntuneMAMSetting en Xcode en un dispositivo macOS.

Paso 3: Desactivar bitcódigo

  1. Vaya a> PROJECTTARGETS>Configuración de compilación.
  2. Seleccione Opciones de compilación>Habilitar bitcódigo.
  3. Seleccione No.

Captura de pantalla que muestra la selección del proyecto, los destinos, la configuración de compilación, las opciones de compilación y la deshabilitación del código de bits en Xcode en un dispositivo macOS.

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:

  1. Vaya aProject TARGETS Signing & Capabilities (Funcionalidades de & de firma de PROJECT>TARGETS>).
  2. Seleccione Keychain sharing (Compartir cadena de claves).
  3. En la lista Grupos de cadena de claves, agregue (+). com.microsoft.workplacejoin

Captura de pantalla que muestra la selección del proyecto, los destinos, las funcionalidades de & de firma, el uso compartido de cadenas de claves y la adición de un grupo de cadenas de claves en Xcode en un dispositivo macOS.

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 una MicrosoftTunnelDelegate interfaz. 

Para comprender cómo escribir el delegado de Microsoft Tunnel y cómo inicializar , MicrosoftTunnelAPIuse 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 la MicrosoftTunnelAPI instancia.

  • Connect : obtiene la instancia y habilita la MicrosoftTunnelAPI interceptación del tráfico de red. Si la API no está inicializada, se muestra un error.

  • Disconnect : obtiene la instancia y deshabilita la MicrosoftTunnelAPI 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 con IntuneMAM O MSAL, deberá implementar este onTokenRequired método. Este método usa IntuneMAMSettings 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 por k. 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

Captura de pantalla que muestra un método de delegado de registro de Microsoft Tunnel de ejemplo en Xcode en un dispositivo macOS.

Captura de pantalla que muestra una salida de registro de Microsoft Tunnel de ejemplo en Xcode en un dispositivo macOS.

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:

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