
Usar la gestión de dispositivos para implementar actualizaciones de software en dispositivos Apple
La gestión declarativa de dispositivos es el futuro de la gestión de dispositivos de Apple. Permite al dispositivo aplicar ajustes de manera asíncrona y enviar un informe de estado al servicio de gestión de dispositivos sin enviar consultas constantemente. Esto resulta ideal para el rendimiento y la posibilidad de ampliación, y además proporciona un modelo avanzado de gestión de actualizaciones de software moderno. La gestión declarativa de dispositivos ofrece informes de estado proactivos de los dispositivos cada vez que cambian los valores y las configuraciones. De este modo, un servicio de gestión de dispositivos siempre tiene una visión actualizada de los dispositivos sin necesidad de realizar consultas periódicas.
En lugar de enviar un comando de actualización de software a un dispositivo para iniciar una actualización, el servicio de gestión de dispositivos declara el estado de la versión del sistema operativo deseado y, para alcanzar dicho estado, delega en el propio dispositivo la tarea. Esto permite un proceso de actualización de software gestionado más resistentes y una mayor transparencia para los usuarios.
Importancia de utilizar las declaraciones de las actualizaciones de software
Los servicios de gestión de dispositivos tienen que utilizar las declaraciones de actualización de software siempre que sea posible. Sin embargo, los comandos de actualización de software y perfiles antiguos siguen disponibles y siguen siendo compatibles. Pueden funcionar junto con las declaraciones de actualización de software con los siguientes cambios:
Las posposiciones definidas por las declaraciones tienen prioridad sobre las posposiciones configuradas por las restricciones.
Los ajustes de actualización de software automática aplicados por una declaración tienen prioridad sobre los ajustes de actualización automática de los perfiles de configuración.
Cuando hay una actualización de software pendiente que el sistema operativo configura mediante la gestión declarativa de dispositivos, el cliente ya no puede procesar algunos comandos de gestión de dispositivos y devuelve errores que indican que hay una declaración activa en el dispositivo, tal y como se muestra en la siguiente tabla:
Comando de gestión de dispositivos | Resultado | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Limitado: En ordenadores Mac, las actualizaciones de sistema operativo que no estén gestionadas pueden aparecer en la respuesta de comandos (por ejemplo, en Xcode o en las herramientas de línea de comandos). | ||||||||||
| El dispositivo devuelve un error | ||||||||||
| El dispositivo devuelve un vector de estado vacío. |
Uso del servicio de consulta del software de Apple
El Servicio de consulta del software de Apple (disponible en https://gdmf.apple.com/v2/pmv) es el recurso oficial para obtener una lista de respuestas rápidas de seguridad y actualizaciones disponibles públicamente. Permite a un servicio de gestión de dispositivos consultar las versiones en cuanto Apple las publica y calcular la aplicabilidad de cada modelo de hardware de forma rápida y precisa.
La respuesta JSON contiene tres listas de versiones de software disponibles:
PublicAssetSets: Esta lista contiene las versiones más recientes que están disponibles para el público en general si se intentan instalar actualizaciones.
AssetSets: Esta lista es un subconjunto de
PublicAssetSets
y contiene todas las versiones disponibles que los servicios de gestión de dispositivos pueden enviar a los dispositivos.PublicRapidSecurityResponses: Esta lista contiene las publicaciones de actualizaciones de respuesta rápida de seguridad disponibles actualmente para dispositivos Apple.
Cada uno de los elementos de la lista contiene el número de versión (ProductVersion
) y compilación (Build
) del sistema operativo, la fecha de publicación (PostingDate
), la fecha de caducidad (ExpirationDate
) y una lista de dispositivos compatibles (SupportedDevices
) con esa versión. La lista de dispositivos coincide con el valor de ProductName
del dispositivo, que se devuelve con la respuesta DeviceInformation
, la solicitud Authenticate
inicial o en la MachineInfo
cuando el dispositivo intenta inscribirse.
La fecha de caducidad, que suele establecerse en 180 días después de la fecha de publicación, define la fecha en la que caduca la firma de la actualización. Una vez caducada, una actualización no se puede instalar en dispositivos. Al publicar actualizaciones posteriores, se podrían actualizar las fechas de caducidad de las actualizaciones anteriores. Si no se proporciona una fecha de caducidad es porque la actualización no ha caducado aún. Una actualización solo ha caducado cuando tiene una fecha de caducidad pasada.
Los componentes se agrupan por plataforma de sistema operativo mediante las siguientes claves:
iOS
(que incluye iPadOS, tvOS y watchOS)macOS
visionOS
{
"AssetSets": {
"iOS": [
{
"ProductVersion": "18.2.1",
"Build": "22C6161",
"PostingDate": "2025-01-06",
"ExpirationDate": "2025-04-17",
"SupportedDevices": ["iPad11,1", "iPad11,2", "iPad11,3", "iPad11,4", "iPad11,6", "iPad11,7", "iPad12,1", "iPad12,2", "iPad13,1", "iPad13,10", "iPad13,11", "iPad13,16", "iPad13,17", "iPad13,18", "iPad13,19", "iPad13,2", "iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7", "iPad13,8", "iPad13,9", "iPad14,1", "iPad14,10", "iPad14,11", "iPad14,2", "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", "iPad14,8", "iPad14,9", "iPad16,1", "iPad16,2", "iPad16,3", "iPad16,4", "iPad16,5", "iPad16,6", "iPad7,11", "iPad7,12", "iPad8,1", "iPad8,10", "iPad8,11", "iPad8,12", "iPad8,2", "iPad8,3", "iPad8,4", "iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8", "iPad8,9", "iPhone11,2", "iPhone11,4", "iPhone11,6", "iPhone11,8", "iPhone12,1", "iPhone12,3", "iPhone12,5", "iPhone12,8", "iPhone13,1", "iPhone13,2", "iPhone13,3", "iPhone13,4", "iPhone14,2", "iPhone14,3", "iPhone14,4", "iPhone14,5", "iPhone14,6", "iPhone14,7", "iPhone14,8", "iPhone15,2", "iPhone15,3", "iPhone15,4", "iPhone15,5", "iPhone16,1", "iPhone16,2", "iPhone17,1", "iPhone17,2", "iPhone17,3", "iPhone17,4"
]
},
Usa la lista de versiones del producto para determinar qué versiones son posteriores a la versión actual del sistema operativo del dispositivo y son aplicables a un dispositivo concreto. A continuación, proporciona esa lista de versiones al administrador del servicio de gestión de dispositivos como posibles candidatos a actualización del sistema operativo.
Enviar un informe de estado al servicio de gestión de dispositivos
Para recibir actualizaciones de los ítems de estado según cambian, el servidor tiene que estar suscrito a cada informe de estado enviando al dispositivo una declaración ManagementStatusSubscriptions
. A continuación, el dispositivo envía un StatusReport
al servicio de gestión de dispositivos cuando se activa una declaración ManagementStatusSubscriptions
, cada vez que cambia el estado de un ítem suscrito y cada 24 horas.
Con el fin de supervisar las versiones de sistema operativo y el estado de las actualizaciones de software, puede que el servicio de gestión de dispositivos se suscriba a los siguientes informes de estado:
Informe de estado | Description |
---|---|
| La versión de la compilación del sistema operativo del dispositivo (por ejemplo, 21E219). |
| La versión del sistema operativo que se está utilizando en el dispositivo (por ejemplo, 17.4). |
| Las versiones de la compilación y la respuesta rápida de seguridad del sistema operativo que se están utilizando en el sistema operativo, (por ejemplo, 20A123a o 20F75c). |
| La versión de la respuesta rápida de seguridad del sistema operativo que se está utilizando en el dispositivo (por ejemplo, a). |
| Un diccionario que contiene las versiones de la compilación y el sistema operativo de la actualización de software que está pendiente en el dispositivo. |
| El estado de instalación de la actualización de software, que tiene los siguientes valores:
|
| Un diccionario con datos sobre el motivo para que una actualización de software esté pendiente. La clave
|
| Datos sobre una actualización de software fallida. Los detalles incluyen el número de veces que ha fallado la actualización de software, la última marca de fecha y hora del fallo y el motivo del fallo. |
| El nombre del programa beta en el que está inscrito el dispositivo o, si no lo está, una cadena vacía. |
Además de los otros informes, algunos servicios de gestión de dispositivos también pondrán a disposición de los administradores el valor softwareupdate.install-reason
con fines de soporte y para proporcionar más información sobre cómo se realiza una actualización. Puedes usar este diccionario para determinar si un usuario inicia la actualización, si la actualización se instala automáticamente o si una declaración de instalación forzada instala la actualización de software.
Solicitar una versión mínima de software concreta durante la inscripción
Si un dispositivo admite esta función, devuelve una clave MDM_CAN_REQUEST_SOFTWARE_UPDATE
, ajustada a Verdadero, en los datos MachineInfo
que envía en la solicitud HTTP POST
inicial al servicio de gestión de dispositivos cuando el dispositivo detecta una configuración de gestión en el asistente de configuración. Para obtener más información, consulta el archivo yaml de MachineInfo en el repositorio GitHub de gestión de dispositivos Apple.
Además, los dispositivos ofrecen los siguientes campos en los datos de MachineInfo
(todos ellos, cadenas) :
Clave | Versión de los sistemas operativos mínimos compatibles | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSIÓN | iOS 17 iPadOS 17 macOS 14 | La versión de la compilación instalada en el dispositivo (por ejemplo, 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | La versión del sistema operativo instalada en el dispositivo (por ejemplo, 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | La versión de la respuesta rápida de seguridad del dispositivo (si hay alguna disponible). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | La versión extra de la respuesta rápida de seguridad del dispositivo (si hay alguna disponible). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | El identificador del modelo de dispositivo utilizado para buscar las actualizaciones del sistema operativo disponibles en el servicio de consulta del software de Apple. |
En función de la información proporcionada, el servicio de gestión de dispositivos puede decidir si imponer la actualización o no al dispositivo.
Si un servicio de gestión de dispositivos elige no imponer una actualización de software, se limita a devolver el perfil de inscripción en respuesta a la solicitud
HTTP POST
, que es lo que hace normalmente para permitir que la inscripción continúe.Si el servicio de gestión de dispositivos decide imponer una actualización de software, tiene que devolver una respuesta
HTTP
con el código de estado 403 e incluir un objeto JSON o XML en el cuerpo de la respuesta (la cabecera de respuestaHTTP Content-Type
debe establecerse enapplication/json
oapplication/xml
, respectivamente).
Tras recibir esta respuesta de error, el dispositivo intenta actualizar a la versión especificada. Si la actualización se instala con éxito, el dispositivo se reinicia y el usuario tiene que repetir los pasos del asistente de configuración. La siguiente solicitud MachineInfo POST
del dispositivo al servicio de gestión de dispositivos muestra la versión actualizada del sistema operativo y el servicio puede proceder con la inscripción. Si la actualización falla, se muestra un mensaje de error al usuario y, en el asistente de configuración, vuelve a aparecer el panel de gestión remota.
El esquema response
se define en la siguiente tabla.
Clave | Tipo | Obligatorio | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| string (cadena); | Sí | Tiene que ajustarse a | ||||||||
| string (cadena); | No | La descripción del error. Solo se usa con fines de registro. | ||||||||
| string (cadena); | No | La descripción del error apta para mostrarse al usuario. | ||||||||
| Diccionario | Sí | Otros datos que especifican la actualización de software. |
El esquema del diccionario details
se define aquí.
Clave | Tipo | Obligatorio | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| string (cadena); | Sí | La versión del sistema operativo a la que debe actualizar el dispositivo. | ||||||||
| string (cadena); | No | La versión de la compilación a la que debe actualizar el dispositivo. | ||||||||
| Diccionario | No | El dispositivo se inscribe en el programa beta, lo que permite la imposición de las actualizaciones de software a versiones del sistema operativo del programa beta. Una vez instalada la actualización de software forzada, el dispositivo permanece en el programa beta. |
Si solo se especifica OSVersion
, el dispositivo descarga e instala automáticamente cualquier respuesta rápida de seguridad que esté disponible para esta versión. En caso de que sea necesaria una compilación o versión suplementaria específica, el servicio de gestión de dispositivos también puede especificar BuildVersion
. Por ejemplo, para obligar a instalar iOS 16.5.1(a) en un dispositivo antes de inscribirlo —aunque iOS 16.5.1(c) ya esté disponible—, el servicio de gestión de dispositivos tiene que ajustar OSVersion
a iOS 16.5.1
y BuildVersion
a 20F770750b
.
Importante: Antes de macOS 15, solo pueden especificarse las versiones de las listas PublicAssetSets
y PublicRapidSecurityResponses
. En macOS 15, también pueden utilizarse los componentes AssetSets
.
Ajustes de gestión de dispositivos para actualizaciones de software
La declaración com.apple.configuration.softwareupdate.settings
(disponible en iOS 18, iPadOS 18, macOS 15 y tvOS 18.4, o versiones posteriores) está formada por diccionarios que pueden utilizarse para configurar varios aspectos del comportamiento de las actualizaciones de software.
Una vez que un servicio de gestión de dispositivos ha distribuido distintas claves en varias declaraciones, el dispositivo fusiona los ajustes de todas las declaraciones de ajustes de las actualizaciones de software activas. Si varias declaraciones configuran la misma clave, el comportamiento de la fusión depende de la clave individual, que se explica en las siguientes tablas.
Configurar actualizaciones de software automáticas con la gestión de dispositivos
La declaración com.apple.configuration.softwareupdate.settings
ofrece un diccionario para definir el comportamiento de las actualizaciones de software automáticas en dispositivos iPhone, iPad, Apple TV y Mac supervisados. Para obtener más información, consulta Claves del diccionario AutomaticActions.
Cómo gestiona un servicio de gestión de dispositivos las respuestas rápidas de seguridad
Las respuestas rápidas de seguridad siempre se aplican a la actualización más reciente de un sistema operativo, que pasa a convertirse en la versión base de la respuesta rápida de seguridad. Por ejemplo, si un iPhone tiene instalada la versión de sistema operativo iOS 17.2, aplica la actualización suplementaria 17.2 (a), si la hay. En iOS 18, iPadOS 18 y macOS 15, se han puesto a disposición actualizaciones combinadas que permiten que una actualización de software incluya cualquier respuesta rápida de seguridad.
Antes de iOS 18, iPadOS 18 y macOS 15, puede que el servicio de gestión de dispositivos tenga que iniciar dos actualizaciones de software para asegurarse de que esté presente una versión suplementaria en concreto: Primero, tiene que actualizar el dispositivo a la versión base de la actualización suplementaria, si el dispositivo aún no está en esa versión base (por ejemplo, de iOS 17.1 a iOS 17.2). Después, tiene que actualizar la versión base a la versión suplementaria (por ejemplo, de iOS 17.2 a iOS 17.2 (a)).
En iOS 18, iPadOS 18 y macOS 15, un servicio de gestión de dispositivos puede especificar:
Bien la versión del sistema operativo (que instala las respuestas rápidas de seguridad disponibles automáticamente)
Bien la versión de la compilación suplementaria (mediante la cual el dispositivo realiza una actualización necesaria de la versión base automáticamente como parte del proceso)
Estos dos modelos se aplican a la configuración de la imposición de las actualizaciones de software y a la versión mínima impuesta durante la inscripción automatizada de dispositivo.
La declaración com.apple.configuration.softwareupdate.settings
también puede utilizarse para configurar el comportamiento de las respuestas rápidas de seguridad en dispositivos iPhone, iPad y Mac supervisados. Para obtener más información, consulta Claves del diccionario RapidSecurityResponsede iOS, iPadOS y macOS.
Posponer una actualización de software con la gestión de dispositivos
Las actualizaciones de software, principales o secundarias, pueden posponerse entre 1 y 90 días mediante la declaración com.apple.configuration.softwareupdate.settings
en dispositivos iPhone, iPad y Mac supervisados.
Una posposición configurada define el número de días antes de que una organización ofrezca una versión a los usuarios una vez que está disponible públicamente. Con independencia de una posposición configurada, un servicio de gestión de dispositivos puede seguir imponiendo una actualización de software, principal o secundaria, específica o una respuesta rápida de seguridad en los dispositivos gestionados. Para obtener más información, consulta Claves del diccionario Deferrals de iOS, iPadOS y tvOS y Claves del diccionario Deferrals de macOS.
Nota: Posponer las actualizaciones de software pospone, asimismo, cualquier respuesta rápida de seguridad que dependa de esa versión.
Imponer de una actualización de software con la gestión de dispositivos
Para imponer la instalación de una actualización de software en un plazo determinado en dispositivos inscritos mediante la inscripción de dispositivos o la inscripción automatizada de dispositivos, los servicios de gestión de dispositivos pueden aplicar la declaración com.apple.configuration.softwareupdate.enforcement.specific
.
Si se aplica a un dispositivo una configuración que especifica una versión de sistema operativo o de compilación igual o anterior a la versión actual del dispositivo, el dispositivo devolverá un error en el informe de estado.
Si están presentes varias configuraciones con un sistema operativo o una versión de compilación más nuevos que la versión actual del dispositivo, primero se procesa la configuración cuya fecha y hora sea anterior y las demás se pondrán a la cola. Cuando el dispositivo se actualiza a una nueva versión, el conjunto de configuraciones se reprocesan para determinar el orden de procesamiento. Como parte de este proceso, el dispositivo omite cualquier configuración existente que especifique una versión anterior o igual a la actual.
El sistema operativo instala automáticamente las respuestas rápidas de seguridad disponibles si un servicio de gestión de dispositivos solo define TargetOSVersion
. Para dirigir una versión específica o la respuesta rápida de seguridad, el servicio de gestión de dispositivos puede usar la clave TargetBuildVersion
además de especificar la compilación, incluido el identificador de versión suplementaria.
Para obtener más información, consulta Claves del diccionario de actualizaciones de software forzadas.
Notificaciones
La clave Notifications cambia el comportamiento predeterminado de las notificaciones para mostrar solo una notificación una hora antes del plazo de imposición y de la cuenta atrás para el reinicio. Para obtener más información, consulta Clave Notifications.
Usar el identificador de arranque para ordenadores Mac con chip de Apple
Para autorizar la imposición de una actualización de software en un ordenador Mac supervisado con chip de Apple, el servicio de gestión de dispositivos puede solicitar y custodiar un identificador de arranque. Esto permite que la experiencia de actualización de software sea sencilla y evita que el usuario tenga que interactuar durante el proceso. En caso necesario, el dispositivo utiliza GetBootstrapTokenRequest
para recuperar el identificador de arranque del servicio de gestión de dispositivos.
En el primer paso, el servicio de gestión de dispositivos determina si el dispositivo admite un identificador de arranque que utilice el comando SecurityInfo
. Si la respuesta incluye BootstrapTokenRequiredForSoftwareUpdate
con el ajuste Verdadero
, el dispositivo puede usar un identificador de arranque para autorizar una actualización de software.
Para crear un identificador de arranque, el servicio de gestión de dispositivos tiene que añadir com.apple.mdm.bootstraptoken
al vector ServerCapabilities
en el perfil de gestión de dispositivos. Para obtener más información, consulta el Perfil de gestión de dispositivos en el sitio web para desarrolladores de Apple.
Cuando el dispositivo recibe el identificador de arranque, crea uno nuevo la próxima vez que un usuario con identificador seguro inicia sesión. A continuación, se comunica con el punto final de comprobación del servicio de gestión de dispositivos y utiliza una solicitud SetBootstrapTokenRequest
para custodiar el identificador. Para obtener más información, consulta Configurar el identificador de arranque en el sitio web para desarrolladores de Apple.
Para la especificación del esquema, consulta el repositorio GitHub de gestión de dispositivos Apple.