
Utilizarea gestionării dispozitivelor pentru aplicarea actualizărilor software la dispozitivele Apple
Gestionarea declarativă a dispozitivelor este viitorul gestionării dispozitivelor Apple. Aceasta permite ca un dispozitiv să aplice în mod asincron configurările și să raporteze starea la serviciul de gestionare a dispozitivelor fără o interogare constantă. Acest lucru este ideal pentru performanță și scalabilitate și furnizează, de asemenea, o abordare avansată a gestionării actualizărilor software. Gestionarea declarativă oferă o raportare proactivă a stării dispozitivelor, pe măsură ce se modifică valorile și configurațiile. Astfel, un serviciu de gestionare a dispozitivelor are întotdeauna o viziune actualizată asupra dispozitivelor, fără a fi necesar să trimită interogări regulate.
În loc să trimită către un dispozitiv comanda de actualizare software pentru ca acesta să inițieze actualizarea, serviciul de gestionare a dispozitivelor declară starea versiunii sistemului de operare dorit și deleagă sarcina de realizare a stării respective dispozitivului efectiv. Acest lucru permite un proces mai robust de actualizare software gestionată și o transparență mai mare pentru utilizator.
Importanța exploatării declarațiilor de actualizare software
Serviciile de gestionare a dispozitivelor trebuie să exploateze, ori de câte ori este posibil, declarațiile de actualizare software. Cu toate acestea, comenzile și profilurile vechi de actualizare software sunt disponibile și compatibile în continuare. Acestea pot funcționa împreună cu declarațiile de actualizare software, cu următoarele modificări:
Amânările definite de o declarație au prioritate în fața amânărilor configurate de o restricție.
Configurările de actualizare software automată pe macOS aplicate de o declarație au prioritate în fața configurărilor de actualizare automată furnizate într-un profil de configurare.
Când există o actualizare software în așteptare, pe care sistemul de operare o configurează utilizând gestionarea declarativă a dispozitivelor, clientul nu mai poate procesa unele comenzi de gestionare a dispozitivelor și returnează erori indicând că există o declarație activă pe dispozitiv, după cum se arată în tabelul următor:
Comandă de gestionare a dispozitivelor | Rezultat | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Limitat: pentru computerele Mac, actualizările bazate pe sistemul de operare care nu sunt gestionate ar putea apărea în răspunsul comenzii; de exemplu, în Xcode sau instrumente în linie de comandă. | ||||||||||
| Dispozitivul returnează o eroare | ||||||||||
| Acest dispozitiv returnează o matrice de stare goală. | ||||||||||
Utilizarea Serviciului Apple de căutare software
Serviciul Apple de căutare software (disponibil la https://gdmf.apple.com/v2/pmv) este resursa oficială pentru obținerea unei liste de actualizări, upgrade‑uri și răspunsuri rapide de securitate disponibile public. Acesta permite unui serviciu de gestionare a dispozitivelor să interogheze versiunile noi de îndată ce sunt publicate de Apple și să calculeze aplicabilitatea pentru fiecare model hardware în timp util și precis.
Răspunsul JSON conține trei liste de lansări software disponibile:
PublicAssetSets: Această listă conține cele mai recente versiuni disponibile pentru publicul general dacă acesta încearcă să efectueze o actualizare sau un upgrade.
AssetSets: Această listă este un subset al
PublicAssetSetsși conține toate versiunile disponibile pentru a fi trimise pe dispozitive de către serviciile de gestionare a dispozitivelor.PublicRapidSecurityResponses: Această listă conține lansările de tip răspuns rapid de securitate disponibile în prezent pentru dispozitivele Apple.
Fiecare element din listă conține numărul de versiune (ProductVersion) și de compilare (Build) al sistemului de operare, data publicării versiunii (PostingDate), data expirării (ExpirationDate) și o listă de dispozitive compatibile (SupportedDevices) cu versiunea respectivă. Lista dispozitivelor realizează corespondența valorii ProductName de pe dispozitiv, care se returnează într‑un răspuns DeviceInformation, în solicitarea inițială Authenticate sau în MachineInfo când dispozitivul încearcă să se înscrie.
Data expirării, configurată în mod normal la 180 de zile de la data postării, definește data la care expiră semnarea actualizării. O actualizare expirată nu mai poate fi instalată pe dispozitive. Când sunt disponibile actualizări ulterioare, datele de expirare ale actualizărilor anterioare ar putea fi actualizate. Dacă nu se menționează o dată de expirare, actualizarea nu a expirat. O actualizare a expirat doar atunci când data sa de expirare este în trecut.
Materialele sunt grupate în funcție de platforma sistemului de operare folosind cheile următoare:
iOS(care include iPadOS, tvOS și watchOS)macOSvisionOS
{ "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" ] },Utilizați lista versiunilor de produs pentru a determina ce versiuni sunt mai noi decât versiunea actuală a sistemului de operare al dispozitivului și sunt aplicabile unui dispozitiv anume. Furnizați apoi administratorului serviciului de gestionare a dispozitivelor lista versiunilor drept potențiali candidați pentru actualizări ale sistemului de operare.
Trimiterea unui raport de stare către serviciul de gestionare a dispozitivelor
Pentru a primi actualizări despre articolele de stare pe măsură ce acestea se modifică, serverul trebuie să se aboneze la fiecare raport de stare trimițând către dispozitiv o declarație ManagementStatusSubscriptions. Dispozitivul trimite apoi un StatusReport către serviciul de gestionare a dispozitivelor când o declarație ManagementStatusSubscriptions devine activă, dacă s-a modificat starea unui articol la care s-a abonat și la fiecare 24 de ore.
În scopul monitorizării versiunilor sistemului de operare și a stării actualizării software, serviciul de gestionare a dispozitivelor poate alege să se aboneze la următoarele rapoarte de stare:
Raport de stare | Descriere |
|---|---|
| Versiunea build a sistemului de operare pe dispozitiv (de exemplu, 21E219). |
| Versiunea sistemului de operare în uz pe dispozitiv (de exemplu, 17.4). |
| Versiunile build ale sistemului de operare și răspunsului rapid de securitate în uz pe dispozitiv (de exemplu, 20A123a sau 20F75c). |
| Versiunea răspunsului rapid de securitate al sistemului de operare în uz pe dispozitiv (de exemplu, a). |
| Un dicționar care conține versiunile build și ale sistemului de operare ale actualizării software care este în așteptare pe dispozitiv. |
| Starea instalării actualizării software, care are următoarele valori:
|
| Un dicționar cu detalii despre motivul pentru care o actualizare software este în așteptare. Cheia
|
| Detalii despre eșecul actualizării software. Aceste detalii includ: de câte ori a eșuat actualizarea software, marcajul temporal al ultimului eșec și motivul pentru care procesul a eșuat. |
| Numele programul beta în care este înscris dispozitivul sau un șir gol dacă nu este înscris în niciun program beta. |
Pe lângă alte rapoarte, serviciile de gestionare a dispozitivelor ar putea alege să pună softwareupdate.install-reason la dispoziția administratorilor pentru asistență și pentru a furniza o imagine suplimentară privind modul în care este efectuată o actualizare. Puteți utiliza acest dicționar pentru a determina dacă un utilizator inițiază actualizarea, dacă actualizarea are loc automat sau dacă este inițiată de o declarație de impunere a actualizării software.
Impunerea unei versiuni minime specifice de software în timpul înscrierii
Dacă un dispozitiv este compatibil cu această capacitate, acesta returnează o cheie MDM_CAN_REQUEST_SOFTWARE_UPDATE, configurată la True, în datele MachineInfo pe care le trimite în solicitarea HTTP POST inițială către serviciul de gestionare a dispozitivelor atunci când dispozitivul detectează o configurație de gestionare în Asistent configurare. Pentru informații suplimentare, consultați Fișierul MachineInfo yaml în Depozitul GitHub pentru gestionarea dispozitivelor Apple.
În plus, dispozitivele furnizează următoarele câmpuri în datele MachineInfo (toate șirurile) :
Cheie | Versiuni minime acceptate ale sistemului de operare | Descriere | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Versiunea build instalată pe dispozitiv (de exemplu, 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Versiunea sistemului de operare instalată pe dispozitiv (de exemplu, 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Versiunea răspunsului rapid de securitate pe dispozitiv (dacă este disponibilă). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Versiunea extra a răspunsului rapid de securitate pe dispozitiv (dacă este disponibilă). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Identificatorul modelului dispozitivului utilizat pentru căutarea actualizărilor disponibile pentru sistemul de operare în Serviciul Apple de căutare software. | |||||||||
Pe baza informațiilor furnizate, serviciul de gestionare a dispozitivelor poate decide dacă impune sau nu actualizarea dispozitivului.
Dacă un serviciu de gestionare a dispozitivelor alege să nu impună o actualizare software, acesta returnează pur și simplu profilul de înscriere ca răspuns la solicitarea
HTTP POST, așa cum procedează pentru a permite continuarea înscrierii.Dacă serviciul de gestionare a dispozitivelor alege să impună o actualizare software, acesta trebuie să returneze un răspuns
HTTPcu codul de stare 403 și să includă un obiect JSON sau XML în corpul de răspuns (antetul de răspunsHTTP Content-Typetrebuie să fie configurat laapplication/jsonsau, respectiv,application/xml).
După primirea acestui răspuns de eroare, dispozitivul încearcă să efectueze actualizarea la versiunea specificată. Dacă actualizarea se realizează cu succes, dispozitivul repornește și utilizatorul trebuie să treacă din nou prin Asistent configurare. Următoarea solicitare MachineInfo POST din partea dispozitivului către serviciul de gestionare a dispozitivelor afișează versiunea actualizată a sistemului de operare, iar serviciul poate continua apoi cu înscrierea. Dacă actualizarea eșuează, este afișat un mesaj de eroare pentru utilizator și panoul Gestionare de la distanță apare din nou în Asistent configurare.
Schema de răspuns este definită în tabelul de mai jos.
Cheie | Tip | Obligatoriu | Descriere | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Șir | Da | Trebuie configurat la | ||||||||
| Șir | Nu | Descrierea erorii. Utilizată doar pentru înregistrarea în jurnal. | ||||||||
| Șir | Nu | Descrierea erorii potrivită pentru a fi afișată utilizatorului. | ||||||||
| Dicționar | Da | Date suplimentare care specifică actualizarea software. | ||||||||
Schema dicționarului detalii este definită aici.
Cheie | Tip | Obligatoriu | Descriere | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Șir | Da | Versiunea a sistemului de operare la care dispozitivul trebuie să se actualizeze. | ||||||||
| Șir | Nu | Versiunea build la care dispozitivul trebuie să se actualizeze. | ||||||||
| Dicționar | Nu | Dispozitivul este înscris în programul beta, permițând actualizări software impuse la versiuni ale sistemului de operare al programului beta. Dispozitivul rămâne în programul beta după finalizarea actualizării software impuse. | ||||||||
Dacă specificați doar OSVersion, dispozitivul descarcă și instalează automat orice răspuns rapid de securitate disponibil pentru această versiune. Dacă este necesar un anumit build sau o versiune suplimentară, un serviciu de gestionare a dispozitivelor poate, de asemenea, specifica opțional BuildVersion. De exemplu, pentru a impune ca un dispozitiv să ruleze iOS 16.5.1(a) înainte de înscriere (deși este deja disponibilă și versiunea iOS 16.5.1(c)), un serviciu de gestionare a dispozitivelor trebuie să configureze OSVersion la iOS 16.5.1 și BuildVersion la 20F770750b.
Important: anterior versiunii macOS 15, doar versiunile din listele PublicAssetSets și PublicRapidSecurityResponses pot fi specificate. În macOS 15, materialele din AssetSets pot fi, de asemenea, utilizate.
Configurările de gestionare a dispozitivelor pentru actualizările software
Declarația com.apple.configuration.softwareupdate.settings (disponibilă în iOS 18, iPadOS 18, macOS 15, tvOS 18.4 sau versiuni ulterioare) constă în dicționarele care pot fi utilizate pentru a configura diferite aspecte ale comportamentului de actualizare software.
După ce un serviciul de gestionare a dispozitivelor distribuie diferite chei între mai multe declarații, un dispozitiv comasează configurările tuturor declarațiilor configurărilor actualizărilor software active. Dacă mai multe declarații configurează aceeași cheie, comportamentul de comasare depinde de cheia individuală și este evidențiat în tabelele de mai jos.
Configurarea actualizărilor software automate cu gestionarea dispozitivelor
Declarația com.apple.configuration.softwareupdate.settings oferă un dicționar pentru definirea comportamentului de actualizare software automată pe dispozitivele iPhone, iPad, Apple TV și Mac supervizate. Pentru mai multe informații, consultați Cheile dicționarului AutomaticActions.
Modul în care un serviciu de gestionare a dispozitivelor gestionează răspunsurile rapide de securitate
Răspunsurile rapide de securitate aplică întotdeauna cea mai recentă actualizare a sistemului de operare, care devine versiunea de bază a răspunsului rapid de securitate. De exemplu, dacă un iPhone are instalată versiunea sistemului de operare iOS 17.2, acesta aplică actualizarea suplimentară 17.2 (a) dacă este disponibilă. În iOS 18, iPadOS 18 și macOS 15, au devenit disponibile actualizările combinate, care permit ca o actualizare software să includă toate răspunsurile rapide de securitate disponibile.
Anterior versiunilor iOS 18, iPadOS 18 și macOS 15, un serviciu de gestionare a dispozitivelor ar putea necesita să declanșeze două actualizări software pentru a se asigura că versiunea suplimentară specifică este prezentă. Mai întâi, trebuie să actualizeze dispozitivul la versiunea de bază a actualizării suplimentare, dacă pe dispozitiv nu este deja versiunea de bază respectivă (de exemplu, de la iOS 17.1 la iOS 17.2). Apoi trebuie să actualizeze versiunea de bază la versiunea suplimentară (de exemplu, de la iOS 17.2 la iOS 17.2 (a)).
În iOS 18, iPadOS 18 și macOS 15, un serviciu de gestionare a dispozitivelor poate specifica una dintre următoarele:
Versiunea sistemului de operare (care instalează automat răspunsurile rapide de securitate disponibile)
Versiunea build suplimentară (care determină ca dispozitivul să efectueze automat o actualizare necesară la versiunea de bază ca parte a acestui proces)
Aceste două abordări se aplică la configurația de impunere a actualizării software și la versiunea minimă impusă în timpul înscrierii automate a dispozitivelor.
Declarația com.apple.configuration.softwareupdate.settings poate fi, de asemenea, utilizată pentru a configura comportamentul răspunsului rapid de securitate pe dispozitivele iPhone, iPad și Mac supervizate. Pentru mai multe informații, consultați Cheile dicționarului RapidSecurityResponse pentru iOS, iPadOS și macOS.
Amânarea unei actualizări software cu gestionarea dispozitivelor
Amânarea unei actualizări sau unui upgrade software cu 1 până la 90 de zile se realizează utilizându‑se declarația com.apple.configuration.softwareupdate.settings pe dispozitivele iPhone, iPad și Mac supervizate.
O amânare configurată definește numărul de zile înainte ca o organizație să ofere utilizatorilor o versiune după ce aceasta devine disponibilă public. Independent de amânarea configurată, un serviciu de gestionare a dispozitivelor poate impune în continuare o anumită actualizare software, un upgrade sau un răspuns rapid de securitate pe dispozitivele gestionate. Pentru informații suplimentare, consultați Cheile dicționarului Deferrals pentru iOS, iPadOS și tvOS și Cheile dicționarului Deferrals pentru macOS.
Notă: amânarea actualizărilor software duce și la amânarea tuturor răspunsurilor rapide de securitate care sunt dependente de respectiva versiune.
Impunerea actualizărilor software cu gestionarea dispozitivelor
Pentru a impune o actualizare software cu o anumită perioadă de timp pe dispozitivele înscrise utilizând înscrierea dispozitivelor sau înscrierea automată a dispozitivelor, serviciile de gestionare a dispozitivelor pot aplica declarația com.apple.configuration.softwareupdate.enforcement.specific.
Dacă o configurație este aplicată unui dispozitiv care specifică o versiune a sistemului de operare sau de build care este aceeași sau mai veche decât versiunea curentă, dispozitivul returnează o eroare în raportul de stare.
Dacă sunt prezente mai multe configurații cu o versiune mai nouă a sistemului de operare sau de build față de versiunea curentă de pe dispozitiv, este procesată mai întâi configurația cu cea mai recentă dată și oră țintă și toate celelalte rămân în coada de așteptare. Când dispozitivul se actualizează la o versiune nouă, setul de configurații este reprocesat pentru a se determina care va fi următoarea versiune de procesat. În cadrul acestui proces, dispozitivul ignoră orice configurații existente care specifică o versiune mai veche sau identică cu versiunea curentă.
Sistemul de operare instalează automat orice răspuns rapid de securitate disponibil dacă un serviciu de gestionare a dispozitivelor definește doar TargetOSVersion. Pentru a ținti o anumită versiune sau un anumit răspuns rapid de securitate, un serviciu de gestionare a dispozitivelor poate utiliza cheia TargetBuildVersion pe lângă specificarea build‑ului, inclusiv identificatorului suplimentar al versiunii.
Pentru informații suplimentare, consultați Cheile dicționarului Impunerea actualizărilor software.
Notificări
Cheia Notificări schimbă comportamentul implicit al notificărilor, pentru a afișa doar o notificare cu 1 oră înainte de momentul impunerii și numărătoarea inversă pentru repornire. Pentru mai multe informații, consultați Cheile Notificări.
Utilizarea tokenului de amorsare pentru computere Mac cu cip Apple
Petru a autoriza o actualizare software impusă pe un computer supervizat Mac cu cip Apple, un serviciu de gestionare a dispozitivelor poate solicita și plasa în custodie un token de amorsare. Acest lucru permite o experiență de actualizare software complet fără întreruperi și evită necesitatea ca utilizatorul să interacționeze ca parte din proces. La nevoie, dispozitivul utilizează o solicitare GetBootstrapTokenRequest pentru a prelua tokenul de amorsare de la serviciul de gestionare a dispozitivelor.
La primul pas, serviciul de gestionare a dispozitivelor determină dacă dispozitivul este compatibil cu tokenul de amorsare utilizând comanda SecurityInfo. Dacă răspunsul include un BootstrapTokenRequiredForSoftwareUpdate care este configurat la true, dispozitivul poate utiliza tokenul de amorsare a autoriza o actualizare software.
Pentru a crea un token de amorsare, serviciul de gestionare a dispozitivelor trebuie să adauge com.apple.mdm.bootstraptoken la matricea ServerCapabilities în profilul de gestionare a dispozitivelor. Pentru mai multe informații, consultați Profilul de gestionare a dispozitivelor pe site-ul web al dezvoltatorilor Apple.
După ce dispozitivul primește tokenul de amorsare, acesta creează un token de amorsare data viitoare când se autentifică un utilizator cu token securizat activat. Acesta comunică apoi cu punctul final de verificare a serviciului de gestionare a dispozitivelor solution și plasează în custodie tokenul utilizând o solicitare SetBootstrapTokenRequest. Pentru mai multe informații, consultați Configurarea tokenului de amorsare pe site-ul web al dezvoltatorilor Apple.
Pentru cele mai actuale specificații ale schemei, consultați Depozitul GitHub pentru gestionarea dispozitivelor Apple.