自定义配置
什么是自定义配置
自定义配置允许您将原始的 Apple 属性列表 (plist) XML 作为配置描述文件负载进行部署。这是针对 Apple MDM 协议支持但 Blueprint 编辑器中没有专用 UI 的任何设置的应急方案。
Apple 设备使用的每个配置描述文件都是一个 XML plist。Blueprint 编辑器将最常见的负载类型(密码、限制、WiFi 等)抽象为表单字段。自定义配置跳过了这一抽象层——您直接编写 plist 负载。
何时使用
- Apple Configurator 2 工作流程 — 您有一个从 Apple Configurator 2 导出的现有
.mobileconfig文件。将相关负载部分粘贴到自定义配置中,而不是逐字段重新构建。 - UI 中未包含的高级设置 — Apple 在每个操作系统版本中都会添加新的负载键。Blueprint 编辑器可能尚未为新引入的键提供表单。自定义配置可以立即填补这一空白。
- 嵌套或复杂负载 — 某些负载(例如,嵌入在 plist 中的自定义 XML、原始 JSON)难以表示为单独的表单字段。
- 第三方 MDM 扩展 — 扩展 Apple 架构的供应商特定负载。
如何创建自定义 Plist 负载
- 导航至 配置管理 > Blueprints 并打开目标 Blueprint。
- 点击 添加配置 并选择 自定义配置。
- 选择目标平台(iOS/iPadOS、macOS、tvOS)。
- 将您的 plist XML 粘贴到编辑器中。
负载必须是一个有效的 Apple plist 字典。至少需要包含 PayloadType 和 PayloadIdentifier:
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadType</key>
<string>com.apple.security.firewall</string>
<key>PayloadIdentifier</key>
<string>com.example.firewall.custom</string>
<key>PayloadUUID</key>
<string>a1b2c3d4-e5f6-7890-abcd-ef1234567890</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadDisplayName</key>
<string>Custom Firewall Rules</string>
<!-- Your payload-specific keys here -->
</dict>
</plist>关键字段
| 键 | 必需 | 描述 |
|---|---|---|
PayloadType | 是 | Apple 负载类型标识符(例如 com.apple.security.firewall、com.apple.applicationaccess) |
PayloadIdentifier | 是 | 此负载的反向 DNS 唯一标识符 |
PayloadUUID | 是 | 此负载实例的唯一 UUID |
PayloadVersion | 是 | 负载版本号(通常为 1) |
PayloadDisplayName | 否 | 设备上"设置 > 通用 > VPN 与设备管理"中显示的人类可读名称 |
PayloadDescription | 否 | 设备上显示的描述 |
PayloadOrganization | 否 | 设备上显示的组织名称 |
查找负载类型
Apple 在 Apple 配置描述文件参考 中发布了支持的负载类型及其键的完整列表。常见类型包括:
| PayloadType | 用途 |
|---|---|
com.apple.applicationaccess | 限制 |
com.apple.security.firewall | macOS 防火墙 |
com.apple.MCX | macOS 偏好设置映射 |
com.apple.wifi.managed | Wi-Fi 网络 |
com.apple.vpn.managed | VPN 配置 |
com.apple.security.scep | SCEP 证书注册 |
com.apple.dnsSettings.managed | DNS 设置 |
编辑器中的 XML 语法验证
自定义配置编辑器包含内置的 XML 语法验证。在您输入时,编辑器会检查:
- 格式良好的 XML — 匹配的标签、正确的嵌套、有效的字符。
- Plist 结构 — 根元素必须是带有
<dict>子元素的<plist>。 - 必需的键 — 必须包含
PayloadType、PayloadIdentifier、PayloadUUID和PayloadVersion。
无效的 XML 会以内联错误指示器标记。当自定义配置负载存在语法错误时,Blueprint 无法保存。
测试和部署自定义配置
- 在编辑器中验证 — 保存前确保没有显示语法错误。
- 保存 Blueprint — 系统将 Blueprint 编译为配置描述文件并将其加入投递队列。
- 分配给测试组 — 首先部署到一小部分测试设备。
- 在设备上验证 — 检查描述文件是否已安装在 设置 > 通用 > VPN 与设备管理(iOS)或 系统设置 > 隐私与安全性 > 描述文件(macOS)下。
- 检查 MDM 日志 — 在仪表板中查看设备命令日志,确认描述文件已成功投递和安装。
- 广泛发布 — 验证通过后,将 Blueprint 分配给生产组。
警告:高级功能
自定义配置是一项高级功能,适用于了解 Apple 配置描述文件架构的管理员。plist XML 中的错误可能导致:
- 描述文件安装失败
- 意外的设备行为
- 无法在不擦除描述文件的情况下移除的设置
请确保您清楚自己在做什么。 如果您对某个负载键或值不确定,请先在非生产设备上进行测试。当某个设置存在受支持的 UI 时,优先使用基于表单的配置而非原始 XML——它提供了验证、安全防护以及针对架构变更的未来兼容性。
