文章

使用描述文件配置多台设备

创建配置描述文件并向组织中的用户部署。

概览

配置描述文件可以简化设置大量设备的过程。自定日历和电子邮件设置、网络设置 (如 WiFi 和 VPN 设置)、证书以及设备限制是可以使用配置描述文件配置的部分属性。

你可以通过多种方式来部署配置描述文件:

  • 使用 App Store 中提供的 Apple Configurator 2。

  • 在电子邮件中。

  • 在网页上。

  • 按照“无线描述文件传送和配置” 中所述使用无线配置。

  • 使用移动设备管理服务器以无线方式部署。

定义描述文件

配置描述文件以任何 XML 工具均可读取和写入的属性列表格式储存。

配置属性列表包含 TopLevel 对象中列出的属性。这些属性描述了描述文件及其部署规则。具体配置值以有效负载数组形式储存在 PayloadContent 属性中。

每个有效负载的内容都包含描述文件专用的键 (请参阅“特定于描述文件的有效负载密钥”) 以及所有有效负载通用的键 (请参阅下面的键定义列表)。

PayloadType (字符串)

在每个有效负载域的参考页面上指定的有效负载类型。

PayloadVersion (整数)

这个特定有效负载的版本。

PayloadIdentifier (标识符)

有效负载的反向 DNS 式标识符。这个标识符通常与 TopLevel 值相同,但会附加额外的组成部分。

PayloadUUID (字符串)

有效负载的全局唯一标识符。实际内容并不重要,但必须全局唯一。在 macOS 中,可使用 uuidgen 生成 UUID。

PayloadDisplayName (字符串)

描述文件有效负载的可直接识别的名称。名称会显示在“详细信息”屏幕上,并且不必是唯一的。

PayloadDescription (字符串)

这个有效负载的可直接识别的描述。这一描述会显示在“详细信息”屏幕上。

PayloadOrganization (字符串)

可直接识别的字符串,其中包含提供描述文件的组织的名称。这个值无需与封闭词典中的组织有效负载值匹配。

加密和签署描述文件

iOS 和 macOS 都支持使用加密来保护描述文件的内容免遭未经授权的访问。加密的描述文件只能使用之前安装在设备上的私钥进行解密。要加密描述文件,请按照以下步骤操作:

  1. 移除 PayloadContent 数组并将这个数组序列化为属性列表。请注意,这个属性列表中的顶层对象是数组,而不是词典。

  2. 将序列化的属性列表作为封装数据进行 CMS 加密。

  3. 以 DER (可辨别编码规则) 格式序列化加密数据。

  4. 使用 EncryptedPayloadContent 键将序列化的数据设置为描述文件中数据属性列表项的值。

对描述文件进行签名可保证数据完整性。要对描述文件进行签名,请将 XML 属性列表放入经过 DER 编码、CMS 签名的数据结构中。

SCEP 配置描述文件示例

下面的列表显示了一个示例描述文件的内容,这个描述文件中包含简单证书注册协议 (SCEP) 有效负载。

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Inc//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
   <dict>
      <key>PayloadVersion</key>
      <integer>1</integer>
      <key>PayloadUUID</key>
      <string>Ignored</string>
      <key>PayloadType</key>
      <string>Configuration</string>
      <key>PayloadIdentifier</key>
      <string>Ignored</string>
      <key>PayloadContent</key>
      <array>
         <dict>
            <key>PayloadContent</key>
            <dict>
               <key>URL</key>
               <string>https://scep.example.com/scep</string>
               <key>Name</key>
               <string>EnrollmentCAInstance</string>
               <key>Subject</key>
               <array>
                  <array>
                     <array>
                        <string>O</string>
                        <string>Example, Inc.</string>
                     </array>
                  </array>
                  <array>
                     <array>
                        <string>CN</string>
                        <string>User Device Cert</string>
                     </array>
                  </array>
               </array>
               <key>Challenge</key>
               <string>...</string>
               <key>Keysize</key>
               <integer>1024</integer>
               <key>KeyType</key>
               <string>RSA</string>
               <key>KeyUsage</key>
               <integer>5</integer>
            </dict>
            <key>PayloadDescription</key>
            <string>Provides device encryption identity</string>
            <key>PayloadUUID</key>
            <string>fd8a6b9e-0fed-406f-9571-8ec98722b713</string>
            <key>PayloadType</key>
            <string>com.apple.security.scep</string>
            <key>PayloadDisplayName</key>
            <string>Encryption Identity</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
            <key>PayloadOrganization</key>
            <string>Example, Inc.</string>
            <key>PayloadIdentifier</key>
            <string>com.example.profileservice.scep</string>
         </dict>
      </array>
   </dict>
</plist>


另请参阅

当前页面为“使用描述文件配置多台设备”