适用于 Android 的 Microsoft Intune App SDK 允许将 Intune 应用保护策略 (也称为 MAM 策略) 合并到本机 Java/Kotlin Android 应用中。 Intune 托管的应用程序是与 Intune 应用 SDK 集成的应用程序。 当 Intune 主动管理应用时,Intune 管理员可以轻松地将应用保护策略部署到 Intune 管理的应用。
第 1 阶段:规划集成
本指南适用于希望在其现有 Android 应用中添加对 Microsoft Intune 应用保护策略的支持的 Android 开发人员。
阶段目标
- 了解哪些应用保护策略设置适用于 Android,以及这些策略如何在应用程序内工作。
- 了解 SDK 集成过程中的关键决策点,并规划应用的集成。
- 了解集成 SDK 的应用程序的要求。
- 创建测试 Intune 租户并配置 Android 应用保护策略。
了解 MAM
开始将 Intune 应用 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 应用保护策略兼容。 有关更多详细信息,请参阅 App Wrapping Tool for Android。
应用程序是否应将 Microsoft 身份验证库集成 (MSAL) ?
请参阅 MSAL (Microsoft身份验证库概述) ,以确定应用程序是否需要集成 MSAL。 大多数应用程序必须在集成 Intune SDK 之前集成 MSAL。
仅当以下所有内容都成立时,应用才能跳过集成 MSAL:
- 应用程序没有或不需要交互式登录和注销最终用户体验。
- 应用程序不支持多个帐户同时登录。
- 应用程序不需要支持非 Intune 帐户。
- 应用程序不会授予对受条件访问保护的任何资源的访问权限。
如果你的应用满足 上述所有条件 ,并且未集成 MSAL,则它仍可受应用保护策略的保护,尽管没有用于非托管的使用选项。 有关详细信息,请参阅 默认注册 。
有关集成 MSAL 的说明以及有关在应用程序内的标识方案的其他详细信息,请参阅 “阶段 2:MSAL 先决条件 ”。
我的应用程序是单一身份还是多身份?
如果没有 Intune 应用保护策略支持,应用程序如何处理用户身份验证和帐户?
你的应用程序当前是否只允许单个帐户登录? 在允许其他帐户登录之前,应用程序是否显式强制登录帐户注销并删除先前帐户的数据? 如果是这样,则应用程序是 单一标识。
应用程序当前是否允许第二个帐户登录,即使其他帐户已登录? 应用程序是否在共享屏幕上显示多个帐户的数据? 你的应用程序是否存储多个帐户的数据? 应用程序是否允许用户在不同的登录帐户之间切换? 如果是这样,则应用程序是 多标识的 ,需要遵循 第 5 阶段:多标识。 此部分是应用所必需的。
即使应用程序是多标识的,也请按顺序遵循此集成指南。 最初作为单一身份进行集成和测试将有助于确保正确集成并防止公司数据最终不受保护的错误。
我的应用程序是否具有或需要应用程序配置设置?
Android 支持适用于在 Android 企业版管理模式下部署的应用程序的特定于 应用程序的管理配置 。 管理员可以在 Microsoft Intune 管理中心为托管的 Android 企业版设备配置这些应用程序配置策略。
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 28 (Android 9.0) 到 Android API 36 (Android 16) 。
若要面向 Android API 36 (Android 16) ,必须使用 Intune App SDK v12.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 App SDK 不会阻止应用保护策略未针对的用户使用应用。
遥测
适用于 Android 的 Intune 应用 SDK 无法控制从应用收集数据。 默认情况下,公司门户应用程序记录系统生成的数据。 此数据将发送到 Microsoft Intune。 根据 Microsoft 策略,Intune 不会收集任何个人数据。
提示
如果最终用户选择不发送此数据,则必须在公司门户应用的“设置”下关闭遥测。 若要了解详细信息,请参阅 关闭 Microsoft 使用情况数据收集。
创建测试 Android 应用保护策略
演示租户设置
如果您的公司还没有租户,则可以创建包含或不包含预生成数据的演示租户。 必须注册为 Microsoft 合作伙伴 才能访问 Microsoft CDX。 要创建新帐户,请执行以下操作:
- 导航到 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 先决条件。