MDX開発者ガイド
Citrix Endpoint Management™は、モバイルデバイス、アプリ、およびデータを管理できるエンタープライズソリューションです。Endpoint Managementモバイルアプリ管理 (MAM) の基本的な前提は、既存のアプリにエンタープライズ機能を注入し、それらのアプリを企業のプライベートアプリストア、Apple App Store、またはGoogle Play Storeでホストすることです。
-
モバイルアプリにEndpoint Managementのエンタープライズ機能を追加するには、MDX Toolkitでそれらをラップします。MDX Toolkitは、モバイルデバイスエクスペリエンスを向上させ、MDX機能を追加することでEndpoint Managementによるセキュアな展開のためにアプリを準備するアプリコンテナテクノロジーです。MDX機能には、ポリシーと設定、署名付きセキュリティ証明書、およびモバイルアプリ管理コードが含まれます。
-
MDX ToolkitにはMDX App SDKが含まれており、Citrix MDXアプリコンテナテクノロジーを通じてモバイルアプリにMDX機能の完全なセットを提供します。APIを使用すると、次のことが可能になります。
- Endpoint Managementポリシーに基づいてラップされたアプリでアクションを実行。たとえば、Endpoint ManagementポリシーがMDXアプリでの切り取りとコピーを禁止している場合、アプリでのテキスト選択を禁止できます。アプリは他のMDX対応アプリとポリシーを通信および共有できます。
- MDX対応アプリ内のアクティビティを検出。たとえば、アプリがラップされているか管理されているかを確認できます。
- セキュリティやポリシーの適用など、カスタム機能を追加。
-
Citrix環境の内外で実行されるモバイルアプリを開発。
Endpoint Managementと併用する場合にMDXポリシーで一元的に構成できることに加えて、MDX App SDKを使用するアプリは、Citrix環境外でスタンドアロンで動作できます。
MDX App SDK 10.2の新機能
iOS用MDX App SDKの10.2リリースには、次の機能強化と更新が含まれています。
-
最小データ保護クラスポリシーは非表示です。 Citrix Endpoint Managementでポリシーを表示するには、アプリのpolicy_metadata.xmlファイル (Applications/Citrix/MDXToolkit/data内) を開き、MinimumDataProtectionClassセクションでPolicyHiddenの値をfalseに変更します。アプリをラップした後、Citrix Endpoint Managementにアプリを追加するとポリシーが表示されます。
-
Xcodeビルドプロセスとのアプリラッピング統合。 開発者は、Xcodeビルドプロセスの一部としてiOSアプリをラップして公開できるようになりました。詳細については、「SDKをアプリライブラリに統合する」を参照してください。
-
Androidアプリでの共有ボールトのサポート。 MDX App SDKには、MDX共有ボールト機能用のAndroid APIが含まれるようになり、アプリ間で管理対象コンテンツを共有できます。たとえば、共有ボールトを使用すると、登録済みアプリを介して証明書と秘密鍵を共有できるため、アプリはSecure Hubからではなくセキュアボールトから証明書を取得できます。詳細については、「Android用XenMobile API」を参照してください。
注:
開発者の皆様は、ロックされたデバイスでのコンテンツの更新やバックグラウンド同期など、バックグラウンド処理を実行するラップされたアプリを必ずテストしてください。
-
MAM機能
-
Endpoint Managementによって追加されるエンタープライズ機能は、管理者がEndpoint Managementコンソールからアプリごとに更新するポリシーによって制御されます。Endpoint Managementは、管理者が決定したスケジュールでモバイルデバイスにポリシーをプッシュします。ポリシーは、次のような機能を管理します。
- 認証。管理対象アプリを開く際、Endpoint Managementはユーザーに企業資格情報またはPINの入力を要求できます。この資格情報チャレンジは定期的に繰り返すことができます。
- アプリの更新。Endpoint Managementは、管理対象アプリの更新が利用可能になったときにユーザーに通知します。管理者は、特定の期間内に更新を必須にすることができます。ユーザーが更新を受け入れない場合、期間が経過すると古いバージョンのアプリは実行されません。
-
リモートロックとワイプ。管理者は、アプリごとまたはデバイスごとにアプリを一時的にロックしたり、完全にワイプしたりできます。
- ネットワーク制限とVPN。Endpoint Managementポリシーはネットワークアクセスを制御します。アクセスは、ブロックされるか、フルVPN経由でルーティングされるか、プロキシVPN経由でルーティングされます。VPNルーティングは、企業がホストするCitrix Gatewayデバイスを介して行われます。
- アプリ間の通信制限。Endpoint Managementポリシーは、アプリ間のドキュメント共有がブロックされるか、管理対象アプリ間でのみ許可されるかを決定します。したがって、アプリの「Open In」ポップアップでは、管理対象外のアプリを省略できます。
- 機能の封じ込め。Endpoint Managementポリシーは、アプリのさまざまなデバイス機能を無効にできます。例としては、カメラ、マイク、位置センサーなどがあります。
Endpoint Managementコンポーネント
- 次のEndpoint ManagementコンポーネントはMAM機能を提供します。
-
Citrix Endpoint Managementサーバー
このエンタープライズまたはクラウド常駐サーバーは、内部アプリストアであるCitrix Endpoint Management Storeをホストします。管理者はモバイルアプリをEndpoint Managementにアップロードし、アプリとデバイスのポリシーを構成します。
-
Secure Hub
- 企業ユーザーは、モバイルデバイスにAndroidまたはiOS用のSecure Hubをインストールし、その後、デバイス登録URLと資格情報でアプリを構成します。Secure Hubが開くと、ユーザーはCitrix Endpoint Management Storeからエンタープライズアプリを選択します。アプリがデバイスにダウンロードおよびインストールされた後、Secure Hubはこれらのアプリを管理するためのハブとして機能し、ユーザー認証や一元的に管理されるポリシーの更新などのタスクを実行します。
- MDX
MDXはMAM機能のソースです。MDX ToolkitはモバイルアプリにMDXコードを追加します。アプリのラッピング以外では、MDXコードを直接操作することはありません。
-
-
MDX ToolkitとMDX App SDK
MDX Toolkitは、既存のモバイルアプリにエンタープライズ機能を追加します。これはアプリラッピングと呼ばれるプロセスです。MDX App SDKを使用すると、開発者とシステムインテグレーターはモバイルアプリをMDX対応にできます。アプリケーションラッピングは、主に3つのタスクを実行します。まず、アプリ管理機能を実装するCitrixコードをアプリに挿入します。このタスクの出力は新しいアプリファイルです。次に、アプリラッピングは新しいアプリファイルをセキュリティ証明書で署名します。最後に、アプリラッピングはポリシー情報やその他の設定を含むMDXファイルを作成します。状況によっては、署名されたアプリファイルもMDXファイルに直接含まれます。
この開発者ガイドは、ISV向けのアプリラッピングに焦点を当てています。
ISVアプリのアンマネージドモードとマネージドモード
MDX App SDKはデュアルモードアプリの動作を提供します。これにより、MDXインフラストラクチャの有無にかかわらず実行できるアプリを展開できます。Secure Hubとは独立して実行されるアプリは、アンマネージドアプリと呼ばれます。これらのアプリが特定の条件を満たすと、管理対象アプリに移行し、Secure Hubの制御下で実行されます。
-
このデュアルモードの動作は、Endpoint Managementバックエンドから直接展開されるMDXアプリとは対照的です。これらのアプリは、実行するために常にCitrix MDXの存在とEndpoint Management Storeからの承認を必要とします。ただし、Intuneを使用すると、Secure HubまたはEndpoint Management Storeが存在しなくても、これらのアプリを展開および管理できます。
-
アプリをMDXと統合する際に必要なデュアルモード動作のタイプを指定するには、Endpoint Management APIを使用します。アプリの2つのバージョン(アンマネージドとマネージド)を開発するか、独立した使用とMDXへの組み込みの両方に対応する単一のアプリを開発することができます。MDXフレームワークは、アンマネージドアプリとマネージドアプリに関連付けられたデフォルトの動作を適用します。
アプリがアンマネージドからマネージドに移行する方法は、アプリが汎用アプリとしてラップされているか、プレミアムアプリとしてラップされているかによって異なります。
-
一般アプリ: 一般アプリは、Apple App Store または Google Play Store でホストされます。Secure Hub を持たないユーザーは、一般的なアプリストアアプリと同様に、アンマネージドモードでアプリを通常どおりダウンロードして実行できます。アンマネージドユーザーが後で Secure Hub をインストールすると、以下の条件が満たされた場合に ISV アプリはマネージドモードに移行します。
- ユーザーが Citrix Endpoint Management エンタープライズストアに少なくとも一度サインオンしていること
- ユーザーがアプリが展開されている Endpoint Management デリバリーグループに属していること
- MDX がユーザーをサブスクライブしていること
-
プロンプトが表示されたときに、ユーザーが自分の企業がアプリを管理できることを確認していること
ユーザーがエンタープライズアプリ管理をオプトアウトした場合でも、個人利用のためにアプリを実行し続けることができます。
-
プレミアムアプリ: プレミアムアプリは、エンタープライズユーザーを対象としたアプリです。Citrix MDXアプリはプレミアムアプリの例です。プレミアムアプリは通常、管理モードで実行されますが、組み込みのMDXフレームワークにより、デフォルトのポリシーファイルを通じて設定するMDXポリシーのデフォルトセットを使用して、プレミアムアプリを非管理モードで実行できます。これにより、ユーザーがエンタープライズアカウントに関連付けられていない場合でも、アプリの動作を効果的に制御し、MDX機能を使用できます。
非管理ユーザーが後でSecure Hubをインストールすると、以下の条件が満たされた場合、アプリはサイレントに管理モードに移行します。
- ユーザーがアプリが展開されているCitrix Endpoint Managementデリバリーグループに属している
- 必要に応じて、ユーザーがSecure Hubにサインオンする
- MDXがユーザーをサブスクライブする
注
アプリは管理モードから非管理モードに戻ることはできません。
次の図は、管理されているか非管理であるかに基づく、一般アプリとプレミアムアプリの違いをまとめたものです。
ISVアプリのラッピング
このセクションでは、ISV向けアプリラッピングに関する一般的な情報を提供します。エンタープライズ管理者が実行するアプリラッピングについては、「MDX Toolkitについて」で説明しています。
ISVアプリをラッピングすると、MDX Toolkitは2つのファイルを作成します。1つは.mdxファイル、もう1つはアプリファイル(.ipa、.app、または.apk)です。MDX Toolkitを使用すると、アプリストアのURLを.mdxファイルに埋め込むことができます。このファイルは、次のセクションで説明するように、顧客に直接配信するか、Citrix Ready Marketplace™にアップロードできます。アプリファイルは、アプリストアを通じて、自分でホストして、または顧客に配布して配信します。
次の図に示すように、MDX Toolkitはアプリファイル(.ipa、.app、または.apk)とCitrixコンポーネント、およびキーストアまたは署名証明書を組み合わせて、.mdxファイルと変更されたアプリファイルを生成します。

ISVアプリラッピングによって追加される項目は次のとおりです。
- フレームワークがSecure HubとバインドするときにMDX SDKフレームワークが必要とするデータを含む情報ファイル。対応するバインド情報は、Endpoint Managementに追加された.mdxファイルを介してEndpoint ManagementサーバーからSecure Hubに渡されます。データには、自己識別のために使用されるアプリIDや、アプリの更新チェックのために使用されるパッケージIDなどの項目が含まれます
- MDX App SDKと統合されたアプリに埋め込まれたOpenSSL FIPS Crypto Object Module上のFIPSフィンガープリント
- iOSのみ:アプリファイルに追加され、管理者がEndpoint Managementに追加する.mdxファイルを介してSecure Hubにも渡される新しいURLスキーム
Citrix Ready®プログラムについて
Citrixは、Citrix Readyプログラムを通じてISVアプリを評価し、認定します。評価は主にEndpoint Managementの統合テストを含みます。この認定により、アプリがEndpoint Managementインフラストラクチャと互換性があることが保証され、企業はあなたのアプリに信頼を置くことができます。
Citrix Readyプログラムの一環として、認定されたISVアプリのバイナリをApple App StoreまたはGoogle Play Storeに直接公開できます。これは、バイナリを企業に配布する必要がなくなり、アプリの更新をより詳細に制御できることを意味します。さらに、アプリはISV証明書で署名されます。認定されたアプリを企業に直接配布するか、自分でホストすることも選択できます。
ISVアプリの.mdxバンドルの配布方法も選択できます。バンドルをCitrix Ready Marketplaceに公開するか、Citrix Endpoint Managementの顧客に直接配布するかです。
詳細については、「Citrix Ready」を参照してください。
MDXアプリのユーザーエクスペリエンス
MDX App SDKと統合されたアプリをユーザーが操作する方法は、アプリのインストール方法と起動方法によって異なります。
ユーザーがSecure Hubで開始する場合
- ユーザーはSecure HubとApple App StoreまたはGoogle Play Storeを開きます
- ユーザーはEndpoint Management Storeにサインオンし、ストアをサブスクライブします
- ユーザーは公開ストアからアプリをダウンロードしてインストールします
- 必要に応じて、Secure Hubはユーザーにサインオンを促します
- アプリが以前に非管理であった場合、サイレントに管理モードに移行します
ユーザーがApple App StoreまたはGoogle Play Storeで開始する場合
Secure Hubがすでにデバイスに存在する場合、ユーザーは一般アプリとプレミアムアプリで以下のエクスペリエンスを得ます。
一般アプリ
-
ユーザーがアプリを起動します
-
アプリがSecure Hubのインストールを検出し、アプリに資格がある場合、アプリはユーザーに管理モードへの移行を確認するよう促します
-
ユーザーがエンタープライズにアプリを管理させることを選択した場合、必要に応じてSecure Hubはユーザーにサインオンを促します
-
MDXがユーザーにアプリをサブスクライブした後、アプリは管理モードに移行します
Secure Hubがデバイスにない場合、またはアプリに資格がない場合、アプリは通常の公開ストアアプリと同様に、非管理モードで実行されます。
プレミアムアプリ
- ユーザーがアプリを起動します
- アプリがSecure Hubのインストールを検出し、アプリに資格がある場合、アプリはサイレントに管理モードに移行します。Secure Hubの資格情報が必要な場合、アプリは管理モードへの移行についてユーザーに通知し、サインオンを促します
MDX App SDKの既知の問題
- アイコンが含まれていないAndroidアプリでは、ラッピングは機能しません
- 一部のアプリフレームワークには、Citrix Endpoint Managementとの互換性の問題があります。詳細については、「モバイルアプリ開発フレームワークのサポート」(Androidの場合)および「サードパーティライブラリのサポート」(iOSの場合)を参照してください
- その他の問題については、「既知の問題」を参照してください
