MDX-Entwicklerhandbuch

27. Februar 2018

Citrix XenMobile ist eine Unternehmenslösung zum Verwalten von mobilen Geräten, Apps und Daten. Grundlage der Mobilanwendungsverwaltung (MAM) von XenMobile ist das Einfügen von Unternehmensfunktionen in vorhandene Apps. Die Apps werden dann im App-Store des Unternehmens, im Apple App Store oder im Google Play Store gehostet.

Zum Einfügen von XenMobile-Unternehmensfunktionen werden Apps mit dem MDX Toolkit umschlossen. Das MDX Toolkit ist eine App-Containertechnologie, mit der die Benutzerfreundlichkeit von Apps auf mobilen Geräten verbessert und Apps durch Hinzufügen von MDX-Funktionen für die sichere Bereitstellung über XenMobile vorbereitet werden. Zu den MDX-Funktionen gehören Richtlinien und Einstellungen, signierte Sicherheitszertifikate und Code für die Mobilanwendungsverwaltung.

Das MDX Toolkit enthält ein MDX App SDK. Sie können damit über die Citrix MDX-App-Containertechnologie Ihre mobilen Apps mit allen MDX-Funktionen ausstatten. APIs ermöglichen Folgendes:

  • Ausführen von Aktionen in umschlossenen Apps basierend auf XenMobile-Richtlinien. Wenn eine XenMobile-Richtlinie beispielsweise das Ausschneiden und Einfügen in einer MDX-App verhindert, können Sie das Auswählen von Text in der App unterbinden. Eine App kann Richtlinien mit anderen MDX-aktivierten Apps teilen und austauschen.

  • Erkennen von Aktivitäten in MDX-aktivierten Apps. Sie können beispielsweise überprüfen, ob eine App umschlossen ist oder verwaltet wird.

  • Hinzufügen benutzerdefinierter Funktionen, z. B. Durchsetzung von Sicherheit oder Richtlinien.

  • Entwickeln mobiler Apps zur Ausführung innerhalb oder außerhalb der Citrix Umgebung.

    Mit dem MDX App SDK entwickelte Apps sind nicht nur unter XenMobile zentral über MDX-Richtlinien konfigurierbar, sie können auch außerhalb einer Citrix Umgebung ausgeführt werden.

Neue Features im MDX App SDK 10.2

Das aktuelle Release des MDX App SDKs für iOS enthält die folgenden Verbesserungen:

Unterstützung für iOS 9: Das MDX App SDK 10.2 unterstützt iOS 9.

Wichtig:

Secure Hub 10.0.x und mit dem MDX Toolkit 10.0.x umschlossene Apps können nicht unter iOS 9 ausgeführt werden. ISV-Apps müssen mit dem MDX Toolkit 10.2 erneut umschlossen werden. Die Benutzer müssen die aktualisierten Apps installieren, bevor sie ein Geräteupgrade auf iOS 9 durchführen. Wenn ein Benutzer versucht, eine mit dem MDX Toolkit 10.0.x umschlossene App unter iOS 9 zu installieren, kann die App nicht aktualisiert werden und der Benutzer muss eine mit dem MDX Toolkit 10.2 umschlossene Version der App installieren.

Aufgrund der Änderungen an iOS 9 ist die dateibasierte MDX-Verschlüsselung nicht für Daten verfügbar, die aus einer umschlossenen App auf ein iOS 9-Gerät heruntergeladen werden. Die Datenbank- und Schlüsselbundverschlüsselung funktioniert einwandfrei. Das MDX Toolkit 10.2 bietet ein alternatives Verfahren zur Verschlüsselung von App-Daten, die im Dateisystem von Geräten gespeichert sind. Zum Schützen der Daten stehen folgende Optionen zur Auswahl:

  • Verwenden des iOS-Dateidatenschutzes zum Verschlüsseln von Daten

Apple erfordert einen Gerätepasscode für die Verschlüsselung aller App-Daten auf Geräten, auf denen der iOS-Dateidatenschutz verwendet wird. Zur Unterstützung dieses iOS-Schutzes gibt es im MDX Toolkit 10.2 die neue Richtlinie “Gerätepasscode”, durch die eine PIN oder ein Passcode auf iOS 9-Geräten erzwungen wird. Standardmäßig ist diese Richtlinie Ein. Die Richtlinie wird auf App-Basis angewendet und kann bei Ausführung von XenMobile im MDM- und im MAM-Modus verwendet werden.

  • Neben dem Erzwingen einer PIN bzw. eines Passcodes können Sie auch eine minimale iOS-Datenschutzklasse festlegen, die auf die App-Daten im Dateisystem angewendet wird.

Richtlinien und iOS 9:

  • iOS 9 hat keine Auswirkungen auf das Benutzerentropie-Feature, das über den Schlüssel Encrypt secrets using Passcode aktiviert wird. Die MDX-Verschlüsselung von in Datenbanken gespeicherten Daten, der Schlüsselbund und der Geheimtresor auf dem Gerät sind nicht betroffen.
  • Auf iOS 9-Geräten wird mit der Richtlinie “Verschlüsselung aktivieren” nur die Verschlüsselung von Datenbank und Schlüsselbund aktiviert. Auf älteren iOS-Geräten wird mit der Richtlinie weiterhin auch die MDX-Dateiverschlüsselung aktiviert.
  • Zum zusätzlichen Schutz der Daten auf Geräten mit aktiviertem Passcode bietet das MDX App SDK eine höhere iOS-Verschlüsselungsebene für Dateien, die von diesen Apps auf Geräten gespeichert werden. Die iOS-Dateiverschlüsselung hat mehrere Datenschutzstufen. Die neue Richtlinie “Mindestdatenschutzklasse” ermöglicht die Angabe einer Schutzklasse für App-Daten, sofern nicht bereits eine höhere Schutzebene in der App festgelegt ist. Die Richtlinie hat folgende Werte:

Vollständig, es sei denn, Datei ist offen: Ist eine Datei beim Sperren des Geräts geöffnet, steht sie für die App weiterhin zur Verfügung. Dieser Wert entspricht NSFileProtectionCompleteUnlessOpen. Standardwert.

Vollständig: Wird ein Gerät gesperrt, stehen Dateien nicht mehr zur Verfügung. Dieser Wert entspricht NSFileProtectionNone.

Bis zum ersten Entsperren: Wenn ein Gerät neu gestartet wird, bleiben Dateien gesperrt und können nicht angezeigt werden, bis der Benutzer das Gerät zum ersten Mal entsperrt. Dieser Wert entspricht NSFileProtectionCompleteUntilFirstUserAuthentication.

Keine: Dateien werden nicht gesondert geschützt und können jederzeit angezeigt und bearbeitet werden. Dieser Wert entspricht NSFileProtectionNone.

Wichtig: Entwickler sollten unbedingt umschlossene Apps testen, die Hintergrundverarbeitungsschritte durchführen (z. B. Inhaltsaktualisierungen auf gesperrten Geräten oder Hintergrundsynchronisierungen).

Die Richtlinie “Mindestdatenschutzklasse” ist ausgeblendet. Um die Richtlinie in XenMobile anzuzeigen, öffnen Sie für die App die Datei policy_metadata.xml (in Applications/Citrix/MDXToolkit/data) und ändern Sie im Abschnitt MinimumDataProtectionClass den Wert für PolicyHidden in false. Nachdem Sie die App umschlossen haben, wird die Richtlinie angezeigt, wenn Sie die App XenMobile hinzufügen.

Integration des Umschließens von Apps in den Xcode-Buildprozess: Entwickler können nun iOS-Apps im Rahmen des Xcode-Buildprozesses umschließen und veröffentlichen. Einzelheiten finden Sie unter Integrieren des SDKs in die App Bibliothek.

Unterstützung für freigegebenen Tresor in Android-Apps: Das MDX App SDK enthält jetzt die Android-API für das MDX-Feature des freigegebenen Tresors, das die Freigabe verwalteter Inhalte für Apps ermöglicht. Der freigegebene Tresor ermöglicht beispielsweise die Freigabe von Zertifikaten und privaten Schlüsseln über eine registrierte App, sodass Apps Zertifikate aus dem Tresor statt von Secure Hub beziehen können. Einzelheiten finden Sie unter XenMobile-API für Android.

Behobene Probleme: Siehe Behobene Probleme im MDX Toolkit.

MAM-Funktionen

Die über XenMobile hinzugefügten Unternehmensfunktionen werden über Richtlinien gesteuert, die von den Administratoren mit der XenMobile-Konsole für die einzelnen Apps aktualisiert werden. XenMobile überträgt Richtlinien nach dem von den Administratoren festgelegten Zeitplan auf die mobilen Geräte. Mit Richtlinien werden diverse Features verwaltet. Beispiele:

  • Authentifizierung: Benutzer können beim Öffnen einer verwalteten App zur Eingabe von Unternehmens- Anmeldeinformationen oder einer PIN aufgefordert werden. Diese Eingabeaufforderung kann in regelmäßigen Abständen wiederholt werden.
  • App-Updates: XenMobile benachrichtigt die Benutzer, wenn Updates für verwaltete Apps verfügbar sind. Der Administrator kann festlegen, dass Updates innerhalb eines bestimmten Zeitraums installiert werden müssen. Akzeptiert ein Benutzer das Update nicht, wird die alte Version der App nach Verstreichen des Zeitraums nicht mehr ausgeführt.
  • Remotesperren und -löschen: Ein Administrator kann Apps auf App- oder Gerätebasis vorübergehend sperren oder permanent löschen.
  • Datenverschlüsselung: Auf iOS 9-Geräten werden Datenbank und Schlüsselbund mit der MDX-Verschlüsselung und lokal gespeicherte Daten mit der hierfür vorgesehenen Apple-Verschlüsselung geschützt. Für lokal auf iOS 9-Geräten gespeicherte Daten können Sie außerdem über die Richtlinie “Mindestdatenschutzklasse” eine Schutzklasse angeben, die gilt, sofern keine höhere Schutzebene für die App festgelegt ist.
  • Netzwerkeinschränkungen und VPN: Der Netzwerkzugriff wird über eine XenMobile-Richtlinie gesteuert: Er kann blockiert oder über ein VPN oder Proxy-VPN geroutet werden. Das VPN-Routing erfolgt über ein vom Unternehmen gehostetes Citrix NetScaler Gateway-Gerät.
  • Einschränkungen für die Kommunikation zwischen Apps: Über eine XenMobile-Richtlinie wird festgelegt, ob die Freigabe von Dokumenten zwischen Apps blockiert ist oder nur zwischen verwalteten Apps zugelassen ist. Die Popup-Option “Öffnen in” einer App kann daher nicht verwaltete Apps auslassen.
  • Einschränkungen für Features: Durch XenMobile-Richtlinien können verschiedene Gerätefeatures für eine App deaktiviert werden (z. B. Kamera, Mikrofon oder Positionssensor).

XenMobile-Komponenten

Die folgenden XenMobile-Komponenten bieten MAM-Funktionen.

  • XenMobile Server

    Der im Unternehmen selbst oder in einer Cloud angesiedelte Server hostet den internen App-Store XenMobile Store. Administratoren laden mobile Apps in XenMobile hoch und konfigurieren dort App- und Geräterichtlinien.

  • Secure Hub

    Die Benutzer im Unternehmen installieren Secure Hub für Android oder iOS auf ihrem Mobilgerät und konfigurieren es unter Eingabe einer Geräteregistrierungs-URL und von Anmeldeinformationen. Wenn Secure Hub geöffnet wird, können die Benutzer Unternehmensapps im XenMobile Store auswählen. Nach dem Download und der Installation von Apps auf dem Gerät dient Secure Hub als Zentrale zum Verwalten von Apps und zum Ausführen von Aufgaben, z. B. Benutzerauthentifizierung und Aktualisierung zentral verwalteter Richtlinien.

  • MDX

    MDX ist die Quelle der MAM-Funktionalität. Mit dem MDX Toolkit werden mobile Apps mit MDX-Code ausgestattet. Abgesehen vom Umschließen von Apps erfolgen keine direkten Arbeitsschritte am MDX-Code.

  • MDX Toolkit und MDX App SDK

    Mit dem MDX Toolkit werden mobile Apps mit Unternehmensfunktionen ausgestattet. Dieser Vorgang wird als Umschließen von Apps bezeichnet. Mit dem MDX App SDK können Entwickler und Systemintegratoren ihre mobilen Apps MDX-fähig machen. Das Umschließen von Apps besteht aus drei Hauptschritten. Zunächst wird Citrix Code zur Implementierung der App-Verwaltungsfunktionen in die App eingefügt. Bei dieser Aufgabe wird eine neue App-Datei ausgegeben. Im zweiten Schritt wird die neue App-Datei mit einem Sicherheitszertifikat signiert. Im dritten Schritt wird eine MDX-Datei erstellt, die Richtlinieninformationen und andere Einstellungen enthält. In manchen Fällen ist die signierte App-Datei direkt in der MDX-Datei enthalten.

Im vorliegenden Entwicklerhandbuch wird das Umschließen von Apps unabhängiger Softwarehersteller (“ISV-Apps”) behandelt.

Apps unabhängiger Softwarehersteller mit und ohne Verwaltung

Mit dem MDX App SDK können Apps bereitgestellt werden, die mit oder ohne MDX-Infrastruktur ausgeführt werden. Unabhängig von Secure Hub ausgeführte Apps werden als nicht verwaltete Apps bezeichnet. Wenn solche Apps bestimmte Bedingungen erfüllen, wechseln sie den Modus und werden verwaltete Apps, die unter der Kontrolle von Secure Hub ausgeführt werden.

Dieser duale Modus unterscheidet sich von dem der MDX-Apps, die direkt über das XenMobile Back-End bereitgestellt werden. Diese können nur unter Citrix MDX und bei Autorisierung durch einen XenMobile Store ausgeführt werden. Mit Intune können diese Apps jedoch bereitgestellt und verwaltet werden, ohne dass Secure Hub oder XenMobile Store vorhanden sind.

Den Modus einer App legen Sie bei deren Integration in MDX mit den XenMobile-APIs fest. Sie können entweder zwei App-Versionen entwickeln, eine verwaltete und eine nicht verwaltete, oder eine einzige App für die unabhängige Verwendung und die Aufnahme in MDX. Das MDX-Framework erzwingt das Standardverhalten nicht verwalteter und verwalteter Apps.

Wie eine App vom nicht verwalteten zum verwalteten Modus wechselt, hängt davon ab, ob sie als General- oder Premium-App umschlossen wurde.

  • General: Eine General-App wird im Apple App Store oder in Google Play gehostet. Benutzer ohne Secure Hub können es wie jede andere generische App-Store-App im nicht verwalteten Modus herunterladen und ausführen. Installiert ein nicht verwalteter Benutzer anschließend Secure Hub, wechselt die ISV-App in den verwalteten Modus, wenn folgende Bedingungen erfüllt werden:

    • Der Benutzer meldet sich mindestens einmal bei einem XenMobile-Unternehmensstore an.

    • Der Benutzer gehört zu einer XenMobile-Bereitstellungsgruppe, der die App bereitgestellt wurde.

    • MDX behandelt das Benutzerabonnement.

    • Bei entsprechender Aufforderung bestätigt der Benutzer, dass das Unternehmen die App verwalten darf.

      Wenn ein Benutzer die App-Verwaltung durch das Unternehmen ablehnt, kann er die App weiterhin privat verwenden.

  • Premium: Premium-Apps sind speziell für Benutzer im Unternehmen vorgesehen. Citrix MDX Apps sind Beispiele für Premium-Apps. Premium-Apps werden zwar normalerweise im verwalteten Modus ausgeführt, das eingebettete MDX-Framework ermöglicht jedoch ihre Ausführung im nicht verwalteten Modus mit einem Standardsatz von MDX-Richtlinien, die über die Standardrichtliniendateien festgelegt werden. Auf diese Weise können Sie App-Verhalten und MDX-Funktionen selbst dann steuern, wenn ein Benutzer keinem Unternehmenskonto zugeordnet ist.

    Installiert ein solcher Benutzer anschließend Secure Hub, wechselt die App im Hintergrund in den verwalteten Modus, wenn folgende Bedingungen erfüllt werden:

    • Der Benutzer gehört zu einer XenMobile-Bereitstellungsgruppe, der die App bereitgestellt wurde.
    • Der Benutzer meldet sich bei Secure Hub an, wenn dies erforderlich ist.
    • MDX behandelt das Benutzerabonnement.

Hinweis: Eine App kann nicht vom verwalteten Modus zurück in den nicht verwalteten Modus übergehen.

Die folgende Abbildung zeigt die Unterschiede zwischen allgemeinen und Premium-Apps, abhängig davon, ob diese im verwalteten Modus ausgeführt werden.

Diagramm der Unterschiede zwischen General- und Premium-Apps

Umschließen von Apps unabhängiger Softwarehersteller

Dieser Abschnitt enthält allgemeine Informationen zum Umschließen von Apps unabhängiger Softwarehersteller (ISV-Apps). Die von Unternehmensadministratoren durchgeführten Arbeiten zum Umschließen von Apps werden im Artikel Info zum MDX Toolkit behandelt

Beim Umschließen von ISV-Apps werden zwei Dateien erstellt: eine MDX-Datei und die App-Datei (.ipa, .app oder .apk). Mit dem MDX Toolkit können Sie die App-Store-URL in die MDX-Datei einbetten, die Sie dann Ihren Kunden direkt bereitstellen oder in die MDX App Gallery hochladen (siehe nächsten Abschnitt). Sie stellen die App-Datei über App-Stores bereit, hosten sie selbst oder verteilen sie an Ihre Kunden.

Das MDX Toolkit kombiniert App-Dateien (.ipa, .app oder .apk) mit Komponenten von Citrix und Ihrem Schlüsselspeicher oder Signaturzertifikat zum Erstellen einer MDX-Datei und der modifizierten App-Datei (siehe Diagramm unten).

Diagramm mit MDX Toolkit-Eingabe und Ausgabe für umschlossene Apps vom ISV

Beim Umschließen einer ISV-App werden folgende Elemente hinzugefügt:

  • Eine Informationsdatei mit den vom MDX SDK Framework beim Herstellen der Bindung mit Secure Hub benötigten Daten. Die entsprechenden Bindungsinformationen werden von XenMobile Server über die in XenMobile hinzugefügte MDX-Datei an Secure Hub übergeben. Zu den Daten gehören u. a. eine App-ID zur Selbstidentifizierung und eine Paket-ID zur Prüfung auf App-Updates.
  • Ein FIPS-Fingerabdruck im OpenSSL FIPS Crypto Object Module, das in der mit dem MDX App SDK integrierten App eingebettet ist.
  • Nur iOS: Ein neues URL-Schema, das der App-Datei hinzugefügt und außerdem über die MDX-Datei, die von einem Administrator in XenMobile hinzugefügt wird, an Secure Hub übergeben wird.

Das Citrix Ready-Programm

Citrix bewertet und zertifiziert Apps unabhängiger Softwarehersteller im Rahmen des Citrix Ready-Programms. Bei der Bewertung steht die Prüfung der Integration in XenMobile im Mittelpunkt. Die Zertifizierung gewährleistet, dass eine App mit der XenMobile-Infrastruktur kompatibel ist, und schafft Vertrauen bei den Unternehmen.

Im Rahmen des Citrix Ready-Programms können Sie Binärdateien zertifizierter ISV-Apps direkt im Apple App Store oder in Google Play veröffentlichen. Da Sie keine Binärdateien an Unternehmen verteilen müssen, haben Sie mehr Kontrolle über App-Updates. Außerdem werden Ihre Apps mit Ihrem ISV-Zertifikat signiert. Sie können zertifizierte Apps auch direkt an Unternehmen verteilen oder selbst hosten.

Auch beim Verteilen des MDX-Pakets einer ISV-App stehen Ihnen zwei Möglichkeiten offen: Sie können das Paket in der MDX App Gallery veröffentlichen oder direkt an Ihre XenMobile-Kunden verteilen.

MDX App-Benutzererfahrung

Auf welche Weise Benutzer mit einer über das MDX App SDK integrierten App interagieren hängt davon ab, wie sie die App installieren und starten.

Die Benutzer fangen mit Secure Hub an

  1. Der Benutzer öffnet Secure Hub und den Apple App Store oder Google Play.
  2. Der Benutzer meldet sich beim XenMobile Store an und abonniert diesen.
  3. Der Benutzer lädt die App aus einem öffentlichen Store herunter und installiert sie.
  4. Secure Hub fordert den Benutzer bei Bedarf zur Anmeldung auf.
  5. Wurde die App zuvor nicht verwaltet, wechselt sie ohne Benutzereingriff in den verwalteten Modus.

Benutzer fangen mit dem Apple App Store oder Google Play Store an

Ist Secure Hub bereits auf dem Gerät, ist der Ablauf bei General- und Premium-Apps wie folgt.

General-App

  1. Der Benutzer startet die App.

  2. Erkennt die App eine Installation von Secure Hub und hat die entsprechende Berechtigung, wird der Benutzer aufgefordert, den Wechsel in den verwalteten Modus zu bestätigen.

  3. Bestätigt der Benutzer die Verwaltung durch das Unternehmen, wird er ggf. von Secure Hub zur Anmeldung aufgefordert.

  4. Nachdem MDX die App dem Benutzer als Abonnement zuweist, wechselt sie in den verwalteten Modus.

    Ist Secure Hub nicht auf dem Gerät installiert oder hat die App nicht die erforderliche Berechtigung, wird die App wie eine normale App aus einem öffentlichen App-Store im nicht verwalteten Modus ausgeführt.

Premium-App

  1. Der Benutzer startet die App.
  2. Erkennt die App eine Installation von Secure Hub und hat die entsprechende Berechtigung, wechselt sie ohne Benutzereingriff in den verwalteten Modus. Sind Secure Hub-Anmeldeinformationen erforderlich, wird der Benutzer über den Wechsel in den verwalteten Modus benachrichtigt und zur Anmeldung aufgefordert.

Bekannte Probleme beim MDX App SDK

Verwandte Artikel

In den folgenden Artikeln wird beschrieben, wie Sie das MDX App SDK in iOS- und Android-Apps integrieren, APIs verwenden, Apps veröffentlichen, Richtlinien anpassen und höchste Kompatibilität zwischen Ihren Apps und XenMobile sicherstellen.