在Jamf Pro中使用蓝图部署自定义DDM声明

本文详细介绍了如何在Jamf Pro 11.22.1版本中,通过蓝图功能手动创建和部署自定义的声明式设备管理配置。文章以一个磁盘管理设置的JSON声明为例,提供了从登录到最终部署验证的完整操作流程,为管理员提供了灵活部署未在蓝图模板中预置的声明的方法。

Deploying custom DDM declarations using Blueprints in Jamf Pro

Der Flounder Seldom updated, occasionally insightful.

2025年11月26日

Jamf Pro通过蓝图(Blueprints)提供的管理选项之一,是创建自定义声明式(declarative)声明并将其部署到受管Mac的能力。这意味着,如果您可以手动为DDM声明构建JSON载荷(payload),即使Jamf尚未为该声明提供蓝图模板,您现在也应该能够使用蓝图来部署它。这在概念上类似于Jamf Pro通过“应用程序与自定义设置”管理描述文件载荷向macOS部署自定义配置的能力。

更多细节,请阅读下文。

在本示例中,我使用以下自定义声明来设置磁盘管理设置。蓝图也提供了一个用于磁盘管理的声明模板,但使用自定义声明来部署磁盘管理设置的好处在于,该示例中的声明全部在一个JSON载荷中,无需引用其他组件(需要引用其他组件的声明示例是部署sudo配置的服务配置声明,该声明需要从外部源下载文件)。

1
2
3
4
5
6
{
 "Restrictions": {
 "ExternalStorage": "Disallowed",
 "NetworkStorage": "Disallowed"
  }
}

在本例中,该声明设置以下磁盘管理设置:

  • 禁止外部存储设备:系统无法挂载任何外部存储。
  • 禁止网络存储:系统无法挂载来自网络服务器的任何存储。

截至Jamf Pro 11.22.1版本,尚未提供用于创建部署自定义声明的蓝图的蓝图模板,因此需要手动配置蓝图。为此,请按以下步骤操作:

  1. 登录 Jamf Pro。

  2. 选择 Blueprints。

  3. 点击 Create blueprint 按钮。

  4. 您将看到一个未配置的蓝图。点击显示 Untitled blueprint 的地方并提供名称。

本示例中,我使用 “Disk Management Settings”。

  1. 在浏览器窗口左侧的列表中向下滚动,找到 Custom Declarations(自定义声明)组件。

  2. 点击 Custom Declarations 组件,并将其拖放到 Declaration group(声明组)部分。

  3. 添加到 Declaration group 部分后,点击 Custom Declarations 组件上的任意位置以打开其进行编辑。 当 Custom Declarations 组件打开进行编辑时,会显示关于自定义配置的说明以及警告,指出使用自定义配置可能带来风险,应在生产环境中部署前仔细测试使用该组件构建的所有配置。

  4. 阅读完警告并理解潜在风险后,点击 Get Started 按钮。

  5. 点击 Add item 按钮。自定义声明设置将打开并显示一组占位符设置。

在继续之前,如果您尚未阅读,我强烈建议您阅读“创建自定义声明蓝图”文档,以了解使用自定义声明蓝图组件创建自定义声明所涉及的所有部分。

在 Custom Declarations 组件的 Kind 字段中,有两个选项:

  • Configuration(配置):定义设备应如何配置的设置和策略,其功能类似于描述文件载荷。
  • Asset(资产):配置所使用的数据,例如证书、配置文件、脚本或DDM声明支持使用的其他数据。

在我们的示例中,我们选择 Configuration

在 Custom Declarations 组件的 Channel 字段中,有两个选项:

  • System(系统):将管理设置应用于设备。
  • User(用户):将管理设置应用于MDM管理的用户。

在我们的示例中,我们选择 System

在 Type 字段中,输入声明类型。 在我们的示例中,我们使用磁盘管理的声明类型:com.apple.configuration.diskmanagement.settings

在 Payload 字段中,以JSON格式输入声明的配置。在我们的示例中,我们使用以下配置:

1
2
3
4
5
6
{
 "Restrictions": {
 "ExternalStorage": "Disallowed",
 "NetworkStorage": "Disallowed"
  }
}
  1. 配置并验证完 Kind、Channel、Type 和 Payload 设置后,点击 Update 按钮。

  2. 确认所有设置看起来符合预期,然后点击 Save 按钮。

  3. 此时,您应该拥有一个已配置所有设置但尚未设置目标范围的蓝图。要设定此蓝图的作用域,请转到 Scope 部分并点击箭头按钮。

  4. 选择一个 Jamf Pro 智能组或静态组。在本示例中,我选择了一个名为 “Disk Management Deployment Group” 的静态组。

  5. 完成所有配置后,点击 Deploy 按钮,将更改部署到您要管理的Mac上。

  6. 部署完成后,Jamf Pro 中的 Blueprints 屏幕应显示新创建的 “Disk Management Settings” 蓝图已部署。

在您的受管设备上,您可以通过点击注册描述文件(enrollment profile),然后滚动到底部来验证新的自定义声明是否已部署。在本例中,由于您正在部署磁盘管理配置,您应该会看到一个 Device Declarations(设备声明)部分,其中列出了 Disk Management(磁盘管理)。

如果您点击 Disk Management 列表,它应该报告以下信息:

  • External Storage Restriction: Not Allowed
  • Network Storage Restriction: Not Allowed
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计