Usar una solución de MDM para implementar las 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 a la solución de administración de dispositivos móviles (MDM) sin necesidad de consultas constantes. Esto es ideal para el rendimiento y la escalabilidad, y además permite un enfoque moderno para la administración de actualizaciones de software. La administración declarativa de dispositivos permite reportar proactivamente el estado de los dispositivos a medida que cambian los valores y las configuraciones. De este modo, una solución de MDM 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, una solución de MDM declara el estado deseado de la versión del sistema operativo y delega la tarea de alcanzar ese estado en el 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
Las soluciones de MDM 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 configurada mediante la administración declarativa de dispositivos, el cliente deja de procesar algunos comandos de MDM, y devuelve errores para comunicar que hay una declaración activa en el dispositivo, como se muestra en la siguiente tabla:
Comando de MDM | Resultado | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Limitado: en macOS, 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 actualizaciones menores, actualizaciones mayores y respuestas rápidas de seguridad disponibles públicamente. Permite que una solución MDM busque versiones en cuanto se publiquen y calcula 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 las soluciones de MDM puedan enviarlas a los dispositivos supervisados.
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
xrOS
(que es visionOS)
{
"AssetSets": {
"iOS": [
{
"ProductVersion": "17.5",
"Build": "21F6079",
"PostingDate": "2024-05-13",
"ExpirationDate": "2024-08-15",
"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,2", "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", "iPad6,11", "iPad6,12", "iPad6,3", "iPad6,4", "iPad6,7", "iPad6,8", "iPad7,1", "iPad7,11", "iPad7,12", "iPad7,2", "iPad7,3", "iPad7,4", "iPad7,5", "iPad7,6", "iPad8,1", "iPad8,10", "iPad8,11", "iPad8,12", "iPad8,2", "iPad8,3", "iPad8,4", "iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8", "iPad8,9", "iPhone10,1", "iPhone10,2", "iPhone10,3", "iPhone10,4", "iPhone10,5", "iPhone10,6", "iPhone11,2", "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"
]
},
Usa la lista de versiones del producto para determinar qué versiones son mayores que la versión actual del sistema operativo del dispositivo y aplican al dispositivo específico. Proporciona esa lista de versiones al administrador de MDM para usarlas como posibles candidatas para la actualización del sistema operativo.
Enviar un informe de estados a la solución de MDM
Para recibir actualizaciones de elementos de estados conforme estos 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
a la solución de MDM 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, la solución de MDM 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, las soluciones de MDM 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 activó una actualización. Este diccionario puede usarse para determinar si un usuario ha iniciado la actualización por su cuenta, si la actualización se realizó automáticamente, o si fue impuesta por 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 a la solución de MDM
Si un dispositivo es compatible con esta capacidad, devuelve una clave MDM_CAN_REQUEST_SOFTWARE_UPDATE con el valor True (verdadero) en los datos MachineInfo
que envía a la solicitud inicial HTTP POST a la solución de MDM 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 | Sistema operativo mínimo compatible | 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. |
Basándose en la información proporcionada, la solución de MDM puede decidir si obliga al dispositivo a actualizarse.
Si una solución de MDM decide no imponer una actualización de software, simplemente devuelve el perfil de inscripción de MDM como respuesta a la solicitud HTTP POST, como haría normalmente para permitir que se lleve a cabo una inscripción de MDM.
Si la solución de MDM decide imponer una actualización de software, entonces 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 la respuesta HTTP Content-Type debe ser
application/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 POST MachineInfo
del dispositivo a la solución de MDM muestra la versión actualizada del sistema operativo, entonces la solución de MDM puede proceder 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. |
Sólo si se especifica la clave OSVersion
, un dispositivo descarga e instala 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, una solución de MDM también puede especificar opcionalmente la clave BuildVersion
. Por ejemplo, para requerir que un dispositivo ejecute iOS 16.5.1(a) antes su inscripción, aun cuando iOS 16.5.1(c) ya está disponible, en la solución de MDM se 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 MDM para las actualizaciones de software
La declaración com.apple.configuration.softwareupdate.settings
(disponible en iOS 18, iPadOS 18 y macOS 15) consta de diccionarios que se pueden usar para configurar varios aspectos del comportamiento de actualización de software.
Después de que una solución de MDM distribuya diferentes claves entre varias declaraciones, un dispositivo fusiona la configuración de todas las declaraciones de configuración de actualizaciones de software activas. En caso de que la misma clave esté configurada por varias declaraciones, el comportamiento de fusión depende de la clave individual y se describe en las siguientes tablas.
Configurar actualizaciones de software automáticas con una solución de MDM
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 y Mac supervisados. Para obtener más información, consulta Claves del diccionario AutomaticActions.
Cómo la solución de MDM administra las respuestas rápidas de seguridad
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, una solución de MDM tenía que activar dos actualizaciones de software para garantizar la presencia de una versión suplementaria específica: primero, debe actualizar el dispositivo a la versión base de la actualización complementaria, si el dispositivo aún no la tiene (por ejemplo, iOS 17.1 a iOS 17.2); y luego debe 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, una solución de MDM puede especificar ya sea:
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 una solución de MDM
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 cuántos días no se ofrece una versión a los usuarios después de que esté disponible públicamente. Independientemente del aplazamiento configurado, una solución de MDM 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 y iPadOS 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 una solución de MDM
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, las soluciones de MDM pueden aplicar la declaración com.apple.configuration.softwareupdate.enforcement.specific
.
Se ignora la configuración si esta especifica un sistema operativo o una versión de fase igual o anterior a la versión disponible actualmente en el dispositivo.
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.
Todas las respuestas rápidas de seguridad disponibles se instalan automáticamente si una solución de MDM define sólo la configuración TargetOSVersion
. Para proporcionar a una versión específica o una respuesta rápida de seguridad, una solución de MDM 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, una solución de MDM 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. Cuando es necesario, el dispositivo usa GetBootstrapTokenRequest
para obtener el identificador de arranque de la solución de MDM.
En el primer paso, la solución de MDM 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 obtener un identificador de arranque creado, la solución de MDM debe agregar com.apple.mdm.bootstraptoken
al conjunto de ServerCapabilities
en el perfil de MDM. Para obtener más información, consulta la página de la carga útil MDM 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. Luego llega al punto final de la solución de MDM y 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.