MDX開発者ガイド
Citrix Endpoint Managementは、モバイルデバイス、アプリ、およびデータの管理を可能にするエンタープライズソリューションです。Endpoint Managementモバイルアプリ管理(MAM)の基本前提は、会社のプライベートアプリストア、Apple App Store、またはGoogle Play Storeにホストされる、既存のアプリケーションにエンタープライズ機能を追加することです。
モバイルアプリにEndpoint Managementエンタープライズ機能を追加するには、MDX Toolkitでモバイルアプリをラップします。MDX Toolkitはアプリコンテナテクノロジの1つで、MDX機能を追加することで、モバイルデバイス環境を強化し、Endpoint Managementによるセキュアな展開向けにアプリを準備します。MDX機能にはポリシーと設定、署名済みのセキュリティ証明書、およびモバイルアプリ管理コードが含まれます。
MDX Toolkitには、Citrix MDXアプリコンテナテクノロジによって包括的なMDX機能セットをモバイルアプリに提供する、MDXアプリSDKが含まれています。APIを使用して次のことを行えます。
- Endpoint Managementポリシーに基づいてラップされたアプリで操作を実行します。たとえば、Endpoint ManagementポリシーによってMDXアプリでのカット/コピーを禁止すると、アプリでのテキスト選択を禁止できます。アプリでは、他のMDX準拠アプリと通信してポリシーを共有できます。
- MDX準拠アプリ内でアクティビティを検出します。たとえば、アプリがラップされているかどうかや、管理対象であるかどうかを確認できます。
- セキュリティやポリシー適用などのカスタム機能を追加する。
-
Citrix環境内またはCitrix環境外で動作するモバイルアプリを開発する。
MDXアプリSDKを使用するアプリは、Endpoint Managementで使用する場合にMDXポリシーによって一元的に構成できるだけでなく、Citrix環境外でスタンドアロンで動作できます。
MDXアプリSDK 10.2の新機能
iOS向けMDXアプリSDKのリリース10.2には、以下の機能強化および更新が含まれています。
最小データ保護クラスポリシーは非表示になっています。このポリシーをCitrix Endpoint Managementで確認できるようにするには、(Applications/Citrix/MDXToolkit/dataにある)アプリのpolicy_metadata.xmlファイルを開き、MinimumDataProtectionClassセクションで、PolicyHiddenの値をfalseに変更します。アプリをラップ後、Citrix Endpoint Managementにアプリを追加すると、ポリシーが表示されます。
アプリのラップとXcode構築プロセスの統合。開発者は、Xcode構築プロセスの一部としてiOSアプリをラップして公開できるようになりました。詳しくは、「SDKをアプリライブラリに統合する」を参照してください。
Androidアプリでの共有コンテナのサポート。MDXアプリ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ポリシーが、アプリ間のドキュメント共有をブロックするのか、管理対象アプリ間でのみ許可するのかを判断します。つまり、アプリの[このアプリケーションで開く]ポップアップで、非管理対象アプリを除外できます。
- 機能の抑制。Endpoint Managementポリシーで、カメラ、マイク、位置情報センサーなど、アプリのさまざまなデバイス機能を無効にできます。
Endpoint Managementコンポーネント
以下のEndpoint ManagementコンポーネントでMAM機能を利用できます。
-
Citrix Endpoint Managementサーバー
この企業内サーバーまたはクラウド内サーバーは、内部アプリストアであるCitrix Endpoint Management Storeをホストします。管理者はモバイルアプリをEndpoint Managementにアップロードして、アプリとデバイスのポリシーを構成します。
-
Secure Hub
企業ユーザーは、モバイルデバイスにSecure Hub for AndroidまたはSecure Hub for iOSをインストールして、アプリをデバイス登録URLおよび資格情報で構成します。Secure Hubが開いたら、ユーザーがCitrix Endpoint Management Storeからエンタープライズアプリを選択します。アプリがダウンロードされてデバイスにインストールされると、Secure Hubがこれらのアプリを管理するためのハブとして機能し、ユーザー認証や、一元管理されているポリシーの更新などのタスクを実行します。
-
MDX
MDXは、MAM機能のソースです。MDX ToolkitによってMDXコードがモバイルアプリに追加されます。アプリのラップ以外では、MDXコードは直接使用しません。
-
MDX ToolkitとMDXアプリSDK
MDX Toolkitにより、アプリのラッピングと呼ばれるプロセスであるエンタープライズ機能が既存のモバイルアプリに追加されます。MDXアプリSDKにより、開発者およびシステムインテグレーターはモバイルアプリをMDX準拠にできます。アプリのラッピングでは、3つの主なタスクが実行されます。まず、アプリ管理機能を実装するCitrixコードがアプリに追加されます。このタスクの出力は、新しいアプリファイルです。次に、アプリのラッピングにより、新しいアプリファイルがセキュリティ証明書で署名されます。最後に、アプリのラッピングにより、ポリシー情報およびその他の設定が含まれたMDXファイルが作成されます。署名されたアプリファイルもMDXファイルに直接含まれる場合があります。
この開発者ガイドでは、ISVのアプリのラッピングについて重点的に説明します。
ISVアプリの非管理モードおよび管理モード
MDXアプリ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フレームワークによって、管理対象アプリおよび非管理対象アプリに関連付けられたデフォルト動作が適用されます。
非管理対象アプリから管理対象アプリへの移行は、アプリがGeneralアプリとしてラップされているのかPremiumアプリとしてラップされているのかによって異なります。
-
Generalアプリ: Generalアプリは、Apple App StoreまたはGoogle Play Storeにホストされます。Secure Hubのないユーザーは、一般的なアプリストアのアプリと同様に、アプリをダウンロードして通常は非管理モードで実行できます。管理対象外のユーザーが後でSecure Hubをインストールすると、以下の条件を満たしている場合、ISVアプリが管理対象モードに移行します。
-
ユーザーが1つまたは複数のCitrix Endpoint Managementエンタープライズストアにサインインしている。
-
ユーザーが、アプリが展開されているEndpoint Managementデリバリーグループに存在している。
-
MDXでユーザーがサブスクライブされている。
-
メッセージが表示されたら、ユーザーは企業がアプリを管理できることを確認します。
ユーザーが企業のアプリ管理を解除した場合、個人使用として引き続きそのアプリを実行できます。
-
-
Premiumアプリ: Premiumアプリは、エンタープライズユーザーを対象とするアプリです。Citrix MDXアプリはPremiumアプリの一例です。Premiumアプリは通常、管理モードで実行されますが、埋め込みのMDXフレームワークでは、デフォルトのポリシーファイルで設定したデフォルトのMDXポリシーセットを使用してPremiumアプリを非管理モードで実行できます。そのため、ユーザーがエンタープライズアカウントに関連付けられていない場合でも、効率的にアプリ動作を制御してMDX機能を使用できます。
管理対象外のユーザーが後でSecure Hubをインストールすると、以下の条件を満たしている場合、アプリが管理モードに自動的に移行されます。
- ユーザーが、アプリが展開されているCitrix Endpoint Managementデリバリーグループに存在している。
- 必要に応じて、ユーザーがSecure Hubにサインインしている。
- MDXでユーザーがサブスクライブされている。
注
管理モードから非管理モードにアプリケーションを転換することはできません。
次の図は、管理対象か非管理対象かに基づいて、GeneralアプリとPremiumアプリの相違点について概要を示したものです。
ISVアプリのラッピング
ここでは、ISVのアプリのラップについて一般的な情報を説明します。エンタープライズ管理者が実行するアプリのラップについては、「MDX Toolkitについて」を参照してください。
ISVアプリをラップする場合、MDX Toolkitによって2つのファイル、.mdxファイルとそのアプリファイル(.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アプリ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証明書で署名されます。認定されたアプリを企業に直接配信するのか、各自でホストするのかを選択することもできます。
また、バンドルをCitrix Ready Marketplaceに公開するのか、またはCitrix Endpoint Managementの顧客に直接配信するのか、ISVアプリの.mdxバンドルを配信する方法を選択できます。
詳しくは、Citrix Readyプログラムのページを参照してください。
MDXアプリのユーザーエクスペリエンス
ユーザーはアプリを操作する方法は、ユーザーがアプリをどのようにインストールおよび起動するかに応じて、MDXアプリSDKに統合されています。
ユーザーがSecure Hubで開始
- ユーザーがSecure Hub、およびApple App StoreまたはGoogle Play Storeを開きます。
- ユーザーはEndpoint Management Storeにサインオンし、このストアをサブスクライブします。
- ユーザーがパブリックストアからアプリをダウンロードしてインストールします。
- 必要に応じて、Secure Hubによってユーザーにサインインを求めるメッセージが表示されます。
- アプリが以前に非管理対象であった場合、自動的に管理対象に移行します。
ユーザーがApple App StoreまたはGoogle Play Storeで開始
デバイスにSecure Hubが存在する場合、ユーザーはGeneralアプリおよびPremiumアプリに対し次の操作を行います。
Generalアプリ
-
ユーザーがアプリを起動します。
-
アプリがSecure Hubのインストールを検出して、アプリが有効になると、アプリによってユーザーに管理モードへの移行を確認するように求めるメッセージが表示されます。
-
アプリを企業が管理することをユーザーが選択する場合、必要に応じて、Secure Hubによってユーザーにサインインを求めるメッセージが表示されます。
-
MDXでアプリがユーザーにサブスクライブされると、アプリが管理モードに移行します。
Secure Hubがデバイスに存在しない場合、またはアプリが有効になっていない場合、通常のパブリックストアアプリと同様に、アプリは非管理モードで実行されます。
Premiumアプリ
- ユーザーがアプリを起動します。
- アプリがSecure Hubのインストールを検出して、アプリが有効になると、アプリが管理モードに自動的に移行します。Secure Hubの資格情報が必要な場合、アプリによってユーザーに管理モードへの移行が通知されて、サインインを求めるメッセージが表示されます。
MDXアプリSDKの既知の問題
- アイコンが含まれている場合を除き、Androidアプリではラップは動作しません。
- 一部のアプリケーションフレームワークは、Citrix Endpoint Managementで互換性の問題があります。詳しくは、「モバイルアプリケーション開発フレームワークのサポート」(Androidの場合)および「サードパーティ製ライブラリのサポート」(iOSの場合)を参照してください。
- そのほかの問題については、「既知の問題」を参照してください。