
Usar la administración de dispositivos para implementar actualizaciones de software en dispositivos Apple
La administración declarativa de dispositivos es el futuro de la administración de dispositivos Apple, y permite que el dispositivo aplique asíncronamente la configuración e informe del estado al servicio de administración de dispositivos sin necesidad de consultas constantes. Esto es ideal para el rendimiento y la escalabilidad, y además permite un enfoque avanzado para la administración de actualizaciones de software. La administración declarativa de dispositivos ofrece reportes proactivos del estado de los dispositivos a medida que cambian los valores y las configuraciones. De este modo, un servicio de administración de dispositivos siempre tiene una visión actualizada de los dispositivos sin tener que realizar consultas periódicas.
En lugar de enviar un comando de actualización de software a un dispositivo para iniciar una actualización, un servicio de administración de dispositivos declara el estado deseado de la versión del sistema operativo y delega la tarea de alcanzar ese estado al dispositivo. Esto permite administrar un proceso de actualización de software más resistente y aumentar la transparencia para el usuario.
La importancia de aprovechar las declaraciones de actualización de software
Los servicios de administración de dispositivos deben aprovechar las declaraciones de actualización de software siempre que sea posible. Sin embargo, los comandos y perfiles de actualización de software heredados siguen disponibles y son compatibles con las declaraciones de actualización de software. Además, pueden funcionar junto con las declaraciones de actualización de software con el siguiente cambio:
Los aplazamientos definidos por una declaración tienen prioridad sobre los aplazamientos configurados por una restricción.
La configuración de actualización automática de software en macOS aplicada mediante una declaración tiene prioridad sobre la configuración de actualización automática proporcionada en un perfil de configuración.
Cuando hay una actualización de software pendiente que el sistema operativo configura mediante la administración declarativa de dispositivos, el cliente ya no puede procesar algunos comandos de la administración de dispositivos y devuelve errores que indican que hay una declaración activa en el dispositivo, como se muestra en la siguiente tabla:
Comando de la administración de dispositivos | Resultado | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Limitado: en computadoras Mac, las actualizaciones basadas en el sistema operativo que no son administradas pueden aparecer en la respuesta del comando; por ejemplo, en Xcode o en herramientas con línea de comandos. | ||||||||||
| El dispositivo devuelve el error | ||||||||||
| El dispositivo devuelve un conjunto de estados vacíos. |
Usar el servicio de búsqueda de software de Apple
El servicio de búsqueda de software de Apple (disponible en https://gdmf.apple.com/v2/pmv) es el recurso oficial para obtener una lista de las actualizaciones menores, actualizaciones mayores y respuestas rápidas de seguridad disponibles públicamente. Permite que un servicio de administración de dispositivos consulte las versiones en cuanto Apple las publique y calcule la relevancia de cada modelo de hardware de forma oportuna y precisa.
La respuesta JSON contiene tres listas de versiones de software disponibles:
PublicAssetSets: esta lista contiene las últimas versiones disponibles para el público en general si intentan obtener una actualización menor o mayor.
AssetSets: esta lista es un subconjunto de
PublicAssetSets
y contiene todas las versiones disponibles para que los servicios de administración de dispositivos las envíen a los dispositivos.PublicRapidSecurityResponses: esta lista contiene lanzamientos de las respuestas rápidas de seguridad disponibles actualmente para los dispositivos Apple.
Cada elemento de la lista contiene el número de ProductVersion
y Build
del sistema operativo, así como las fechas de 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 ProductName
del dispositivo, que se devuelve en una respuesta DeviceInformation
, la solicitud Authenticate
inicial o en la información MachineInfo
cuando el dispositivo se intenta inscribir.
Por lo general, la fecha de caducidad es 180 días después de la fecha de publicación, define la fecha de caducidad de la firma de la actualización. Las actualizaciones caducadas no se pueden instalar en los dispositivos. Cuando las actualizaciones siguientes estén disponibles, podrían actualizarse las fechas de caducidad de las actualizaciones anteriores. Si no se muestra una fecha de caducidad, significa que la actualización aún no ha caducado. Si ya pasó la fecha de caducidad de una actualización, significa que la actualización está caducada.
Los activos están agrupados por plataforma de sistema operativo con 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 de productos para determinar qué versiones son posteriores a la versión actual del sistema operativo de un dispositivo y se pueden aplicar a un dispositivo específico. A continuación, proporciona esa lista de versiones al administrador del servicio de administración de dispositivos para usarlas como posibles candidatas para la actualización del sistema operativo.
Enviar un informe de estado al servicio de administración de dispositivos
Para recibir actualizaciones de elementos de estados conforme cambian, el servidor debe inscribirse a cada informe de estados enviando al dispositivo una declaración ManagementStatusSubscriptions
. El dispositivo luego envía una clave StatusReport
al servicio de administración de dispositivos cuando se activa una declaración ManagementStatusSubscriptions
, cuando cambia el estado de un elemento inscrito y cada 24 horas.
Para supervisar las versiones del sistema operativo y el estado de actualización del software, el servicio de administración de dispositivos puede intentar suscribirse a los siguientes informes de estado:
Informe de estado | Descripción |
---|---|
| La versión de fase del sistema operativo en el dispositivo (por ejemplo, 21E219). |
| La versión del sistema operativo en uso en el dispositivo (por ejemplo, 17.4). |
| La fase del sistema operativo y las versiones de la respuesta rápida de actualización en uso en el dispositivo (por ejemplo: 20A123a o 20F75c). |
| La versión de la respuesta rápida de actualización en uso en el dispositivo (por ejemplo: a). |
| Un diccionario con las versiones de fase y sistema operativo que están pendientes en el dispositivo. |
| El estado de instalación de la actualización de software, el cual tiene los siguientes valores:
|
| Un diccionario con detalles sobre la actualización de software pendiente. La clave
|
| Detalles sobre el fallo de una actualización de software, incluyendo el número de veces que ha fallado la actualización del software, la marca de tiempo de la última falla y el motivo de esta. |
| El nombre del programa de software beta al que se inscribió el dispositivo, o una cadena vacía si no se ha inscrito a ningún programa de software beta. |
Además de los otros informes, los servicios de administración de dispositivos también pueden ofrecer el informe de estado softwareupdate.install-reason
a los administradores con fines de compatibilidad y para proporcionar información adicional sobre cómo se produce una actualización. Puedes usar este diccionario para determinar si un usuario ha iniciado la actualización, si la actualización se realiza automáticamente o si se inicia mediante una declaración de imposición de actualización de software.
Solicitar una versión de software mínima específica durante la inscripción
Si un dispositivo es compatible con esta función, devuelve una clave MDM_CAN_REQUEST_SOFTWARE_UPDATE
con el valor True (verdadero) en los datos de MachineInfo
que envía en la solicitud HTTP POST
inicial al servicio de administración de dispositivos cuando el dispositivo detecta una configuración de administración en Asistente de Configuración. Para obtener más información, consulta archivo yaml de MachineInfo en el repositorio de GitHub para la administración de dispositivos Apple.
Además, los dispositivos proporcionan los siguientes campos en los datos MachineInfo
(todas las cadenas):
Clave | Versiones de sistemas operativos mínimos compatibles | Descripción | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | La versión de la fase 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 respuesta rápida de seguridad del dispositivo (si hay una disponible). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | La versión extra de respuesta rápida de seguridad del dispositivo (si hay una disponible). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | El identificador de modelo del dispositivo utilizado para buscar actualizaciones de sistema operativo disponibles en el servicio de búsqueda de software de Apple. |
En función de la información proporcionada, el servicio de administración de dispositivos puede decidir si obliga al dispositivo a actualizarse.
Si un servicio de administración de dispositivos decide no imponer una actualización de software, simplemente devuelve el perfil de inscripción como respuesta a la solicitud
HTTP POST
, como haría normalmente para permitir que se lleve a cabo la inscripción.Si el servicio de administración de dispositivos quiere forzar una actualización de software, debe devolver una respuesta
HTTP
con el código de estado 403 e incluir un objeto JSON o XML en el cuerpo de la respuesta (el encabezado de respuestaHTTP Content-Type
debe establecerse enapplication/json
oapplication/xml
, respectivamente).
Después de recibir esta respuesta de error, el dispositivo intenta actualizar a la versión especificada. Si la actualización se completa correctamente, el dispositivo se reinicia y el usuario debe completar los pasos de Asistente de Configuración. La siguiente solicitud MachineInfo POST
del dispositivo al servicio de administración de dispositivos mostrará la versión actualizada del sistema operativo y el servicio podrá continuar con la inscripción. Si la actualización falla, se muestra un error al usuario y vuelve a aparecer el panel de administración remota en Asistente de Configuración.
El esquema response
se define en la siguiente tabla.
Clave | Tipo | Necesario | Descripción | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Cadena | Sí | Debe ser | ||||||||
| Cadena | No | La descripción del error. Se usa sólo con fines de registro. | ||||||||
| Cadena | No | La descripción del error correspondiente para mostrarlo al usuario. | ||||||||
| Diccionario | Sí | Datos adicionales sobre la actualización de software. |
El esquema del diccionario details
se define a continuación.
Clave | Tipo | Necesario | Descripción | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Cadena | Sí | La versión del sistema operativo a la que debe actualizarse el dispositivo. | ||||||||
| Cadena | No | La versión de la fase a la que debe actualizarse el dispositivo | ||||||||
| Diccionario | No | El dispositivo se inscribe al programa de software beta, lo que permite la actualización forzosa del software a las versiones del sistema operativo del programa. El dispositivo permanece en el programa de software beta una vez finalizada la actualización de software obligatoria. |
Si sólo especificas OSVersion
, el dispositivo descargará e instalará automáticamente cualquier respuesta rápida de seguridad disponible para esta versión. En caso de que se necesite una versión de fase o complementaria específica, un servicio de administración de dispositivos también puede especificar opcionalmente la clave BuildVersion
. Por ejemplo, para requerir que un dispositivo ejecute iOS 16.5.1(a) antes de su inscripción, aun cuando iOS 16.5.1(c) ya está disponible, el servicio de administración de dispositivos debe configurar OSVersion
como iOS 16.5.1
y BuildVersion
como 20F770750b
.
Importante: Antes de macOS 15, sólo se podía especificar las versiones de las listas PublicAssetSets
y PublicRapidSecurityResponses
. En macOS 15, también se pueden usar los activos de AssetSets
.
Configuración de la administración de dispositivos para actualizaciones de software
La declaración com.apple.configuration.softwareupdate.settings
(disponible en iOS 18, iPadOS 18, macOS 15, tvOS 18.4 o versiones posteriores) consta de diccionarios que se pueden usar para configurar varios aspectos del comportamiento de la actualización de software.
Después de que un servicio de administración de dispositivos distribuye diferentes claves entre varias declaraciones, un dispositivo fusiona la configuración de todas las declaraciones de configuración de actualización de software activas. Si varias declaraciones configuran la misma clave, el comportamiento de fusión depende de la clave individual, lo cual se describe en las siguientes tablas.
Configurar actualizaciones de software automáticas con la administración de dispositivos
La declaración com.apple.configuration.softwareupdate.settings
ofrece un diccionario que define el comportamiento de la actualización de software automática en dispositivos iPhone, iPad, Apple TV y Mac supervisados. Para obtener más información, consulta Claves del diccionario AutomaticActions.
Cómo se gestionan las respuestas rápidas de seguridad con un servicio de administración de dispositivos
Las respuestas rápidas de seguridad siempre se aplican a la última actualización de un sistema operativo, el cual convierte en la versión base de la respuesta rápida de seguridad; por ejemplo, si un iPhone tiene la versión iOS 17.2 instalada, se aplica la actualización complementaria 17.2 (a), si está disponible. En iOS 18, iPadOS 18, y macOS 15, se han publicado actualizaciones combinadas que permiten que una actualización de software incluya cualquier respuesta rápida de seguridad disponible.
En versiones anteriores a iOS 18, iPadOS 18, y macOS 15, era posible que un servicio de administración de dispositivos tuviera que activar dos actualizaciones de software para garantizar la presencia de una versión complementaria específica. Primero, debía actualizar el dispositivo a la versión base de la actualización complementaria, si el dispositivo aún no la tenía (por ejemplo, iOS 17.1 a iOS 17.2). A continuación, debía actualizar la versión base a la versión complementaria (por ejemplo, iOS 17.2 a iOS 17.2 (a)).
En iOS 18, iPadOS 18 y macOS 15, un servicio de administración de dispositivos puede especificar:
La versión del sistema operativo (que instala automáticamente la respuesta rápida de seguridad disponible)
La versión de la fase complementaria (que hace que el dispositivo realice una actualización necesaria de la versión base automáticamente como parte del proceso)
Estos dos enfoques se aplican a la configuración de imposición de actualizaciones de software y a la versión mínima aplicada durante la inscripción de dispositivos automatizada.
La declaración com.apple.configuration.softwareupdate.settings
también se usa para configurar el comportamiento de la respuesta rápida de seguridad en dispositivos iPhone, iPad, y Mac supervisados. Para obtener más información, consulta Claves del diccionario RapidSecurityResponse para iOS, iPadOS y macOS.
Posponer una actualización de software con la administración de dispositivos
Usa la declaración com.apple.configuration.softwareupdate.settings
para aplazar una actualización o mejora de software de 1 a 90 días en dispositivos iPhone, iPad y Mac supervisados.
Un aplazamiento configurado define por cuántos días no se ofrece una versión a los usuarios después de que se pone a disposición de forma pública. Independientemente del aplazamiento configurado, un servicio de administración de dispositivos puede imponer una actualización de software específica, ya sea menor o mayor, o una respuesta rápida de seguridad en los dispositivos administrados. Para obtener más información, consulta Claves del diccionario Deferrals para iOS, iPadOS y tvOS y Claves del diccionario Deferrals para macOS.
Nota: aplazar las actualizaciones de software también aplaza cualquier respuesta rápida de seguridad que dependa de la versión aplazada.
Imponer actualizaciones de software con la administración de dispositivos
Para imponer una actualización de software en un momento determinado en los dispositivos inscritos mediante el perfil Inscripción de dispositivos o Inscripción de dispositivos automatizada, los servicios de administración de dispositivos pueden aplicar la declaración com.apple.configuration.softwareupdate.enforcement.specific
.
Si se aplica una configuración a un dispositivo que especifica un sistema operativo o una versión de fase igual o anterior a la versión disponible actualmente en el dispositivo, el dispositivo devolverá un error en el informe de estado.
Si hay varias configuraciones con un sistema operativo o una versión de fase más recientes que la versión disponible en el dispositivo, se procesa primero la configuración con la fecha y hora de destino más antiguas, y las demás permanecen en la fila. Cuando el dispositivo se actualiza a una nueva versión, el conjunto de configuraciones se vuelve a procesar para determinar cuál será la siguiente en procesarse. Como parte de este proceso, el dispositivo ignora cualquier configuración existente que especifique una versión anterior o igual a la actual.
El sistema operativo instala automáticamente cualquier respuesta rápida de seguridad disponible si un servicio de administración de dispositivos define sólo la configuración TargetOSVersion
. Para proporcionar a una versión o respuesta rápida de seguridad específica, un servicio de administración de dispositivos puede usar la clave TargetBuildVersion
, además de especificar la fase y el identificador de la versión complementaria.
Para obtener más información, consulta Claves del diccionario Enforce Software Updates.
Notificaciones
La clave Notifications (Notificaciones) cambia el comportamiento predeterminado de las notificaciones para mostrar sólo una notificación 1 hora antes de la hora de ejecución y la cuenta atrás de reinicio. Para obtener más información, consulta Clave Notifications.
Usar el identificador de arranque para computadoras Mac con Apple Chip
Para autorizar una actualización de software impuesta en una computadora Mac con Apple Chip supervisada, un servicio de administración de dispositivos puede solicitar y poner en custodia un identificador de arranque. Esto permite una experiencia de actualización de software completamente fluida y evita la interacción del usuario durante el proceso. De ser necesario, el dispositivo usa GetBootstrapTokenRequest
para obtener el identificador de arranque del servicio de administración de dispositivos.
En el primer paso, el servicio de administración de dispositivos usa el comando SecurityInfo
para determinar si el dispositivo es compatible con un identificador de arranque. Si la respuesta incluye una configuración BootstrapTokenRequiredForSoftwareUpdate
con el valor true
(verdadero), entonces el dispositivo puede usar un identificador de arranque para autorizar una actualización de software.
Para crear un identificador de arranque, el servicio de administración de dispositivos debe agregar com.apple.mdm.bootstraptoken
al arreglo ServerCapabilities
en el perfil de administración de dispositivos. Para obtener más información, consulta la página del perfil de administración de dispositivos en el sitio web de Apple Developer.
Después de que el dispositivo reciba el identificador de arranque, creará un identificador de arranque la próxima vez que un usuario habilitado para usar identificadores seguros inicie sesión. A continuación, se llega al punto final de comprobación del servicio de administración de dispositivos y se pone el identificador en custodia utilizando SetBootstrapTokenRequest
. Para obtener más información, consulta Configurar el identificador de arranque en el sitio web de Apple Developer.
Para obtener la especificación de esquemas más reciente, consulta el repositorio de GitHub para la administración de dispositivos Apple.