Intune适用于 Android 的应用 SDK - 规划集成
Microsoft Intune App SDK for Android 允许将Intune应用保护策略 (也称为 APP 或 MAM 策略) 合并到本机 Java/Kotlin Android 应用中。 Intune托管的应用程序是与 Intune App SDK 集成的应用程序。 当Intune主动管理应用时,Intune管理员可以轻松地将应用保护策略部署到Intune托管的应用。
阶段 1:规划集成
本指南面向希望在其现有 Android 应用中添加对Microsoft Intune应用保护策略的支持的 Android 开发人员。
阶段Goals
- 了解适用于 Android 的应用保护策略设置,以及这些策略如何在应用程序中工作。
- 了解 SDK 集成过程中的关键决策点,并规划应用的集成。
- 了解集成 SDK 的应用程序的要求。
- 创建测试Intune租户并配置 Android 应用保护策略。
了解 MAM
在开始将 Intune App SDK 集成到 Android 应用程序之前,请花点时间熟悉Microsoft Intune的移动应用程序管理解决方案:
- Microsoft Intune应用管理提供了不同平台上的 MAM 功能的高级概述,以及可在 Microsoft Intune 管理中心中找到这些功能的位置。
- Intune应用 SDK 概述更深入地介绍了 SDK 的当前功能。
- Android 应用保护策略设置 详细介绍了每个 Android 设置。 你的应用将通过集成 SDK 来支持这些设置。 在 SDK 集成过程中,你还将在自己的测试租户中配置这些设置,以便进行验证。
注意
某些 Android 应用保护策略设置需要特定代码才能支持。 有关更多详细信息 ,请参阅阶段 7:应用参与功能 。
SDK 集成的关键决策
是否需要将应用程序注册到 Microsoft 标识平台?
是的,与 Intune SDK 集成的所有应用都需要注册到 Microsoft 标识平台。 请按照快速入门:在 Microsoft 标识平台 - Microsoft 标识平台 中注册应用中的步骤操作。
我是否有权访问应用程序的源代码?
如果无权访问应用程序的源代码,并且只能以 .apk 或 .aab 格式访问已编译的应用程序,则无法将 SDK 集成到应用程序中。 但是,应用程序可能仍与Intune应用保护策略兼容。 有关更多详细信息,请参阅适用于 Android 的 App Wrapping Tool。
我的应用程序是否应将 Microsoft 身份验证库 (MSAL) 集成?
请参阅 MSAL) (Microsoft身份验证库概述 ,以确定应用程序是否需要集成 MSAL。 大多数应用程序必须先集成 MSAL,然后再集成 Intune SDK。
仅当以下所有条件均成立时,应用才能跳过 MSAL 集成:
- 应用程序没有或不需要交互式登录和注销最终用户体验。
- 应用程序不支持同时登录多个帐户。
- 应用程序不需要支持非Intune帐户。
- 应用程序不会授予对受条件访问保护的任何资源的访问权限。
如果应用满足 上述所有条件 且未集成 MSAL,则它仍受应用保护策略的保护,尽管没有非托管使用选项。 有关详细信息 ,请参阅默认注册 。
有关集成 MSAL 的说明和有关应用程序中标识方案的其他详细信息,请参阅 阶段 2:MSAL 先决条件 。
我的应用程序是单标识还是多标识?
如果没有Intune应用保护策略支持,应用程序如何处理用户身份验证和帐户?
应用程序当前是否只允许一个帐户登录? 应用程序是否在允许另一个帐户登录之前显式强制登录帐户注销并删除该上一帐户的数据? 如果是,则应用程序是 单一标识。
应用程序当前是否允许第二个帐户登录,即使其他帐户已登录? 应用程序是否在共享屏幕上显示多个帐户的数据? 应用程序是否存储多个帐户的数据? 应用程序是否允许用户在不同的登录帐户之间切换? 如果是这样,则应用程序是 多标识的 ,你将需要遵循 阶段 5:多标识。 你的应用需要此部分。
即使应用程序是多标识的,也按顺序遵循此集成指南。 最初,集成和测试作为单一标识将有助于确保正确集成,并防止出现公司数据最终不受保护的 bug。
我的应用程序是否具有或需要应用程序配置设置?
Android 支持 特定于应用程序的管理配置 ,这些配置适用于在 Android Enterprise 管理模式下部署的应用程序。 管理员可以在 Microsoft Intune 管理中心为托管 Android Enterprise 设备配置这些应用程序配置策略。
Intune还支持适用于 SDK 集成应用程序的应用程序配置,而不管设备管理模式如何。 管理员可以在Microsoft Intune管理中心为托管应用配置这些应用程序配置策略。
Intune应用 SDK 支持这两种类型的应用程序配置,并提供单个 API 用于从这两个通道访问配置。 如果应用程序具有或将支持上述任一类型的应用程序配置,则需要遵循阶段 6:应用程序配置。
应用程序是否需要为数据入口和出口定义精细保护?
如果你的应用允许用户将数据保存到云服务或设备位置或从云服务或设备位置打开数据,则必须进行更改以支持增强的数据传输策略。 请参阅第 7 阶段:应用参与功能中的限制应用和设备或云存储位置之间数据传输的策略。
应用程序是否显示包含用户特定信息的通知?
多标识应用必须执行代码更改才能正确遵循通知策略。 单一标识应用可能需要更改代码,因此此通知策略不会阻止其应用 100% 的通知。 请参阅第 7 阶段:应用参与功能中的限制通知内内容的策略。
我的应用程序是否支持 Android 的备份和还原功能?
Android 支持 备份和还原 功能,以便在用户升级到新设备或重新安装应用时保留数据和个性化设置。
Intune还支持 SDK 集成应用程序的备份和还原功能,以确保企业数据不会通过还原泄露。
如果应用支持此功能,则必须在还原期间更改代码以保护公司数据。 请参阅阶段 7:应用参与功能中的保护备份数据的策略。
我的应用程序是否具有应受条件访问保护的资源?
条件访问 (CA) 是一项Microsoft Entra ID功能,可用于控制对Microsoft Entra资源的访问。 Intune管理员可以定义仅允许从由Intune管理的设备或应用访问资源的 CA 规则。
Intune支持两种类型的 CA:基于设备的 CA 和基于应用的 CA,也称为应用保护 CA。 基于设备的 CA 会阻止对受保护资源的访问,直到整个设备由 Intune 管理。 基于应用的 CA 会阻止对受保护资源的访问,直到特定应用由Intune应用保护策略管理。
如果应用获取任何Microsoft Entra访问令牌并访问可受 CA 保护的资源,则需要遵循阶段 7:应用参与功能中的支持应用保护 CA。
我的应用程序是否具有需要跨 Intune 应用 SDK 显示的 UI 保留的不同主题?
默认情况下,Intune应用 SDK 将显示根据默认主题着色的策略强制 UI 组件。
替代默认主题的功能是修饰和可选的。 请参阅阶段 7:应用参与功能中的提供自定义主题。
要求
公司门户应用
适用于 Android 的 Intune 应用 SDK 依赖于设备上的公司门户应用来启用应用保护策略。 公司门户从Intune服务检索应用保护策略。 SDK 集成应用初始化时,它会加载策略和代码,以从公司门户强制实施该策略。
注意
当公司门户应用不在设备上时,SDK 集成应用的行为与不支持Intune应用保护策略的普通应用的行为相同。 即使公司门户应用位于设备上,当最终用户不是应用保护策略的目标时,SDK 集成应用的行为也与正常应用相同。
用户无需登录甚至启动公司门户应用,应用保护策略即可正常运行。
Android 版本
注意
确保你的应用与 Google Play 要求兼容。
SDK 通过 Android API 35 (Android 15) 完全支持 Android API 28 (Android 9.0) 。
若要面向 Android API 35 (Android 15) ,必须使用 Intune 应用 SDK v11.0.0
或更高版本。
android 8.0 - 8.1 (API 26 到 27) 受到有限的支持。 Android API 26 (Android 8.0) 不支持公司门户应用。 Android API 28 (Android 9.0) 不支持应用保护策略。
如果应用声明 minSdkVersion
API 级别低于 API 28 (Android 9.0) ,则 Intune 应用 SDK 不会阻止应用保护策略未针对的用户使用应用。
遥测
适用于 Android 的 Intune 应用 SDK 无法控制从应用收集数据。 默认情况下,公司门户应用程序记录系统生成的数据。 此数据将发送到Microsoft Intune。 根据Microsoft策略,Intune不会收集任何个人数据。
提示
如果最终用户选择不发送此数据,则必须关闭公司门户应用的“设置”下的遥测。 若要了解详细信息,请参阅 关闭Microsoft使用情况数据收集。
创建测试 Android 应用保护策略
演示租户设置
如果你的公司还没有租户,则可以创建包含或不具有预生成数据的演示租户。 必须注册为 Microsoft合作伙伴 才能访问 CDX Microsoft。 若要创建新帐户,请执行以下操作:
- 导航到 Microsoft CDX 租户创建站点并创建Microsoft 365 企业版租户。
- 设置Intune以启用移动设备管理 (MDM) 。
- 创建用户。
- 创建组。
- 根据测试情况分配许可证。
应用保护策略配置
在 Microsoft Intune 管理中心中创建和分配应用保护策略。 除了创建应用保护策略外,还可以在 Intune 中创建和分配应用配置策略。
在自己的应用程序中测试应用保护策略设置之前,熟悉这些设置在其他 SDK 集成应用程序中的行为方式会很有帮助。
提示
如果你的应用未在Microsoft Intune管理中心列出,则可以通过选择“更多应用”选项并在文本框中提供包名称来使用策略来定位应用。 必须使用应用保护策略将应用作为目标,并将策略部署到用户才能成功测试集成。 即使策略是针对和部署的,应用在成功集成 SDK 之前不会正确强制实施策略。
退出条件
- 你是否已熟悉 Android 应用程序中不同的应用保护策略设置的行为?
- 你是否已查看应用,并规划了围绕 MSAL、条件访问、多标识、应用程序配置和所有其他 SDK 功能的应用集成?
- 是否在测试租户中创建了 Android 应用保护策略?
常见问题
为什么 Android 上的应用程序保护策略需要公司门户应用?
Android 公司门户代表设备上所有启用了 MAM 的应用程序从 Intune 服务检索和保留应用保护策略。 当启用 MAM 的应用程序初始化时,将从 公司门户导入用于强制实施这些策略设置的策略详细信息和代码。 公司门户还包含用于减少向最终用户显示的身份验证提示数的代码。 最后,公司门户收集系统数据以改进Intune服务;有关详细信息,请参阅遥测。
注意
应用保护策略的此公司门户功能特定于 Android。
当设备不受支持的用户具有应用保护策略的目标时,会发生什么情况?
Intune应用保护策略不支持的 Android 设备上的最终用户体验取决于设备的 Android OS 版本:
Android OS 版本 | Google Play 行为 | MAM 应用行为 |
---|---|---|
低于 Android 8.0 | 公司门户应用将无法从 Google Play 下载。 已安装公司门户的设备将无法更新到新版本的公司门户。 | 不会普遍阻止 MAM 功能。 但是,由于 SDK 集成应用附带新版本的 SDK,因此将阻止面向 MAM 的用户进入这些应用,因为他们无法更新公司门户。 如果某个用户已将 MAM 策略作为目标并且以前已登录到应用,则启动此类应用时,系统会提示他们升级公司门户。 用户可以通过从应用程序中删除面向 MAM 的帐户来缓解此行为。 如果用户卸载公司门户,他们的帐户将自动从应用中删除,但他们将无法使用面向 MAM 的帐户重新登录。 |
Android 8.x | 公司门户应用可从 Google Play 下载。 已安装公司门户的设备仍可更新到新版本的公司门户。 | 不会主动阻止 MAM 功能。 但是,不支持 Android 8.x,并且 MAM 功能可能无法按预期工作。 |
什么是应用包装工具?
Android 应用开发人员可以通过多种方式将Intune功能集成到其应用程序中。 除了本指南介绍的 SDK 之外,开发人员还可以使用适用于 Android 的 App Wrapping Tool。 有关 SDK 和应用包装工具之间的详细比较,请参阅 为应用保护策略准备业务线 应用。
后续步骤
完成上述所有 退出条件 后,继续学习 第 2 阶段:MSAL 先决条件。