BYOD(Bring Your Own Device)是一种政策,允许员工使用自己的设备进行工作。这包括智能手机、平板电脑、台式机和笔记本电脑等个人设备,它们被用来访问公司数据和信息。通过BYOD,员工可以在办公室之外的地方访问工作数据和应用程序。
什么是BYOD
BYOD(Bring Your Own Device)策略允许员工、承包商和其他授权用户利用自己的个人设备,如智能手机、平板电脑、笔记本电脑等,来访问公司网络和数据,完成工作任务。这不仅提供了工作的灵活性,还减少了对公司标准设备的依赖。BYOD策略推动了一种新的工作模式,员工可以在任何地点,如机场、酒店、咖啡厅等,通过个人设备登录公司邮箱和在线办公系统,实现真正的移动办公。
随着手持设备的普及,它们在业务中的应用日益深入,员工需要使用这些设备访问组织的各种资源,包括敏感或机密信息。但这些设备在安全性上存在天然缺陷,例如容易丢失或被盗,以及在处理能力和加密强度上的限制,这给组织的信息安全带来了风险。BYOD的兴起与iOS和Android智能手机的普及密切相关。随着远程工作和混合工作模式的普及,以及疫情期间芯片短缺和供应链中断的影响,BYOD策略被更多组织接受,以支持新员工在等待公司设备时能够立即开始工作。
许多流行的手持设备基于消费者为中心的平台,这些平台可能缺乏必要的管理控制措施。随着员工使用个人设备工作的增多,IT部门需要加强对这些设备的安全管理,确保在允许使用前实施访问控制和数据加密等安全措施。BYOD策略旨在提高员工的工作效率和满意度,同时降低企业在移动设备上的投资成本。然而,这也带来了数据安全和隐私保护的挑战。企业在实施BYOD时,必须制定明确的安全政策,并利用移动设备管理(MDM)、移动应用管理(MAM)和移动内容管理(MCM)等技术手段,确保企业数据的安全。同时,企业还应与员工明确责任和义务,以保护个人隐私并维护企业数据的安全性。
安卓BYOD实现方式
Android 平台允许设备拥有工作配置文件work profile(有时称为托管配置文件managed profiles)。work profile由 IT 管理员控制,其可用功能与用户主配置文件的功能是分开设置的。这种方法让组织能够控制公司特定应用和数据在用户设备上运行的环境,同时仍然允许用户使用他们的个人应用和配置文件。
用户通常希望在企业环境中使用自己的个人设备。这种情况可能会使组织面临困境:如果允许用户使用自己的设备,组织就必须考虑到机密信息(例如员工的电子邮件和联系人)可能会存储在一个组织无法控制的设备上。为了应对这一挑战,Android 5.0(API级别21)允许组织设置work profile。一旦设备设置了work profile,其配置就由IT管理员控制。IT管理员可以选择哪些应用可以用于该配置文件,并决定配置文件可以使用哪些设备功能。work profile的存在,对在设备上运行的应用有特定的影响,无论应用是在personal profile下还是work profile下运行:
- 默认情况下,大多数意图(Intent)不会从一个配置文件传递到另一个配置文件。如果在一个配置文件上运行的应用触发了一个意图,而该配置文件上没有相应的处理程序,并且由于配置文件的限制,该意图不允许传递到另一个配置文件,那么请求将失败,应用可能会意外关闭。
- work profile的IT管理员还可以限制在work profile上可用的系统应用。这种限制可能导致某些常见意图在work profile上没有可用的处理程序。
- 由于个人配置文件和work profile拥有独立的存储区域,因此一个配置文件上有效的文件URI在另一个配置文件上可能无效。任何在一个配置文件上触发的意图可能在另一个配置文件上被处理(这取决于配置文件的设置),因此,将文件URI附加到意图上是不安全的。
这段文字的语法基本正确,但可以进行一些小的调整来提高清晰度和流畅性。以下是修改后的版本:
在具有工作配置文件的设备上,意图是否能从一个配置文件传递到另一个配置文件存在限制。在大多数情况下,触发的意图会在其触发的同一配置文件中被处理。如果该配置文件上没有相应的意图处理程序,该意图将不会被处理,触发它的应用可能会意外关闭——即使在另一个配置文件上存在该意图的处理程序。
配置文件管理员可以决定哪些意图被允许从一个配置文件传递到另一个配置文件。由于这一决策由 IT 管理员作出,你无法提前知道哪些意图被允许跨越这一界限。IT 管理员设定这一政策,并保留随时更改的权利。
在您的应用启动活动之前,您应该验证是否存在合适的解决方案。您可以通过调用Intent.resolveActivity() 来检查是否有可接受的解决方案。如果无法解析意图,该方法将返回null。如果该方法返回非空值,至少存在一种方式可以解析意图,那么触发该意图是安全的。在这种情况下,意图可以被解析,可能是因为当前配置文件上存在一个处理程序,或者是因为该意图被允许传递到另一个配置文件上具有处理程序的地方。
例如,如果您的应用需要设置计时器,它需要检查是否存在一个有效的ACTION_SET_TIMER意图处理程序。如果应用无法解析该意图,它应该采取适当的措施。
public void startTimer(String message, int seconds) {
// Build the "set timer" intent
Intent timerIntent = new Intent(AlarmClock.ACTION_SET_TIMER)
.putExtra(AlarmClock.EXTRA_MESSAGE, message)
.putExtra(AlarmClock.EXTRA_LENGTH, seconds)
.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
// Check if there's a handler for the intent
if (timerIntent.resolveActivity(getPackageManager()) == null) {
// Can't resolve the intent! Fail this operation cleanly
// (perhaps by showing an error message)
} else {
// Intent resolves, it's safe to fire it off
startActivity(timerIntent);
}
}
有时候,应用程序可能需要授权其他应用程序访问其文件。例如,图片库应用可能希望与图片编辑应用共享图片。通常,有两种方式可以共享文件:通过文件URI或内容URI。
文件URI以"file:"前缀开头,后面跟着设备存储上的文件绝对路径。但是,由于工作profile和个人profile使用不同的存储区域,一个profile上有效的文件URI在另一个profile上可能无效。这就意味着,如果你将文件URI附加到一个Intent上,并且Intent在另一个profile被视为一个handler,处理程序可能无法访问该文件。
因此,你应该使用内容URI来共享文件。内容URI以一种更安全、更易于共享的方式识别文件。它不仅包含文件路径,还包括提供文件的权限和用于识别文件的ID号。你可以使用FileProvider为任何文件生成内容ID,然后与其他应用共享这个ID(甚至在另一个profile上)。接收应用可以使用这个内容ID来获取实际文件的访问权限。
例如,以下是如何从特定的文件URI获取内容URI的方法:
// Open File object from its file URI
File fileToShare = new File(fileUriToShare);
Uri contentUriToShare = FileProvider.getUriForFile(getContext(),
"com.example.myapp.fileprovider", fileToShare);
当您调用 getUriForFile()
方法时,您必须包含文件提供者的权限,例如 "com.example.myapp.fileprovider",这在您应用的清单文件中的 <provider>
元素里指定。要获取有关使用内容 URI 共享文件的更多信息,请参考相关文档或指南。
一个应用程序通常提供一个NotificationListenerService
子类来接收系统关于通知变化的回调。带有work profile的设备可能会影响NotificationListenerService
与您的应用程序的工作方式。
-
在工作profile中:您不能在work profile中运行的应用程序中使用
NotificationListenerService
。当您的应用程序在工作work profile中运行时,系统会忽略该服务。与此同时,在个人profile中运行的应用程序可以监听通知。 -
在个人profile中:当您的应用程序在个人profile中运行时,您可能无法获取在work profile中运行的应用程序的通知。默认情况下,所有个人profile中的应用程序都会接收到通知回调。但是,IT管理员可以选择允许特定的个人profile应用程序监听通知变化,并将这些应用程序列入白名单。未列入白名单的应用程序将被系统阻止接收通知。在Android 8.0(API级别26)或更高版本中,管理work profile的设备策略控制器(DPC)可以使用
DevicePolicyManager
的setPermittedCrossProfileNotificationListeners()
方法来阻止您的应用程序监听work profile的通知。即便如此,您的应用程序仍然会接收到在personal profile中发布的关于通知的回调。
iOS设备实现BYOD
在 iOS 15、iPadOS 15、macOS 14 和 visionOS 1.1 或更高版本中,组织可以使用直接内建于“设置”应用的简化版用户注册过程,以便用户更便捷地注册其个人设备。
执行此操作的步骤如下:
对于 iPhone、iPad 和 Apple Vision Pro 用户,他们需要导航至“设置”>“通用”>“VPN 与设备管理”,然后选择“登录工作或学校账户”按钮。
对于 Mac 用户,他们需要导航至“系统偏好设置”>“安全性与隐私”>“描述文件”,然后选择“登录工作或学校账户”按钮。
当用户输入其“管理式 Apple ID”时,服务发现将识别 MDM(移动设备管理)解决方案的注册 URL。
接着,用户需输入其组织的用户名和密码。一旦组织认证成功,注册描述文件将发送至设备,并发放会话令牌以允许持续的授权。设备随后开始注册过程,并提示用户通过其“管理式 Apple ID”登录。在 iPhone、iPad 和 Apple Vision Pro上,注册单点登录可用于减少重复的认证提示,从而简化认证过程。
注册完成后,新的管理式账户将以显著的方式显示在“设置”应用(iPhone、iPad 和 Apple Vision Pro)以及“系统偏好设置”(Mac)中。这样,用户仍然可以访问使用其个人 Apple ID 创建的 iCloud 云盘中的文件。与用户的“管理式 Apple ID”关联的组织的 iCloud 云盘将单独显示在“文件”应用中。
在 iPhone、iPad 和 Apple Watch 上,受管理的应用程序和受管理的基于网页的文档都可以访问组织的 iCloud 云盘,MDM 管理员可以使用特定的访问限制来帮助保持个人和组织文档的分离。有关更多信息,请参考有关受管理应用的访问限制和功能的文档。用户可以查看其个人设备上受管理内容的详细信息,以及组织提供的 iCloud 存储空间量。由于设备归用户所有,用户注册只能将一组有限的有效负载和访问限制应用到设备。有关更多信息,请参考用户注册 MDM 的相关信息。
用户注册完成后,设备上会自动创建单独的加密密钥。如果设备被用户或使用 MDM 以远程方式取消注册,这些加密密钥会被安全销毁。如果用户通过个人 Apple ID 和“管理式 Apple ID”登录,“通过 Apple 登录”将自动为受管理的 App 使用“管理式 Apple ID”,并为未受管理的 App 使用个人 Apple ID。在 Safari 浏览器或受管理 App 的 SafariWebView 中使用登录流程时,用户可以选择并输入其“管理式 Apple ID”以将登录与其工作账户关联。
系统管理员只能管理通过 MDM 预置的组织账户、设置和信息,不能管理用户的个人账户。事实上,用于保护由组织所有的受管理的 App 中数据安全的功能同时也在防止用户的个人数据进入企业数据流。
总结
MDM(移动设备管理)在BYOD(自带设备)环境中的实施是一个综合性的策略,旨在确保企业数据的安全性和合规性,同时充分利用员工个人设备带来的便利性和成本效益。在MDM在BYOD中,以下是一些我们需要注意的关键方面:
-
设备注册与识别:通过MDM系统将个人设备注册到企业网络,实现设备识别和清单管理。
-
配置文件与策略管理:创建和管理配置文件,应用于不同设备或用户组,以执行企业安全策略和合规要求。
-
应用生命周期管理:分发、更新和撤销企业应用,确保应用的安全性和功能性。
-
数据隔离:使用容器化技术隔离工作和个人数据,防止数据泄露。
-
安全合规性:实施和执行安全措施,如密码策略、数据加密、远程锁定和擦除功能。
-
网络访问控制:与NAC集成,控制设备对企业网络的访问,确保只有合规设备可以连接。
-
端到端数据加密:确保传输和存储的数据都经过加密,防止数据在传输过程中被截获。
-
监控、审计和报告:监控设备和应用的使用情况,生成报告以支持合规性审计。
-
用户教育与培训:提高员工对BYOD政策和安全最佳实践的认识。
-
技术支持与服务:为员工提供必要的技术支持,帮助解决技术问题。
-
访问控制和身份验证:实施基于角色的访问控制和多因素认证,确保只有授权用户才能访问敏感数据。
-
持续评估与更新:定期评估BYOD策略的有效性,根据新的安全威胁和技术发展进行调整。
MDM解决方案为BYOD提供了一个安全框架,帮助企业在不牺牲数据安全的前提下,实现移动办公的灵活性和效率。通过这些措施,企业能够更好地控制移动设备带来的风险,同时为员工提供一个支持个人设备工作的环境。
参考资料:
Work profiles | Android Developers
本文作者
范瑞凝
Easycontrol MDM平台产品经理,长期从事移动设备管理、物联网、嵌入式开发等的研究和产品设计工作,有丰富的企业移动设备管理开发以及落地实践产品经验。邮箱:fanruining@abupdate.com
上海艾拉比智能科技有限公司
电话: 4008-210-928
地址: 上海市浦东新区博云路2号浦软大厦201室