Guía para desarrolladores de MDX

27 de febrero de 2018

Citrix XenMobile es una solución empresarial que permite administrar dispositivos móviles, aplicaciones y datos. La finalidad básica de la administración de aplicaciones móviles (MAM) de XenMobile es conferir funcionalidad empresarial a aplicaciones ya existentes, que luego se alojan en la tienda privada de aplicaciones de la empresa, en el App Store de Apple o en Google Play Store.

Para agregar la funcionalidad empresarial de XenMobile a aplicaciones móviles, se empaquetan con el MDX Toolkit. El MDX Toolkit es una tecnología de contenedor de aplicaciones que mejora la experiencia de uso en los dispositivos móviles y prepara aplicaciones para implementarlas de forma segura con XenMobile porque agrega funciones MDX. Las funciones MDX son: directivas y configuraciones, certificados de seguridad firmados y código de administración de aplicaciones móviles.

El MDX Toolkit contiene el MDX App SDK, que proporciona un conjunto completo de funciones MDX a las aplicaciones móviles a través de la tecnología de contenedor de aplicaciones MDX de Citrix. Las API permiten:

  • Realizar acciones en las aplicaciones empaquetadas a través de las directivas de XenMobile. Por ejemplo, si una directiva de XenMobile impide cortar y pegar en una aplicación MDX, puede impedir la selección de texto en la aplicación. La aplicación puede comunicarse y compartir las directivas con otras aplicaciones habilitadas para MDX.

  • Detectar actividades en las aplicaciones habilitadas para MDX. Por ejemplo, puede comprobar si una aplicación está empaquetada o administrada.

  • Agregar funciones personalizadas de seguridad y cumplimiento de directivas, por ejemplo.

  • Desarrollar aplicaciones móviles que se ejecutarán tanto dentro como fuera de un entorno Citrix.

    Además de poder configurarse de forma centralizada con directivas MDX cuando se usan con XenMobile, las aplicaciones que usan el MDX App SDK pueden operar de forma autónoma fuera de entornos Citrix.

Novedades en MDX App SDK 10.2

La versión actual de MDX App SDK para iOS incluye estas mejoras.

Respaldo para iOS 9. MDX App SDK 10.2 admite iOS 9.

Importante:

Secure Hub 10.0.x y las aplicaciones empaquetadas con MDX Toolkit 10.0.x no se pueden ejecutar en iOS 9. Los desarrolladores deben volver a empaquetar las aplicaciones ISV con el MDX Toolkit 10.2. Los usuarios deben instalar las aplicaciones actualizadas antes de actualizar sus dispositivos a iOS 9. Si los usuarios intentan abrir en iOS 9 aplicaciones empaquetadas con el MDX Toolkit 10.0.x, no podrán actualizar esas aplicaciones y tendrán que volver a instalar una versión de ellas empaquetada con el MDX Toolkit 10.2.

En consecuencia de los cambios realizados en iOS 9, el cifrado basado en archivos MDX ya no es compatible con iOS 9 cuando se trata de datos descargados a un dispositivo iOS 9 desde una aplicación empaquetada. En cambio, el funcionamiento del cifrado de llaveros y de bases de datos permanece intacto. El MDX Toolkit 10.2 ofrece un mecanismo alternativo para cifrar los datos de las aplicaciones que se guardan en el sistema de archivos del dispositivo. Puede elegir entre las siguientes opciones de protección de datos:

  • Usar la protección de datos de archivos de iOS para cifrar los datos.

Apple requiere un código de acceso de dispositivo para cifrar todos los datos de las aplicaciones presentes en el dispositivo con la protección de archivos datos de iOS. Para respaldar esa protección de iOS, el MDX Toolkit 10.2 incluye una directiva nueva, “Código de acceso del dispositivo”, que puede usar para requerir un PIN o un código de acceso en un dispositivo iOS 9. De manera predeterminada, esta directiva está establecida en . La directiva se aplica aplicación por aplicación, y se puede usar tanto en el modo MAM como en el modo MDM de XenMobile.

  • Además de la necesidad de un PIN o un código de acceso, también puede especificar una versión mínima de clase de protección de datos iOS para usar con los datos de aplicaciones almacenados en el sistema de archivos.

Directivas y iOS 9:

  • La entropía de usuario, habilitada mediante la clave Encrypt secrets using Passcode, no se ve afectada por iOS 9. El cifrado MDX para datos almacenados en bases de datos, el llavero y la caja fuerte de seguridad del dispositivo no se ven afectados.
  • En dispositivos iOS 9, la directiva “Habilitar cifrado” ahora permite únicamente el cifrado de bases de datos y llaveros. Para dispositivos iOS anteriores, la directiva “Habilitar cifrado” aún permite habilitar también el cifrado de archivos MDX.
  • Para obtener protección adicional en dispositivos con un código de acceso habilitado, el MDX App SDK también incluye un mayor nivel de cifrado iOS para los archivos que esas aplicaciones almacenan en el dispositivo. El cifrado de archivos de iOS ofrece varios niveles de protección de datos. La nueva directiva “Minimum data protection class” (Clase mínima de protección de datos) permite especificar la clase de protección que se usará para los datos de aplicación, a menos que la aplicación en sí tenga especificado un nivel de protección más alto.

Complete unless open (Protección completa a menos que esté abierto). Si un archivo está abierto en el momento de bloquearse un dispositivo, el archivo sigue estando disponible para la aplicación. Este valor corresponde a NSFileProtectionCompleteUnlessOpen. Este es el valor predeterminado.

Complete (Protección completa). Cuando un dispositivo se bloquea, los archivos dejan de estar disponibles. Este valor corresponde a NSFileProtectionComplete.

Until first unlock (Protección completa hasta primera apertura). Cuando el dispositivo se reinicia, los archivos están bloqueados y no se pueden leer hasta que el usuario desbloquea el dispositivo por primera vez. Este valor corresponde a NSFileProtectionCompleteUntilFirstUserAuthentication.

None (Ninguna). Los archivos no tienen ninguna protección especial y se pueden leer o se puede escribir en ellos en cualquier momento. Este valor corresponde a “NSFileProtectionComplete”.

Importante: Los desarrolladores deben probar las aplicaciones empaquetadas que llevan a cabo procesos en segundo plano; por ejemplo, sincronizaciones en segundo plano o actualizaciones de contenido en un dispositivo bloqueado.

La directiva “Minimum data protection class” está oculta. Para que la directiva esté visible en XenMobile, abra el archivo policy_metadata.xml de la aplicación (en Applications/Citrix/MDXToolkit/data) y, en la sección MinimumDataProtectionClass, cambie el valor de PolicyHidden a false. Una vez empaquetada la aplicación, la directiva aparece al agregar la aplicación a XenMobile.

Integración del empaquetado de aplicaciones con el proceso de compilación de Xcode. Los desarrolladores ahora pueden empaquetar y publicar una aplicación iOS como parte del proceso de compilación de Xcode. Para obtener más información, consulte Integración del SDK en la biblioteca de aplicaciones.

Respaldo para la caja fuerte compartida en las aplicaciones Android. El MDX App SDK incluye ahora la API de Android para la función “Caja fuerte compartida” de MDX, que permite compartir contenido administrado entre las aplicaciones. Por ejemplo, la caja fuerte compartida permite compartir certificados y claves privadas a través de una aplicación inscrita, de modo que las aplicaciones pueden obtener un certificado de la caja fuerte segura, en lugar de obtenerlo de Secure Hub. Para obtener más información, consulte API de XenMobile para Android.

Problemas resueltos. Consulte Problemas resueltos en MDX Toolkit.

Funciones MAM

La funcionalidad empresarial que agrega XenMobile se controla a través de directivas que los administradores pueden actualizar aplicación por aplicación desde la consola de XenMobile. XenMobile envía directivas a los dispositivos móviles siguiendo la programación que determinen los administradores. Las directivas gestionan funciones como las siguientes:

  • Autenticación. Al abrir una aplicación administrada, XenMobile puede requerir que los usuarios introduzcan un PIN o credenciales de empresa. Esta petición de credenciales se puede repetir de forma periódica.
  • Actualizaciones de aplicaciones. XenMobile notifica a los usuarios cuando están disponibles las actualizaciones de las aplicaciones administradas. El administrador puede hacer que las actualizaciones sean obligatorias en un período de tiempo determinado. Si un usuario no acepta la actualización, la versión anterior de la aplicación dejará de ejecutarse una vez transcurrido ese período de tiempo.
  • Bloqueo y borrado remotos. Un administrador puede bloquear temporalmente o borrar permanentemente aplicaciones según la aplicación o según el dispositivo.
  • Cifrado de datos. Para dispositivos iOS 9, XenMobile utiliza el cifrado de archivos MDX para los archivos de bases de datos y llaveros. En cuanto a datos almacenados localmente, utiliza el cifrado de archivos de Apple para datos almacenados localmente. Cuando se trata de datos almacenados localmente en iOS 9, también dispone de la directiva “Minimum data protection class” (Clase mínima de protección de datos). Esa directiva permite especificar una clase de protección que se usará para los datos de aplicación, a menos que la aplicación tenga especificado un nivel de protección más alto.
  • VPN y restricciones de red. Una directiva de XenMobile controla el acceso de red: el acceso se puede bloquear, enrutar a través de una red VPN completa o enrutar a través de un proxy VPN. El enrutamiento de red VPN se realiza a través de un dispositivo Citrix NetScaler Gateway que aloja la empresa.
  • Restricciones de comunicación entre aplicaciones. Una directiva de XenMobile determina si se bloquea la opción de compartir documentos entre las aplicaciones, o bien si se permite solo entre las aplicaciones administradas. Por lo tanto, la ventana emergente “Abrir en” que aparece en la aplicación puede omitir aplicaciones no administradas.
  • Contención de características. Las directivas de XenMobile pueden inhabilitar varias funciones de dispositivo que tenga una aplicación; por ejemplo, el sensor de ubicación, el micrófono y la cámara.

Componentes XenMobile

Los siguientes componentes de XenMobile proporcionan la funcionalidad de administración de aplicaciones móviles (MAM).

  • Servidor XenMobile

    Este servidor residente empresarial o de nube aloja XenMobile Store, la tienda de aplicaciones interna. Los administradores cargan aplicaciones móviles a XenMobile y, a continuación, configuran las directivas de dispositivos y aplicaciones.

  • Secure Hub

    Los usuarios de la empresa instalan Secure Hub para Android o iOS en sus dispositivos móviles y, a continuación, configuran la aplicación con credenciales y una URL de inscripción de dispositivos. Cuando se abre Secure Hub, los usuarios seleccionan las aplicaciones de empresa en XenMobile Store. Después de que las aplicaciones se descarguen e instalen en el dispositivo, Secure Hub funciona como una central desde la que administrar esas aplicaciones, realizar tareas (como la autenticación de usuarios) y actualizar directivas de manera centralizada.

  • MDX

    MDX es la fuente de la funcionalidad MAM. El MDX Toolkit agrega el código MDX a la aplicación móvil. Aparte de cuando se empaquetan aplicaciones, no se trabaja directamente con el código MDX.

  • MDX Toolkit y MDX App SDK

    El MDX Toolkit agrega funcionalidad empresarial a las aplicaciones móviles existentes. Este es un proceso llamado empaquetado de aplicaciones. El MDX App SDK permite a los desarrolladores e integradores de sistemas habilitar las aplicaciones móviles para MDX. En el empaquetado de aplicaciones, se realizan tres tareas principales. En primer lugar, se introduce código Citrix en la aplicación que implementa las funciones de administración de aplicaciones. El resultado de esta tarea es un nuevo archivo de aplicación. En segundo lugar, el empaquetado de aplicaciones firma ese nuevo archivo de aplicación con un certificado de seguridad. Finalmente, el empaquetado de aplicaciones crea un archivo MDX que contiene información sobre directivas y otros parámetros. En algunas situaciones, el archivo de la aplicación firmada también se encuentra directamente en el archivo MDX.

Esta guía de desarrollador se centra en el empaquetado de las aplicaciones ISV (provenientes de fabricantes de software independientes).

Modos administrado y no administrado para aplicaciones ISV

El MDX App SDK ofrece un comportamiento dual para las aplicaciones, lo que permite implementar aplicaciones que se pueden ejecutar con o sin la infraestructura de MDX. Las aplicaciones que se ejecutan independientemente de Secure Hub se conocen como aplicaciones no administradas. Cuando esas aplicaciones cumplen determinadas condiciones, pasan a ser aplicaciones administradas y se ejecutan bajo el control de Secure Hub.

El comportamiento dual contrasta con las aplicaciones MDX implementadas directamente desde el back-end de XenMobile. Esas aplicaciones siempre requieren la presencia de Citrix MDX y la autorización de un XenMobile Store para ejecutarse. Sin embargo, con Intune, esas aplicaciones se pueden implementar y administrar sin Secure Hub ni XenMobile Store.

Utilice las API de XenMobile para especificar el tipo de comportamiento dual necesario para integrar una aplicación en MDX. Puede crear dos versiones de una aplicación: una no administrada y otra administrada. También puede desarrollar una sola aplicación que sirva tanto para uso independiente como para incluirla en MDX. El framework MDX aplica los comportamientos predeterminados asociados a aplicaciones administradas y no administradas.

El modo en que una aplicación no administrada pasa a ser administrada depende de si la aplicación se empaquetó como una aplicación Premium o una aplicación General:

  • Aplicación General: Una aplicación General se aloja en el App Store de Apple o en Google Play Store. Los usuarios que no tienen Secure Hub pueden descargar y ejecutar la aplicación de la forma habitual en el modo no administrado, como cualquier otra aplicación genérica de la tienda de aplicaciones. Si un usuario no administrado instala Secure Hub más adelante, la aplicación ISV pasa al modo administrado si se cumplen estas condiciones:

    • El usuario inicia sesión al menos una vez en una tienda de empresa de XenMobile.

    • El usuario pertenece a un grupo de entrega de XenMobile en el que se implementó la aplicación.

    • MDX suscribe al usuario.

    • Cuando se le solicite, el usuario confirma que su empresa puede administrar la aplicación.

      Si un usuario sale de la administración de aplicaciones de empresa, puede seguir ejecutando la aplicación para uso personal.

  • Aplicación Premium: Una aplicación Premium está destinada a usuarios de la empresa. Las aplicaciones MDX de Citrix son ejemplos de aplicaciones Premium. Aunque las aplicaciones Premium suelen ejecutarse en el modo administrado, el framework MDX incrustado permite que las aplicaciones Premium se ejecuten en el modo no administrado con un conjunto predeterminado de directivas MDX que se pueden definir a través de archivos predeterminados de directivas. Por lo tanto, puede controlar a efectos prácticos el comportamiento de la aplicación y usar las funcionalidades de MDX, incluso aunque el usuario no esté asociado a una cuenta de empresa.

    Si un usuario no administrado instala Secure Hub más adelante, la aplicación pasa automáticamente al modo administrado si se cumplen las condiciones siguientes.

    • El usuario pertenece a un grupo de entrega de XenMobile en el que se implementó la aplicación.
    • El usuario inicia sesión en Secure Hub si es necesario.
    • MDX suscribe al usuario.

Nota: Una aplicación no puede volver del modo administrado al modo no administrado.

En el diagrama siguiente se resumen las diferencias entre las aplicaciones General y Premium, en función de si se administran o no.

Imagen del diagrama de diferencias entre aplicaciones de los tipos General y Premium

Empaquetado de aplicaciones de ISV (fabricantes de software independientes)

Esta sección ofrece información general sobre el empaquetado de aplicaciones provenientes de fabricantes de software independientes. El empaquetado de aplicaciones realizado por los administradores de empresa se analiza en Acerca de MDX Toolkit.

Cuando se empaquetan aplicaciones ISV, el MDX Toolkit crea dos archivos: un archivo .mdx y el archivo de la aplicación (.ipa, .app o .apk). El MDX Toolkit permite incrustar la URL de la tienda de aplicaciones en el archivo .mdx, que luego se entrega directamente a los clientes o se carga en la MDX App Gallery como se describe en la sección siguiente. El archivo de la aplicación se entrega a través de las tiendas de aplicaciones; puede alojarlo usted o puede distribuirlo a sus clientes.

Como se muestra en este diagrama, el MDX Toolkit combina archivos de aplicación (.ipa, .app o .apk) con componentes de Citrix y su certificado de firma o almacén de claves para producir un archivo de aplicación modificado y un archivo .mdx.

Diagrama de la entrada y la salida del MDX Toolkit para el empaquetado de aplicaciones de proveedores de software independientes (ISV).

Los elementos agregados por el empaquetado de aplicaciones ISV son:

  • Un archivo de información que contiene los datos que necesita el framework de MDX SDK cuando este se vincula con Secure Hub. La información de vínculo correspondiente se pasa a Secure Hub desde el servidor XenMobile mediante el archivo .mdx agregado a XenMobile. Los datos contienen elementos, por ejemplo, un ID de aplicación que se utiliza para identificarse y un ID de paquete utilizado para comprobar si existen actualizaciones.
  • Una huella digital FIPS en el módulo incrustado de objeto de criptografía OpenSSL de FIPS en la aplicación integrada en el MDX App SDK.
  • Solo para iOS: Un nuevo esquema de URL que se agrega al archivo de la aplicación y también se pasa a Secure Hub mediante el archivo .mdx que un administrador agrega a XenMobile.

Acerca del programa Citrix Ready

Citrix evalúa y certifica las aplicaciones ISV a través del programa Citrix Ready. La evaluación consiste en gran medida en pruebas de integración en XenMobile. La certificación garantiza que las aplicaciones sean compatibles con la infraestructura de XenMobile, lo que confiere confianza por parte de las empresas en sus aplicaciones.

En el programa Citrix Ready, puede publicar los binarios de sus aplicaciones ISV certificadas directamente en el App Store de Apple o en Google Play. Eso significa que no es necesario distribuir los binarios a las empresas, y usted controla mejor las actualizaciones de la aplicación. Además, sus aplicaciones se firman con su certificado de ISV. También puede optar por distribuir sus aplicaciones certificadas directamente a las empresas o alojarlas usted mismo.

Asimismo, puede elegir cómo distribuir el paquete MDX de una aplicación ISV: publicar el paquete en la MDX App Gallery o distribuirlo directamente a sus clientes de XenMobile.

Experiencia de usuario en aplicaciones MDX

El modo en que los usuarios interactúan con una aplicación que está integrada en el MDX App SDK depende de cómo la instalan y la inician.

Inicios de usuario con Secure Hub

  1. El usuario abre Secure Hub y el App Store o Google Play.
  2. El usuario inicia sesión en XenMobile Store y, a continuación, se suscribe a XenMobile Store.
  3. El usuario descarga e instala la aplicación desde una tienda pública.
  4. Secure Hub pide al usuario que inicie sesión, si fuera necesario.
  5. Si la aplicación no se administraba, pasa automáticamente a ser una aplicación administrada.

Inicios de usuario con la App Store o Google Play

Si Secure Hub ya está presente en el dispositivo, los usuarios tienen la siguiente experiencia cuando se trata de aplicaciones General y Premium.

Aplicación General

  1. El usuario inicia la aplicación.

  2. Si la aplicación detecta una instalación de Secure Hub y le corresponde el modo administrado, pide al usuario que confirme la transición al modo administrado.

  3. Si el usuario prefiere que sea su empresa la que administre la aplicación, Secure Hub pide al usuario que inicie sesión si fuera necesario.

  4. Después de que MDX suscriba al usuario a la aplicación, la aplicación pasa al modo administrado.

    Si Secure Hub no está en el dispositivo o a la aplicación no le corresponde el modo administrado, se ejecuta en el modo no administrado, como cualquier otra aplicación de tienda pública.

Aplicación Premium

  1. El usuario inicia la aplicación.
  2. Si la aplicación detecta una instalación de Secure Hub y le corresponde el modo administrado, la aplicación pasa automáticamente al modo administrado. Si se requieren credenciales de Secure Hub, la aplicación notifica al usuario sobre la transición al modo administrado y le pide que inicie sesión.

Problemas conocidos del MDX App SDK

Artículos relacionados

En los artículos siguientes se describe cómo: integrar el MDX App SDK en aplicaciones iOS y Android, usar las API, publicar aplicaciones, personalizar directivas y conseguir la mayor compatibilidad entre sus aplicaciones y XenMobile.