Використання MDM для розгортання оновлень програмного забезпечення на пристроях Apple
Декларативне керування пристроями є майбутнім системи керування пристроями Apple. Цей підхід дає пристрою змогу асинхронно застосовувати параметри та звітувати про статус рішенню керування мобільними пристроями (MDM) без постійного опитування. Ця система ідеально підходить для підвищення продуктивності та масштабованості, а також забезпечує сучасний підхід до керування оновленнями ПЗ. Декларативне керування пристроями забезпечує випереджувальний підхід до звітування про статус пристроїв під час змінення значень і конфігурацій. У такий спосіб рішення MDM завжди має актуальні відомості про пристрої, не застосовуючи регулярне опитування.
Замість надсилання команди ініціалізації оновлення ПЗ на пристрій, рішення MDM оголошує статус потрібної версії операційної системи та делегує виконання цього статусу пристрою. Це забезпечує стійкіший процес керованого оновлення ПЗ та більшу прозорість.
Важливість використання декларацій оновлення ПЗ
Рішення MDM за можливості мають використовувати декларації оновлення ПЗ. Однак попередні команди оновлення ПЗ та профілі досі доступні та підтримуються. Вони можуть працювати разом із деклараціями оновлення ПЗ, якщо застосовано такі зміни:
Визначені декларацією відтермінування мають пріоритет над відтермінуваннями, які сконфігуровані обмеженням.
Параметри автоматичних оновлень ПЗ в macOS, застосовані декларацією, мають пріоритет над параметрами автоматичних оновлень, які забезпечує профіль конфігурації.
Якщо наявне незастосоване оновлення ПЗ, налаштоване декларативним керуванням пристроями, деякі команди MDM не оброблюватимуться клієнтом, що повертатиме помилки про наявність активної декларації на пристрої як показано в таблиці нижче.
Команда MDM | Результат | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Обмежено: у macOS некеровані оновлення на основі операційної системи можуть зʼявлятися у відповіді команди, наприклад в Xcode чи інструментах командного рядка. | ||||||||||
| Пристрій повертає помилку | ||||||||||
| Пристрій повертає пустий масив стану. |
Використання служби Apple Software Lookup
Сервіс Apple Software Lookup (доступний за адресою https://gdmf.apple.com/v2/pmv) є офіційним ресурсом з отримання списку загальнодоступних оновлень, удосконалень і швидких безпекових оновлень. Він дає змогу рішенню MDM опитувати випуски одразу після публікації й вчасно та точно обчислювати застосовність кожної моделі обладнання.
Відповідь JSON містить три списки доступних випусків програмного забезпечення:
PublicAssetSets. Цей список містить останні випуски, доступні назагал для спроб оновлення чи модернізації.
AssetSets. Цей список є підмножиною PublicAssetSets і містить всі випуски, доступні для запуску на керованих пристроях за допомогою рішення MDM.
PublicRapidSecurityResponses. Цей список містить випуски швидких безпекових оновлень, доступні на даний момент для пристроїв Apple.
Кожен елемент у списку містить номер версії продукту ProductVersion
та збірки операційної системи Build
, дату публікації випуску PostingDate
, термін дії ExpirationDate
, а також список підтримуваних цим випуском пристроїв SupportedDevices
. Список пристроїв відповідає значенню ProductName
цього пристрою, який повертається у відповідь на DeviceInformation
, початковий запит Authenticate
або в MachineInfo
, коли пристрій намагається зареєструватися.
Термін дії зазвичай становить 180 днів після дати публікації та визначає дату, до якої діє підпис оновлення. Протерміноване оновлення не можна інсталювати на пристрої. Коли випускаються наступні оновлення, термін дії попередніх оновлень може оновлюватися. Якщо термін дії не вказано, оновлення ще актуальне. Термін дії завершився лише в тому випадку, якщо дата завершення терміну дії в минулому.
Ресурси групуються за платформою операційної системи за допомогою таких ключів:
iOS
(зокрема iPadOS, tvOS і watchOS)macOS
xrOS
(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"
]
},
Використовуйте список версій продукту, щоб визначити, які версії є новішими за актуальну версію операційної системи пристрою, і які застосовні до певного пристрою. Надайте цей список адміністратору MDM як пропозицію варіантів оновлення операційної системи.
Надсилання звіту про статус у рішення MDM
Щоб отримувати оновлення про зміну статусу елементів, сервер потрібно підписати на відповідні звіти декларацією ManagementStatusSubscriptions
для пристрою. Відтак пристрій надсилає StatusReport
у рішення MDM, коли декларація ManagementStatusSubscriptions
активується, якщо статус підписаного елемента змінюється, а також кожні 24 години.
З метою моніторингу версій операційної системи та статусу оновлень ПЗ рішення MDM можна підписати на наведені нижче звіти про статус.
Звіт про статус | Опис |
---|---|
| Версія збірки операційної системи на пристрої (наприклад, 21E219). |
| Версія операційної системи пристрою (наприклад, 17.4). |
| Версії збірки операційної системи та швидких безпекових оновлень, наприклад 20A123a або 20F75c. |
| Версія швидкого безпекового оновлення операційної системи, яка використовується на пристрої (наприклад, a). |
| Словник, який містить версії оновлення ПЗ збірки та операційної системи, що очікують на інсталювання на пристрої. |
| Стан інсталювання оновлення ПЗ з такими значеннями:
|
| Словник із відомостями про причину очікування оновлення ПЗ. Ключ
|
| Надає відомості про помилку оновлення ПЗ. Відомості містять кількість помилок оновлення ПЗ, позначку часу останньої помилки, а також причину помилки. |
| Назва програми бета-тестування, у якій зареєстровано пристрій. Рядок пустий, якщо реєстрація відсутня. |
Окрім інших звітів, у рішенні MDM варто дозволити адміністраторам доступ до softwareupdate.install-reason
, щоб забезпечити кращу підтримку та докладніші відомості про ініціалізацію оновлення. За допомогою цього словника можна визначати, чи користувач сам ініціював оновлення, чи оновлення відбулося автоматично, або чи було воно запроваджено декларацією запровадження оновлення ПЗ.
Запит на певну мінімальну версію ПЗ під час реєстрації в MDM
Якщо пристрій підтримує цю функцію, він повертає ключ MDM_CAN_REQUEST_SOFTWARE_UPDATE зі значенням True (Так) у даних MachineInfo
, які надсилаються в початковому запиті HTTP POST у рішення MDM, коли пристрій виявляє конфігурацію керування в Асистенті налаштування. Більше інформації наведено в розділі Файл MachineInfo yaml сховища GitHub для рішення керування пристроями Apple.
Крім того, пристрої подають наведені нижче поля в даних MachineInfo
(усі рядки):
Ключ | Мінімальна підтримувана операційна система | Опис | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Версія інстальованої на пристрої збірки (наприклад, 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Версія операційної системи, інстальованої на пристрої (наприклад, 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Версія швидкого безпекового оновлення пристрою (за наявності). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Додаток до версії швидкого безпекового оновлення пристрою (за наявності). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Ідентифікатор моделі пристрою, який було використано для пошуку доступних версій операційної системи в службі Apple Software Lookup. |
На основі поданої інформації рішення MDM зможе вирішити, чи потрібно запроваджувати оновлення на пристрої.
Якщо рішення MDM вирішить не запроваджувати оновлення ПЗ, воно як зазвичай просто поверне профіль реєстрації MDM у відповідь на запит HTTP POST, щоб дозволити реєстрацію в MDM.
Якщо рішення MDM вирішить запровадити оновлення ПЗ, воно має повернути відповідь HTTP з кодом 403, а також додати обʼєкт JSON чи XML у тіло відповіді (заголовком відповіді HTTP Content-Type має бути
application/json
чиapplication/xml
відповідно).
Отримавши відповідь про цю помилку, пристрій спробує оновитися до вказаної версії. Якщо оновлення завершиться успішно, пристрій перезапуститься, а користувачу потрібно буде знову скористатися асистентом налаштування. Наступний запит MachineInfo
POST із пристрою до рішення MDM покаже версію оновленої операційної системи, а рішення MDM зможе продовжувати реєстрацію в MDM. Якщо оновитися не вдасться, користувач побачить помилку, а в асистенті налаштування знову зʼявиться панель віддаленого керування.
Схема response
визначається в таблиці нижче.
Ключ | Тип | Обов’язково | Опис | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Рядок | Так | Має бути вказано | ||||||||
| Рядок | Ні | Опис помилки. Використовується лише для журналювання. | ||||||||
| Рядок | Ні | Опис помилки, придатний для демонстрації користувачу. | ||||||||
| Словник | Так | Додаткові дані щодо оновлення ПЗ. |
Схема словника details
визначається тут.
Ключ | Тип | Обов’язково | Опис | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Рядок | Так | Версія операційної системи, до якої має оновитися пристрій. | ||||||||
| Рядок | Ні | Версія збірки, до якої має оновитися пристрій. | ||||||||
| Словник | Ні | Пристрій реєструється в програмі бета-тестування, що дає змогу запроваджувати оновлення ПЗ до бета-версій операційних систем. Пристрій залишається в програмі бета-тестувань після запровадження оновлення ПЗ. |
Якщо вказано лише OSVersion
, пристрій автоматично викачуватиме та інсталюватиме всі швидкі безпекові оновлення, доступні для цієї версії. Якщо є потреба в певній збірці чи допоміжній версії, рішення MDM може додатково вказати BuildVersion
. Наприклад, щоб зобовʼязати пристрій використовувати iOS 16.5.1(a) до реєстрації, якщо вже доступна iOS 16.5.1(c), рішення MDM для OSVersion
має вказати iOS 16.5.1, а для BuildVersion
— 20F770750b.
Важливо! У системах до macOS 15 можна вказувати випуски лише зі списків PublicAssetSets
і PublicRapidSecurityResponses
. У macOS 15 можна також використовувати ресурси з AssetSets
.
Параметри MDM для оновлень ПЗ
Декларація com.apple.configuration.softwareupdate.settings
(доступна в iOS 18, iPadOS 18 та macOS 15) складається зі словників, які можна використовувати для настроювання різних аспектів поведінки оновлення ПЗ.
Після того як рішення MDM розповсюдить різні ключі серед кількох декларацій, пристрій обʼєднує параметри для всіх активних декларацій параметрів оновлень ПЗ. Якщо той самий ключ налаштований кількома деклараціями, поведінка обʼєднання залежатиме від окремого ключа як описано в таблицях нижче.
Налаштування автоматичних оновлень ПЗ за допомогою MDM
Декларація com.apple.configuration.softwareupdate.settings
пропонує словник для визначення поведінки автоматичного оновлення ПЗ на пристроях iPhone, iPad і Mac під наглядом. Докладну інформацію наведено в статті Ключі словника AutomaticActions.
Як MDM оброблює швидкі безпекові оновлення
Швидкі безпекові оновлення завжди застосовуються до найновішого оновлення операційної системи, яка стає базовою версією швидкого безпекового оновлення. Наприклад, якщо на iPhone інстальовано версію операційної системи iOS 17.2, застосовується допоміжне оновлення 17.2 (a), якщо воно доступне. В iOS 18, iPadOS 18 і macOS 15 дозволено сукупні оновлення, що уможливлює наявність швидких безпекових оновлень у будь-якому оновленні ПЗ.
У системах до версій iOS 18, iPadOS 18 і macOS 15 рішенню MDM потрібно ініціювати два окремі оновлення ПЗ, щоб забезпечити наявність потрібної допоміжної версії. Спершу потрібно оновити пристрій до базової версії допоміжного оновлення, якщо цього ще не зроблено (наприклад, iOS 17.1 до iOS 17.2), а потім базову версію потрібно оновити до допоміжної версії (наприклад, iOS 17.2 до iOS 17.2 (a)).
В iOS 18, iPadOS 18 і macOS 15 рішення MDM може вказати:
Версію операційної системи (що призведе до автоматичного інсталювання доступних швидких безпекових оновлень)
Версію допоміжної збірки (що в процесі призведе до автоматичного оновлення пристрою до базової версії)
Ці два підходи застосовуються до конфігурації запровадження оновлення ПЗ, а також до запровадженої мінімальної версії під час автоматичної реєстрації пристрою.
Декларацію com.apple.configuration.softwareupdate.settings
також можна використовувати для настроювання поведінки швидких безпекових оновлень на пристроях iPhone, iPad і Mac під наглядом. Докладну інформацію наведено в статті Ключі словника RapidSecurityResponse для iOS, iPadOS і macOS.
Відкладання оновлення ПЗ за допомогою MDM
Відтермінування оновлень ПЗ чи системи від 1 до 90 днів виконується за допомогою декларації com.apple.configuration.softwareupdate.settings
на пристроях iPhone, iPad і Mac під наглядом.
Налаштоване відтермінування визначає період, протягом якого випущена версія не пропонуватиметься користувачам. Незалежно від налаштованого відтермінування рішення MDM усе одно може запроваджувати певні оновлення Пз, оновлення системи чи швидкі безпекові оновлення на пристроях під наглядом. Більше інформації наведено в статтях Ключі словника відтермінувань для iOS та iPadOS і Ключі словника відтермінувань для macOS.
Примітка. Відтермінування оновлень ПЗ також відтерміновує швидкі безпекові оновлення, які залежать від тієї версії.
Запровадження оновлень ПЗ за допомогою MDM
Щоб запровадити оновлення ПЗ у певний час на пристроях, які зареєстровано шляхом реєстрації пристрою чи автоматизованої реєстрації пристрою, рішення MDM може застосувати декларацію com.apple.configuration.softwareupdate.enforcement.specific
.
Якщо конфігурація вказує операційну систему або версію збірки, яка така сама чи старіша за поточну версію пристрою, тоді конфігурація ігнорується.
Якщо в новішій версії операційної системи чи збірки, ніж поточна, присутні кілька конфігурацій, конфігурація з найбільш ранньою цільовою датою та часом обробляється першою, а інші залишаються в черзі. Коли пристрій оновлюється до нової версії, відбувається повторна обробка набору конфігурацій для визначення черговості обробки.
Доступні швидкі безпекові оновлення автоматично інсталюються, якщо рішення MDM визначає лише TargetOSVersion
. Щоб вибрати певний випуск чи швидке безпекове оновлення, рішення MDM може використовувати ключ TargetBuildVersion
додатково до визначення збірки, включно з допоміжним ідентифікатором версії.
Докладну інформацію наведено в статті Ключі словника запровадження оновлень ПЗ.
Сповіщення
Ключ Notifications (Сповіщення) змінює стандартну поведінку сповіщень так, щоб відображати сповіщення за 1 годину до часу запровадження і початку відліку до перезавантаження. Докладну інформацію наведено в статті Ключ Notifications (Сповіщення).
Використання токена самозавантаження для компʼютерів Mac із процесором Apple
Щоб авторизувати запроваджуване оновлення ПЗ на компʼютері Mac із процесором Apple під наглядом, рішення MDM може запитувати депонування токена самозавантаження. Це забезпечує абсолютно безперешкодний процес оновлення ПЗ і дає змогу уникнути взаємодії користувача під час цього процесу. За потреби пристрій використовує GetBootstrapTokenRequest
, щоб отримувати токен самозавантаження з рішення MDM.
Під час першого кроку рішення MDM визначає, чи підтримує пристрій токен самозавантаження за допомогою команди SecurityInfo
. Якщо відповідь містить BootstrapTokenRequiredForSoftwareUpdate
зі значенням «так», пристрій може використовувати токен самозавантаження для авторизації оновлення ПЗ.
Щоб створити токен самозавантаження, рішення MDM має додати com.apple.mdm.bootstraptoken
до масиву ServerCapabilities
у профілі MDM. Більше інформації наведено в статті Набір даних MDM на вебсайті Apple Developer.
Після того, як пристрій отримає токен самозавантаження, він створює токен самозавантаження, коли наступного разу користувач із підтримкою токена безпеки входить у систему. Відтак пристрій звертається до кінцевої точки реєстрації рішення MDM і депонує токен за допомогою SetBootstrapTokenRequest
. Більше інформації наведено в статті Налаштування токена самозавантаження на вебсайті Apple Developer.
Найбільш актуальну специфікацію схеми наведено в розділі сховища GitHub для рішення керування пристроями Apple.