WWDC Quick Look 💓 By SwiftGGTeam
Meet device management for Apple Watch

Meet device management for Apple Watch

观看原视频

Highlight

watchOS 10 让组织可以通过 MDM 管理 Apple Watch,但注册和策略执行都围绕“受监督 iPhone + 配对 Apple Watch”这一设备关系展开。

核心内容

企业已经在使用 Apple Watch。Melissa Nierle 提到 Volvo 用 Apple Watch 记录工单、简化与客户沟通。问题在于,过去 Apple Watch 缺少和 iPhone、Mac、iPad 同级的组织级管理能力。

00:59)watchOS 10 引入 Device Management for watchOS。组织可以像部署其他 Apple 设备一样部署和配置 Apple Watch,用于生产力、员工健康和安全场景。

01:38)Apple Watch 的管理不是孤立设备管理。它和 iPhone 是配对设备,共享 app、限制策略和任务流程。因此注册流程从 iPhone 开始:宿主 iPhone 必须已经注册到 MDM,并且处于 supervised(受监督)状态。Apple Watch 必须是全新或重置状态,已有配对的手表需要抹掉后重新配对才能注册。

02:34)Apple Watch 注册依赖 Declarative Device Management(声明式设备管理)。MDM 服务器必须同时支持 Apple Watch 和声明式设备管理。管理员先向 iPhone 下发 Watch Enrollment configuration,告诉 iPhone:后续与它配对的 Apple Watch 都应该注册到 MDM。

03:17)Watch Enrollment configuration 包含两个关键项:enrollment URL endpoint 和可选的 AnchorCertificateAssetReferences。前者提供 Apple Watch 下载 MDM profile 的地址;后者是一组锚点证书,用于评估注册 profile server 的信任。所有锚点证书必须已经作为 asset declaration 安装在 iPhone 上。

04:22)注册流程的安全核心是 pairing token。Apple Watch 首次联系 MDM server 时,在 signed machine info 中还没有 pairing token。服务器应返回 HTTP 403,错误码表示缺少 Watch pairing token,并在 details 中提供一个 security-token。Apple Watch 把这个 security-token 交给 iPhone。iPhone 再向自己的 MDM server 发送新的 GetToken check-in request,里面包含 iPhone UDID、Apple Watch UDID 和 security-token。

06:49)MDM server 用这些信息生成 secure pairing token,返回给 iPhone。iPhone 把 token 交给 Apple Watch。Apple Watch 把 token 加入 Machine Info,再次请求注册。服务器验证 token 后,才能确认两件事:iPhone 的 MDM server 身份可信,以及这只 Apple Watch 与这台 iPhone 的配对关系可信。之后服务器返回 MDM enrollment profile,Apple Watch 在配对流程结束时安装 profile。最终,Apple Watch 发送 Authenticate 类型的 CheckIn request,注册完成并进入 supervised 状态。

08:21)实现 MDM 产品时,最重要的是利用注册期间收到的数据建立 iPhone 和 Apple Watch 的关系。管理员需要在 UI 里看清哪些手表和哪些手机配对。Watch Enrollment configuration 一旦应用到 iPhone,之后开始配对的所有 Apple Watch 都会被提示注册;已配对设备不受影响,必须抹掉后重新配对。

09:24)watchOS 10 从一开始就支持声明式设备管理。所有 declaration types 都支持,activation declarations 的 predicates 也支持。status channel 也来到 Apple Watch,这让手表可以主动上报状态变化,而不是让服务器持续轮询。

10:05)传统 MDM protocol 也支持。payloads、restrictions、commands、queries 都能发送到 Apple Watch。网络方面,watchOS 10 支持专用 VPN、Wi-Fi、Cellular 和 per-app VPN payload。安全方面,SCEP、ACME 证书、passcode rules 和 restrictions 都支持。

11:17)限制和密码策略有方向性。应用到 iPhone 的 restrictions 和 passcode rules 会同步到配对的 Apple Watch。例如 iPhone 强制 passcode,托管 Apple Watch 也会提示用户创建 passcode。如果 iPhone 策略要求字母数字密码,Apple Watch 离腕后需要用 iPhone 解锁。但直接应用到 Apple Watch 的 restrictions 和 password payload 不会同步回 iPhone。

12:54)取消注册的行为也有平台差异。无论用户移除 MDM profile,还是服务器下发命令移除 profile,Apple Watch 都会从 MDM 取消注册、与宿主 iPhone 解除配对,并抹掉内容和设置。这个动作不会影响 iPhone 的注册状态。反过来,如果宿主 iPhone 取消注册,Apple Watch 也会被取消注册、解除配对并重置。

13:41)app 部署分三类:Paired app、Dependent watchOS app 和 Standalone watchOS app。前两类需要管理员同时管理 iPhone 和 Apple Watch 上的 app。安装时先装 iPhone app,确认成功后再向 Apple Watch 发送安装命令。更新和删除也要分别对两端下发命令。Standalone watchOS app 只需要向手表发送 App Install command。

详细内容

Apple Watch 注册前置条件

1. 宿主 iPhone 已注册 MDM
2. 宿主 iPhone 处于 supervised 状态
3. Apple Watch 是全新或已重置状态
4. MDM server 支持 Declarative Device Management
5. MDM server 支持 Apple Watch enrollment
6. Watch Enrollment configuration 已下发到 iPhone
7. 若使用 anchor certificates,对应 asset declarations 已先安装到 iPhone

关键点:

  • 已经配对的 Apple Watch 不能原地注册,必须抹掉后重新配对
  • 注册流程发生在 watch pairing flow 中,不是配对完成后的补充步骤
  • 声明式设备管理是硬性依赖,不是可选优化

Watch Enrollment configuration 的角色

Watch Enrollment configuration
  ├─ Enrollment URL endpoint
  │   └─ Apple Watch 下载并安装 MDM profile
  └─ AnchorCertificateAssetReferences(可选)
      └─ 评估 enrollment profile server 的信任

关键点:

  • 配置安装在 iPhone 上,但目标是后续配对的 Apple Watch
  • 所有引用的 anchor certificates 必须已经在 iPhone 上存在
  • 一旦配置生效,之后与这台 iPhone 开始配对的手表都会进入远程管理提示流程

Pairing token 安全流程

1. Apple Watch → Watch MDM server
   发送 signed machine info(没有 pairing token)

2. Watch MDM server → Apple Watch
   返回 HTTP 403
   details 中包含 security-token

3. Apple Watch → iPhone
   转交 security-token

4. iPhone → iPhone MDM server
   GetToken check-in request
   包含:
   - iPhone UDID
   - Apple Watch UDID
   - security-token
   - TokenServiceType = Watch pairing token

5. iPhone MDM server → iPhone
   返回 base64 encoded pairing token

6. iPhone → Apple Watch
   转交 pairing token

7. Apple Watch → Watch MDM server
   带 pairing token 再次发送 machine info

8. Watch MDM server
   验证 token,确认 iPhone MDM 身份和设备配对关系
   返回 MDM enrollment profile

关键点:

  • HTTP 403 是协议中的中间步骤,用于触发 token retrieval flow。
  • GetToken 是 watchOS 10 新增的 CheckIn message type
  • MDM server 需要保存 iPhone UDID 与 Watch UDID 的关系,用于后续 UI 和策略管理

管理能力矩阵

Declarative Device Management
  - All declaration types
  - Activation declaration predicates
  - Status channel proactive updates

MDM protocol
  - Payloads
  - Restrictions
  - Commands
  - Queries

Network payloads
  - Dedicated VPN
  - Wi-Fi
  - Cellular
  - Per-app VPN

Security payloads
  - SCEP certificates
  - ACME certificates
  - Passcode rules
  - Restrictions

Commands
  - Clear passcode
  - Lock device
  - Erase device
  - Remove MDM profile
  - App install / update / remove

关键点:

  • 能用 status channel 的场景应避免轮询,手表电量更敏感
  • iPhone 策略会向 Watch 同步,Watch 策略不会反向同步
  • MDM 查询仍可用,但不应作为状态变化的主要机制

App 部署类型

Paired app
  - Watch app 可独立运行
  - 与 iPhone app 共享数据
  - 管理时两端都要下发命令

Dependent watchOS app
  - 依赖 companion iPhone app 才能工作
  - 先安装 iPhone app,再安装 Watch app
  - 更新和删除也要两端同步

Standalone watchOS app
  - 只存在于 watchOS
  - 只向 Apple Watch 发送 App Install command

关键点:

  • Paired 和 Dependent app 的管理是双设备工作流,不是单设备命令
  • 安装顺序会影响用户体验:先 iPhone,后 Watch
  • 删除和更新也要保持两端一致,避免残留不可用 app

核心启发

  • 给 MDM 控制台增加“设备配对关系”视图:Apple Watch 管理的关键是 iPhone-Watch pair,而非单个设备。管理员需要能按 iPhone 查看配对手表、按手表反查宿主 iPhone,并看到两端策略是否同步。

  • 把 Watch enrollment 做成迁移向导:现有已配对手表需要抹掉重配。MDM 产品可以提供分步引导:检查 iPhone supervised 状态、确认 DDM 支持、下发 Watch Enrollment configuration、提示用户重置并重新配对。

  • 用 status channel 替代高频轮询:手表电池容量小,服务端不应持续 query。把电量、profile 状态、策略状态等关键项目订阅到声明式设备管理的 status channel,让设备主动上报变化。

  • 为企业场景设计 Watch 专属限制策略:iPhone 策略会同步到 Watch,但 Watch 策略不会同步回 iPhone。可以利用这个方向性,为手表设置更严格或更轻量的限制,避免影响员工主力手机使用。

关联 Session

评论

GitHub Issues · utterances