Apple 平台部署
- 欢迎使用
- Apple 平台部署介绍
-
-
- 声明式状态报告
- 声明式 App 配置
- 认证凭证和身份资源声明
- 后台任务管理声明式
- “日历”声明式配置
- “证书”声明式配置
- “联系人”声明式配置
- Exchange 声明式配置
- “谷歌账户”声明式配置
- LDAP 声明式配置
- 旧有交互式描述文件的声明式配置
- 旧有描述文件声明式配置
- “邮件”声明式配置
- 数学笔记和计算器 App 声明式配置
- “受管理的迁移助理”声明式配置
- “密码”声明式配置
- “通行密钥证明”声明式配置
- Safari 浏览器浏览管理声明式配置
- Safari 浏览器扩展管理声明式配置
- “屏幕共享”声明式配置
- 服务配置文件声明式配置
- “软件更新”声明式配置
- “软件更新”设置声明式配置
- 储存空间管理声明式配置
- “已订阅的日历”声明式配置
-
-
- “无障碍”有效负载设置
- “Active Directory 证书”有效负载设置
- “隔空播放”有效负载设置
- “隔空播放安全”有效负载设置
- “隔空打印”有效负载设置
- “App 锁定”有效负载设置
- “关联域”有效负载设置
- “自动化证书管理环境” (ACME) 有效负载设置
- “自治单 App 模式”有效负载设置
- “日历”有效负载设置
- “蜂窝网络”有效负载设置
- “蜂窝专用网络”有效负载设置
- “证书偏好设置”有效负载设置
- “证书撤销”有效负载设置
- “证书透明度”有效负载设置
- “证书”有效负载设置
- “会议室显示器”有效负载设置
- “联系人”有效负载设置
- “内容缓存”有效负载设置
- “目录服务”有效负载设置
- “DNS 代理”有效负载设置
- “DNS 设置”有效负载设置
- “程序坞”有效负载设置
- “域”有效负载设置
- “节能”有效负载设置
- Exchange ActiveSync (EAS) 有效负载设置
- Exchange Web 服务 (EWS) 有效负载设置
- “可扩展单点登录”有效负载设置
- “可扩展单点登录 Kerberos”有效负载设置
- “扩展”有效负载设置
- “文件保险箱”有效负载设置
- “访达”有效负载设置
- “防火墙”有效负载设置
- “字体”有效负载设置
- “全局 HTTP 代理”有效负载设置
- “谷歌账户”有效负载设置
- “主屏幕布局”有效负载设置
- 身份有效负载设置
- “身份偏好设置”有效负载设置
- “内核扩展策略”有效负载设置
- LDAP 有效负载设置
- “无人值守管理”有效负载设置
- “锁屏信息”有效负载设置
- 登录窗口有效负载设置
- “管理式登录项”有效负载设置
- 邮件有效负载设置
- “网络使用规则”有效负载设置
- “通知”有效负载设置
- “家长控制”有效负载设置
- “密码”有效负载设置
- “打印”有效负载设置
- “隐私偏好设置策略控制”有效负载设置
- “中继”有效负载设置
- SCEP 有效负载设置
- “安全性”有效负载设置
- “设置助理”有效负载设置
- “单点登录”有效负载设置
- “智能卡”有效负载设置
- “已订阅的日历”有效负载设置
- “系统扩展”有效负载设置
- “系统迁移”有效负载设置
- “时间机器”有效负载设置
- “电视遥控器”有效负载设置
- Web Clip 有效负载设置
- “网页内容过滤器”有效负载设置
- Xsan 有效负载设置
-
- 词汇表
- 文稿修订历史
- 版权和商标

macOS 中的系统扩展
运行 macOS 10.15 或更高版本的 Mac 允许开发者通过安装和管理在用户空间而非内核层面运行的系统扩展来扩展 macOS 的功能。让系统扩展在用户空间运行提高了 macOS 的稳定性和安全性。尽管 Kext 本身可完全访问整个操作系统,但运行在用户空间的扩展只拥有执行其特定功能所需的许可。
系统扩展支持使用设备管理服务的强力管理,包括允许来自特定开发者或特定类型(如网络扩展)的所有扩展无需用户交互即可载入的能力。设备管理服务可选择不允许用户将其系统扩展批准载入。
对于运行 macOS 12.0.1 或更高版本的 Mac,“系统扩展”有效负载中的词典(称为 RemovableSystemExtensions)允许设备管理服务管理员指定哪些 App 可以移除其自己的系统扩展。移除该类系统扩展无需本地管理员认证。此功能对于可能提供 App 自动卸载器的供应商特别有用。
对于运行 macOS 11.3 至 macOS 11.6.4 的 Mac,更改系统扩展描述文件会直接影响扩展的状态。例如,如果扩展正在等待批准且推送了允许扩展的配置描述文件,则允许载入扩展。相反,如果批准被撤销,系统扩展会被卸载,并被标记以在 Mac 下次重启时移除。如果系统扩展尝试自行卸载,会出现一个互动认证对话框要求管理员凭证来授权卸载。
内核扩展
对于运行 macOS 11 或更高版本的 Mac,如果启用了第三方内核扩展 (Kext),就不能按需将其载入内核中。第三方内核扩展需要用户批准、重启 macOS 以将更改载入内核,还需要在搭载 Apple 芯片的 Mac 上将安全启动配置为“降低安全性”。
开发者可以使用各种框架(如 DriverKit 和 NetworkExtension)来写入 USB 和人机界面驱动程序、端点安全工具(如数据丢失预防或其他端点代理)以及 VPN 和网络工具,这一切都不需要编写 Kext。只有当第三方安全代理使用了这些 API 或者拥有过渡到这些 API 并不再使用内核扩展的清晰路线图,才应当使用这些第三方安全代理。
【重要事项】macOS 中不再推荐使用 Kext。Kext 会威胁到操作系统的完整性和可靠性。用户应当首选不需要扩展内核而是使用系统扩展的解决方案。
在运行 macOS 11 或更高版本且基于 Intel 或搭载 Apple 芯片的 Mac 上添加 Kext
如果需要使用内核扩展,请根据注册方式检查批准方法。
注册方式 | 批准方法 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
未注册 用户注册 | 安装了新 Kext 并尝试载入之前,用户需要从以下位置中的警告对话框发起重启:
此重启操作会在内核启动之前重建 AuxKC。 | ||||||||||
设备注册 自动设备注册 | 每次安装了新 Kext 并尝试载入它之前,都需要通过以下任一方式进行重启:
【注】设备管理服务首先需要安装指定 Kext 的 Kext 允许列表描述文件。运行 macOS 11.3 或更高版本的 Mac 可选择允许该服务通知用户在方便时完成重启。 | ||||||||||
在搭载 Apple 芯片的 Mac 上添加 Kext 的额外步骤
如果要在搭载 Apple 芯片的 Mac 上添加内核扩展,则需要执行额外步骤。
注册方式 | 批准方法 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
未注册 | 用户管理 Kext 需要重启进入 recoveryOS 以降级安全性设置。用户需要按住电源按钮以重启进入 recoveryOS 并以管理员身份认证。只有通过按住电源按钮进入 recoveryOS 才能使安全隔区接受策略更改。然后用户需要选择“降低安全性”复选框和“允许用户管理来自被认可开发者的内核扩展”选项,并重启 Mac。 | ||||||||||
用户注册 | 用户需要重启进入 recoveryOS 以降级安全设置。用户需要按住电源按钮以重启进入 recoveryOS 并以本地管理员身份认证。只有通过按住电源按钮进入 recoveryOS 才能使安全隔区接受策略更改。然后用户需要选择“降低安全性”,勾选“允许用户管理来自被认可开发者的内核扩展”,并重启 Mac。 | ||||||||||
设备注册 | 设备管理服务需要通知用户重启进入 recoveryOS 以降级安全设置。用户需要按住电源按钮以重启进入 recoveryOS 并以管理员身份认证。只有通过按住电源按钮才能使安全隔区接受策略更改。然后用户需要选择“降低安全性”,选择“允许远程管理内核扩展和软件自动更新”,并重启 Mac。 若要了解你的设备是否支持此功能,请参阅开发者的设备管理服务文稿。 | ||||||||||
自动设备注册 (Mac 序列号需要显示在 Apple 校园教务管理或 Apple 商务中,且 Mac 需要在关联 Apple 校园教务管理或 Apple 商务的设备管理服务中注册。) | 设备管理服务可自动管理此功能。 若要了解你的设备是否支持此功能,请参阅开发者的设备管理服务文稿。 | ||||||||||
内核扩展和系统完整性保护
如果系统完整性保护 (SIP) 已启用,在将每个 Kext 包括在 AuxKC 中前还会验证其签名。
如果 SIP 关闭,则不会强制执行 Kext 签名。
此方法可让不是 Apple Developer Program 成员的开发者或用户在“宽松安全性”流程中测试 Kext,然后再为其签名。