MDX开发人员指南
Citrix Endpoint Management是一个企业解决方案,可让您管理移动设备、应用程序和数据。Endpoint Management移动应用管理(MAM)的基本前提是,它将企业功能注入到现有的应用程序中,然后托管在公司的私人应用程序商店、苹果应用程序商店或谷歌Play商店上。
要将Endpoint Management企业功能添加到移动应用程序中,需要使用MDX Toolkit将它们包装起来。MDX Toolkit是一种应用程序容器技术,通过添加MDX功能,增强移动设备体验,并为端点管理的安全部署准备应用程序。MDX功能包括策略和设置、已签名的安全证书和移动应用程序管理代码。
MDX工具包包括MDX应用程序SDK,它通过Citrix MDX应用程序容器技术为您的移动应用程序提供一套完整的MDX功能。api使您能够:
- 根据端点管理策略在包装的应用程序中执行操作。例如,如果一个端点管理策略阻止MDX应用程序中的剪切和复制,你可以阻止你的应用程序中的文本选择。你的应用程序可以与其他启用MDX的应用程序通信和共享策略。
- 检测启用mdx的应用程序中的活动。例如,你可以检查一个应用程序是包装的还是托管的。
- 添加自定义功能,例如安全性和策略实施。
开发可以在Citrix环境内部或外部运行的移动应用程序。
当与端点管理一起使用时,除了可以通过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来假.在你包装你的应用程序之后,当你将应用程序添加到Citrix Endpoint Management时,该策略就会出现。
应用包装集成与Xcode构建过程。开发者现在可以打包并发布iOS应用,作为Xcode构建过程的一部分。有关详情,请参阅将SDK集成到应用程序库中.
在Android应用程序中支持共享保险库.MDX App SDK现在包含用于MDX共享保险库功能的Android API,使您能够在应用程序之间共享托管内容。例如,共享保险库允许通过注册的应用程序共享证书和私钥,以便应用程序可以从安全保险库而不是从安全中心获得证书。有关详情,请参阅XenMobile API for Android.
注意:
开发人员,一定要测试执行后台处理的包装应用程序,如锁定设备上的内容刷新或后台同步。
老妈功能
Endpoint Management添加的企业功能是通过策略控制的,管理员可以从Endpoint Management控制台对每个应用程序进行更新。终端管理按照管理员确定的时间表将策略推送到移动设备。策略管理特性,例如:
- 身份验证.当打开一个托管应用程序时,端点管理可以要求用户输入公司凭据或PIN。这种凭证挑战可以定期重复。
- 应用程序更新.终端管理通知用户更新管理的应用程序是可用的。管理员可以在指定时间段内强制更新。如果用户不接受更新,旧版本的应用程序将不会在一段时间后执行。
- 远程锁定和擦除.管理员可以在每个应用或每个设备的基础上暂时锁定或永久清除应用。
- 网络限制和VPN.Endpoint Management策略控制网络访问:可以阻止访问、通过完整VPN路由或通过代理VPN路由。VPN路由通过企业托管的Citrix网关设备。
- 应用程序之间的通信限制.端点管理策略决定应用程序之间的文档共享是被阻止还是只允许在被管理的应用程序之间共享。因此,应用程序中的“打开”弹出窗口可以忽略非托管应用程序。
- 功能控制.端点管理策略可以禁用应用程序的各种设备功能,例如摄像头,麦克风和位置传感器。
端点管理组件
以下端点管理组件提供了MAM功能。
Citrix Endpoint管理服务器
该企业或云驻留服务器托管Citrix端点管理商店,即内部应用程序商店。管理员将移动应用上传到“端点管理”中,配置应用策略和设备策略。
安全中心
企业用户在他们的移动设备上安装Android或iOS的Secure Hub,然后用设备注册URL和凭证配置应用程序。当Secure Hub打开时,用户可以从Citrix Endpoint Management Store中选择企业应用程序。在设备上下载并安装应用程序后,Secure Hub作为一个集线器来管理这些应用程序,执行任务,例如用户身份验证和集中管理策略的更新。
MDX
MDX是MAM功能的来源。MDX工具包将MDX代码添加到您的移动应用程序中。除了包装应用程序外,您不直接使用MDX代码。
MDX工具包和MDX应用SDK
MDX工具包将企业功能添加到现有的移动应用程序中,这个过程称为应用程序包装。MDX应用程序SDK允许开发人员和系统集成商使他们的移动应用程序MDX。应用程序包装执行三个主要任务。首先,它将Citrix代码注入实现应用程序管理功能的应用程序中。该任务的输出是一个新的应用程序文件。其次,应用程序包装用安全证书对新的应用程序文件进行签名。最后,应用程序包装创建一个MDX文件,其中包含策略信息和其他设置。在某些情况下,签名的应用程序文件也直接包含在MDX文件中。
本开发者指南主要关注isv的应用包装。
ISV应用的非托管和托管模式
MDX应用程序SDK提供双模式应用程序行为,使您能够部署可以使用或不使用MDX基础架构运行的应用程序。独立于安全中心运行的应用程序称为非托管应用程序。当这些应用程序满足一定条件时,它们会转换为托管应用程序,并在安全中心的控制下运行。
双模式行为与直接从端点管理后端部署的MDX应用程序形成对比。这些应用程序总是需要Citrix MDX的存在和端点管理商店的授权才能运行。然而,有了Intune,这些应用程序可以在没有安全中心或端点管理商店的情况下进行部署和管理。
您可以使用端点管理api指定在将应用程序与MDX集成时所需的双模式行为类型。您可以开发两个版本的应用程序,一个是非托管的,一个是托管的,或者一个单独的应用程序,用于独立使用和包含在MDX中。MDX框架强制执行与非托管和托管应用程序相关的默认行为。
应用程序如何从非托管过渡到托管取决于应用程序是包装为普通应用程序还是高级应用程序:
一般应用:通用应用程序托管在苹果应用程序商店或谷歌Play商店。没有安全集线器的用户可以在非托管模式下正常下载和运行应用程序,就像任何普通的应用程序商店应用程序一样。如果非托管用户后来安装了安全集线器,如果满足这些条件,ISV应用程序将转换为托管模式。
用户至少登录到Citrix Endpoint Management企业存储一次。
用户位于应用部署到的Endpoint Management交付组中。
MDX订阅用户。
当提示时,用户确认他们的企业可以管理该应用程序。
如果用户选择退出企业应用程序管理,他们可以继续运行应用程序供个人使用。
高级应用程序:高级应用程序是针对企业用户的应用程序。Citrix MDX应用程序是高级应用程序的例子。虽然高级应用程序通常以托管模式运行,但嵌入式MDX框架允许高级应用程序以非托管模式运行,并通过默认策略文件设置一组默认的MDX策略。因此,即使用户没有与企业帐户关联,您也可以有效地控制应用程序行为并使用MDX功能。
如果非托管用户后来安装了安全集线器,如果满足以下条件,应用程序将静默地过渡到托管模式。
- 用户在Citrix Endpoint Management交付组中,应用程序部署在该交付组中。
- 如果需要,用户将登录到Secure Hub。
- MDX订阅用户。
请注意
应用程序不能从托管模式切换回非托管模式。
下面的图表总结了普通和高级应用程序之间的差异,基于它们是托管的还是非托管的。
ISV应用程序包装
本节提供了isv应用程序包装的一般信息。讨论了企业管理员执行的应用程序包装关于MDX Toolkit.
包装ISV应用程序时,MDX Toolkit创建两个文件:. MDX文件和应用程序文件(. MDX)。Ipa、.app或.apk)。MDX Toolkit允许您将应用商店URL嵌入到. MDX文件中,然后将其直接交付给客户或上传到Citrix Ready Marketplace,如下一节所述。你可以通过应用商店、自己托管或分发给你的客户来发布应用文件。
如下图所示,MDX Toolkit将应用程序文件(使用Citrix组件和keystore或签名证书生成.mdx文件和修改后的app文件。
ISV应用程序包装增加的项目包括:
- 包含MDX SDK框架在与Secure Hub绑定时所需数据的信息文件。相应的绑定信息通过添加到Endpoint Management的.mdx文件从Endpoint Management服务器传递给Secure Hub。这些数据包括用于自我识别的应用ID和用于应用更新检查的包ID等项。
- 与MDX应用程序SDK集成的应用程序中嵌入的OpenSSL FIPS加密对象模块上的FIPS指纹。
- 仅针对iOS:添加到app文件中的新URL方案,并通过管理员添加到Endpoint Management的.mdx文件传递给Secure Hub。
关于Citrix Ready项目
思杰通过思杰Ready项目对ISV应用程序进行评估和认证。评估主要涉及端点管理集成测试。该认证确保应用程序与端点管理基础设施兼容,从而使企业对您的应用程序充满信心。
作为Citrix Ready计划的一部分,您可以直接在Apple app Store或Google Play Store发布经过认证的ISV应用程序二进制文件。这意味着你不需要将二进制文件分发给企业,让你对应用程序更新有更多的控制。此外,您的应用程序使用您的ISV证书进行签名。您还可以选择直接向企业分发经过认证的应用程序,或者自己托管它们。
您还可以选择如何为ISV应用程序分发.mdx捆绑包:将捆绑包发布到Citrix Ready Marketplace或将捆绑包直接分发给您的Citrix Endpoint Management客户。
有关详情,请参阅Citrix准备好了.
MDX应用的用户体验
用户与与MDX应用程序SDK集成的应用程序交互的方式取决于他们如何安装和启动应用程序。
用户从安全集线器开始
- 用户打开Secure Hub和Apple App Store或Google Play Store。
- 用户登录到端点管理存储,然后订阅该存储。
- 用户从公共商店下载并安装应用程序。
- 如果需要,Secure Hub会提示用户登录。
- 如果应用程序以前是非托管的,它会静默地过渡到托管。
用户从Apple App Store或Google Play Store开始
如果设备上已经存在安全集线器,则用户对普通和高级应用程序有以下体验。
通用应用程序
用户启动应用程序。
如果应用程序检测到安全集线器的安装并且应用程序有权,则应用程序会提示用户确认过渡到托管模式。
如果用户选择让他们的企业管理应用程序,如果需要,安全中心会提示用户登录。
MDX向用户订阅应用程序后,应用程序将转换到托管模式。
如果设备上没有安全集线器,或者应用程序没有授权,应用程序将以非托管模式运行,就像普通的公共商店应用程序一样。
高级应用
- 用户启动应用程序。
- 如果应用程序检测到安全集线器的安装,并且应用程序已授权,则应用程序将静默地切换到托管模式。如果需要安全集线器凭据,应用程序通知用户过渡到托管模式,并提示用户登录。
MDX App SDK的已知问题
- 除非Android应用程序包含图标,否则包装不适用。
- 一些应用框架与Citrix Endpoint Management存在兼容性问题。有关详情,请参阅移动应用开发框架支持(适用于Android)和第三方库支持(iOS)。
- 其他问题请参见已知的问题.