
Intro to declarative device management and Apple devices
Declarative device management is an update to the existing protocol for device management that can be used in combination with the existing MDM protocol capabilities. It allows the device to asynchronously apply settings and report status back to the MDM solution without constant polling. This is ideal for performance and scalability.
Declarative device management gives organizations more confidence that devices are in the desired state and that essential data is kept secure, even without internet connectivity. And from a user perspective, it provides a much more responsive experience.
Status reporting allows a device to share information about its current state, and if there are any changes, these can be reported to the server proactively without having to poll the device for updates. Extensibility is built into the protocol to ensure that declarative management is designed for the present and the future.
For more information, see the WWDC24 video What’s new in device management.
Declarations
There are four types of declarations, which are payloads that the server defines, sends to devices, and represents the policy an organization wants to enforce on devices.
Declaration type | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Configurations | Configurations are similar to MDM’s existing profile payloads; for example, accounts, and settings, and restrictions. See Declarative configurations in the MDM settings section. | ||||||||||
Assets | Assets consist of reference data that’s required by configurations for large data items and per-user data; assets have a one-to-many relationship with configurations. See Authentication credentials and identity asset settings. | ||||||||||
Activations | Activations are a set of configurations that are applied atomically to the device and can include predicates, such as “device type is iPad” or “operating system version greater than iPadOS 16.1.” There is a many-to-many relationship between activations and configurations. Activations can use an extended predicate syntax—including status items—to support complex predicate expressions. In addition, a management properties declaration allows servers to set arbitrary properties on the device, which can be directly used in activation predicates. | ||||||||||
Management | Management is used to convey overall management state to the device, describing details about the organization and capabilities of the MDM solution. |
Status channel
The status channel is a new channel of communication where the device proactively updates the server with new information about itself. Updates of the device state are sent in a status report to the server. The server can subscribe to specific status items, so it receives only updates for the changes it cares about. Status items can also be used as expressions in activation predicates, allowing the device to operate independently, based on state changes. For more information, see Declarative status reports.