Bruk MDM til å rulle ut programvareoppdateringer til Apple-enheter
Deklarativ enhetsadministrering er fremtiden for Apple-enhetsadministrering. Det tillater at enheten legger til innstillinger asynkront og rapporterer status tilbake til MDM-løsningen uten konstant spørring. Dette er optimalt for ytelse og skalerbarhet, og det gir også en moderne tilnærming for å administrere programvareoppdateringer. Deklarativ enhetsadministrering gir proaktiv statusrapportering fra enheter når verdier og konfigurasjoner endres. På denne måten har en MDM-løsning alltid en oppdatert oversikt over enheter uten å måtte utføre regelmessige spørringer.
I stedet for å sende en kommando for oppdatering av programvare til en enhet for å starte en oppdatering, kan en MDM-løsning deklarere ønsket tilstand for operativsystemversjon, og deretter delegere oppgaven for å oppnå den tilstanden, til enheten. Dette fører til mer robust administrasjon av programvareoppdateringsprosessen samt bedre klarhet for brukeren.
Viktigheten av å bruke deklarasjoner for programvareoppdatering
MDM-løsninger bør bruke deklarasjoner for programvareoppdatering når det er mulig. Men de eldre kommandoene og profilene for programvareoppdatering er fortsatt tilgjengelige, og de støttes fortsatt. De kan brukes sammen med deklarasjoner for programvareoppdatering med følgende endringer:
Utsettelser som defineres av en deklarasjon, overstyrer utsettelser som er konfigurert av en restriksjon.
Innstillinger for automatisk programvareoppdatering på macOS som er angitt av en deklarasjon, overstyrer innstillinger for automatisk oppdatering som er angitt av en konfigurasjonsprofil.
Når det finnes en ventende programvareoppdatering som er konfigurert ved hjelp av deklarativ enhetsadministrasjon, vil ikke lenger enkelte MDM-kommandoer behandles av klienten. Det utløser feil som informerer om at det finnes en aktiv deklarasjon på enheten, som vist i følgende tabell:
MDM-kommando | Resultat | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Begrenset: I macOS kan operativsystembaserte oppdateringer som ikke er administrert, vises i kommandosvaret, for eksempel iXcode eller kommandolinjeverktøy. | ||||||||||
| Enheten returnerer en | ||||||||||
| Enheten returnerer en tom statusmatrise. |
Bruke Apples programvaresøketjeneste
Apple Software Lookup Service (tilgjengelig på https://gdmf.apple.com/v2/pmv) er den offisielle ressursen for å få en liste over offentlig tilgjengelige oppdateringer, oppgraderinger og kritiske sikkerhetsoppdateringer. Den lar en MDM-løsning forespørre versjoner når de publiseres, og beregne om de kan brukes for hver maskinvaremodell, på en korrekt måte og innen rimelig tid.
JSON-svaret inneholder tre lister med tilgjengelige programvarelanseringer:
PublicAssetSets: Denne listen inneholder de nyeste versjonene som er tilgjengelig for vanlige brukere hvis de prøver å oppdatere eller oppgradere.
AssetSets: Denne listen er et delsett av PublicAssetSets og inneholder alle versjonene som er tilgjengelige for MDM-løsninger som kan sende dem til enheter under tilsyn.
PublicRapidSecurityResponses: Denne listen inneholder kritiske sikkerhetsoppdateringer som for tiden er tilgjengelig for Apple-enheter.
Hvert element i listen inneholder ProductVersion
-nummeret og Build
for operativsystemet, PostingDate
for når versjonen ble publisert, ExpirationDate
og en liste over SupportedDevices
for versjonen. Enhetslisten stemmer overens med ProductName
-verdien fra enheten, som returneres i et DeviceInformation
-svar, den første Authenticate
-forespørselen eller i MachineInfo
når enheten prøver å registrere seg.
Utløpsdatoen, som vanligvis settes til 180 dager etter publiseringsdatoen, definerer datoen som signeringen av oppdateringen utløper. En utløpt oppdatering kan ikke lenger installeres på enheter. Når etterfølgende oppdateringer blir tilgjengelig, kan utløpsdatoene for tidligere oppdateringer oppdateres. Hvis det ikke er oppgitt en utløpsdato, har ikke oppdateringen utløpt. En oppdatering utløper kun når den har en utløpsdato som har vært.
Ressursene grupperes etter operativsystemplattform ved hjelp av disse nøklene:
iOS
(som inkluderer iPadOS, tvOS og watchOS)macOS
xrOS
(som er 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"
]
},
Bruk produktversjonslisten for å fastslå hvilke versjoner som er større enn enhetens gjeldende operativsystemversjon, og som gjelder for en bestemt enhet. Gi listen med versjoner til MDM-administratoren som potensielle kandidater for oppdatering av operativsystemet.
Sende en statusrapport til MDM-løsningen
For å motta oppdateringer for statusobjekter når de endres må tjeneren abonnere på hver statusrapport ved å sende en ManagementStatusSubscriptions
-deklarasjon til enheten. Deretter sender enheten en StatusReport
til MDM-løsningen når en ManagementStatusSubscriptions
-deklarasjon blir aktiv, hvis statusen for et abonnert objekt endres samt hver 24. time.
For å overvåke operativsystemversjoner og status for programvareoppdatering kan MDM-løsningen abonnere på følgende statusrapporter:
Statusrapport | Beskrivelse |
---|---|
| Operativsystemets byggversjon på enheten (for eksempel 21E219). |
| Operativsystemets versjon som er i bruk på enheten (for eksempel 17.4). |
| Operativsystemets bygg- og kritisk sikkerhetsoppdatering-versjoner som brukes på enheten, for eksempel (20A123a eller 20F75c). |
| Operativsystemets kritisk sikkerhetsoppdatering-versjon som brukes på enheten (for eksempel a). |
| En ordliste som inneholder bygg- og operativsystemversjonene for programvareoppdateringen som venter på enheten. |
| Installasjonsstatusen for programvareoppdatering, som har følgende verdier:
|
| En ordliste med informasjon om årsaken for en ventende programvareoppdatering.
|
| Informasjon om en mislykket programvareoppdatering. Informasjonen inkluderer hvor mange ganger programvareoppdateringen har mislyktes, tidspunktet den mislyktes sist, samt grunnen til at den mislyktes. |
| Enhetens registrerte betaprogramnavn, eller en tom streng hvis det ikke er et registrert betaprogram. |
I tillegg til de andre rapportene kan MDM-løsninger også ville gjøre softwareupdate.install-reason
tilgjengelig for administratorer i forbindelse med støtte, og for å gi ytterligere informasjon om hvorfor en oppdatering ble utløst. Denne ordlisten kan brukes til å finne ut om en bruker har startet oppdateringen selv, om oppdateringen skjedde automatisk, eller om oppdateringen ble håndhevet av en håndhevingsdeklarasjon for programvareoppdatering.
Be om en bestemt minimumsversjon av programvaren under MDM-registrering
Hvis en enhet støtter denne muligheten, returnerer den en MDM_CAN_REQUEST_SOFTWARE_UPDATE-nøkkel, som er satt til True, i MachineInfo
-dataene som den sender til den første HTTP POST-forespørselen til MDM-løsningen når enheten registrerer en administreringskonfigurasjon i Oppsettassistent. Du finner mer informasjon i MachineInfo yaml-filen i GitHub-repository for Apple-enhetsadministrasjon.
I tillegg gir enheter følgende felt i MachineInfo
-dataene (alle strenger):
Nøkkel | Eldste støttede operativsystem | Beskrivelse | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Byggvesjonen som er installert på enheten (for eksempel 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Operativsystemversjonen som er installert på enheten (for eksempel 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Enhetens Kritisk sikkerhetsoppdatering-versjon (hvis det er tilgjengelig). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Enhetens Kritisk sikkerhetsoppdatering-versjon ekstra (hvis det er tilgjengelig). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Enhetsmodellidentifikatoren som brukes til å finne tilgjengelige operativsystemoppdateringer i Apples programvaresøketjeneste. |
Basert på informasjonen som oppgis, kan MDM-løsningen bestemme om det skal kreves at enheten oppdateres.
Hvis en MDM-løsning velger å ikke håndheve en programvareoppdatering, returnerer den bare MDM-registreringsprofilen som svar på HTTP POST-forespørselen, slik den vanligvis gjør for å tillate at en MDM-registrering gjennomføres.
Hvis MDM-løsningen velger å håndheve en programvareoppdatering, må den returnere et HTTP-svar med statuskode 403 og inkludere et JSON- eller XML-objekt i teksten i svaret (meldingshodet i HTTP Content-Type-svaret må være satt til henholdsvis
application/json
ellerapplication/xml
).
Når dette feilsvaret er mottatt, forsøker enheten å oppdatere til den angitte versjonen. Hvis oppdateringen er vellykket, starter enheten på nytt, og brukeren må gå gjennom Oppsettassistent igjen. Den neste MachineInfo
POST-forespørselen fra enheten til MDM-løsningen viser den oppdaterte operativsystemversjonen, og deretter kan MDM-løsningen fortsette med MDM-registreringen. Hvis oppdateringen ikke er vellykket, vises en feil til brukeren, og Ekstern administrering-skjermen vises i Oppsettassistent igjen.
response
-oppsettet er definert i tabellen under.
Nøkkel | Type | Påkrevd | Beskrivelse | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Streng | Ja | Må være satt til | ||||||||
| Streng | Nei | Beskrivelsen av feilen. Brukes bare for loggføring. | ||||||||
| Streng | Nei | Beskrivelsen av feilen, som kan vises til brukeren. | ||||||||
| Ordbok | Ja | Ytterligere data som spesifiserer programvareoppdateringen. |
details
-ordbokoppsettet er definert her.
Nøkkel | Type | Påkrevd | Beskrivelse | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Streng | Ja | Operativsystemversjonen som enheten må oppdateres til. | ||||||||
| Streng | Nei | Byggversjonen som enheten må oppdateres til. | ||||||||
| Ordbok | Nei | Enheten registreres i betaprogrammet, slik at det kan håndheves programvareoppdateringer for betaversjoner av operativsystemet. Enheten forblir i betaprogrammet når den håndhevede programvareoppdateringen er fullført. |
Hvis bare OSVersion
er angitt, vil enheten automatisk laste ned og installere eventuelle kritiske sikkerhetsoppdateringer som er tilgjengelig for denne versjonen. Hvis det trengs en konkret byggversjon eller en supplerende versjon, kan en MDM-løsning også angi BuildVersion
. For å for eksempel kreve at en enhet kjører iOS 16.5.1(a) før registrering, selv om iOS 16.5.1(c) allerede er tilgjengelig, må en MDM-løsning sette OSVersion
til iOS 16.5.1 og BuildVersion
til 20F770750b.
Viktig: Før macOS 15 kan bare versjoner fra listene PublicAssetSets
og PublicRapidSecurityResponses
angis. I macOS 15 kan ressurser fra AssetSets
også brukes.
MDM-innstillinger for programvareoppdateringer
com.apple.configuration.softwareupdate.settings
-deklarasjonen (som er tilgjengelig i iOS 18, iPadOS 18 og macOS 15) består av ordbøker som kan brukes til å konfigurere forskjellige deler av programvareoppdateringens oppførsel.
Når en MDM-løsning har distribuert forskjellige nøkler på tvers av flere deklarasjoner, vil en enhet samle innstillingene for alle aktive deklarasjoner for innstillinger for programvareoppdatering. Hvis den samme nøkkelen er konfigurert av flere deklarasjoner, vil sammenslåingen avhenge av de individuelle nøklene, og den er beskrevet i tabellene under.
Konfigurere automatiske programvareoppdateringer med MDM
com.apple.configuration.softwareupdate.settings
-deklarasjonen har en ordbok for å definere oppførselen for automatisk programvareoppdatering for iPhone-, iPad- og Mac-enheter som er under tilsyn. Du finner mer informasjon om dette under AutomaticActions-ordboknøkler.
Slik håndterer MDM kritiske sikkerhetsoppdateringer
Kritiske sikkerhetsoppdateringer gjelder alltid for den nyeste oppdateringen for operativsystemet, som blir grunnversjonen for den kritiske sikkerhetsoppdateringen. Hvis for eksempel en iPhone har operativsystemversjon iOS 17.2 installert, vil den installere den supplerende oppdateringen 17.2 (a) hvis den er tilgjengelig. I iOS 18, iPadOS 18 og macOS 15 er kombinerte oppdateringer tilgjengelig, slik at en programvareoppdatering kan inkludere alle tilgjengelige kritiske sikkerhetsoppdateringer.
Før iOS 18, iPadOS 18 og macOS 15 kan det hende at en MDM-løsning må utløse to programvareoppdateringer for å sikre at en bestemt supplerende versjon er til stede: Først må den oppdatere enheten til grunnversjonen for den supplerende oppdateringen, hvis enheten ikke allerede har den grunnversjonen (for eksempel iOS 17.1 til iOS 17.2), og deretter må den oppdatere grunnversjonen til den supplerende versjonen (for eksempel iOS 17.2 til iOS 17.2 (a)).
I iOS 18, iPadOS 18 og macOS 15 kan en MDM-løsning angi enten:
operativsystemversjonen (som automatisk installerer tilgjengelige kritiske sikkerhetsoppdateringer)
den supplerende byggversjonen (som får enheten til å utføre en nødvendig oppdatering til grunnversjonen automatisk som en del av prosessen)
Disse to tilnærmingene gjelder for konfigurasjonen av håndheving av programvareoppdatering samt for den håndhevede minimumsversjonen under automatisert enhetsregistrering.
com.apple.configuration.softwareupdate.settings
-deklarasjonen kan også brukes til å konfigurere oppførselen for kritiske sikkerhetsoppdateringer på iPhone-, iPad- og Mac-enheter som er under tilsyn. Hvis du vil ha mer informasjon, kan du se RapidSecurityResponse-ordboknøkler for iOS, iPadOS og macOS.
Utsette en programvareoppdatering med MDM
Å utsette en programvareoppdatering eller -oppgradering i fra 1 til 90 dager gjøres ved hjelp av com.apple.configuration.softwareupdate.settings
-deklarasjonen på iPhone-, iPad- og Mac-enheter som er under tilsyn.
En konfigurert utsettelse definerer i hvor mange dager en versjon ikke skal tilbys brukere etter at den blir offentlig tilgjengelig. Uavhengig av en konfigurert utsettelse kan en MDM-løsning fortsatt håndheve en bestemt programvareoppdatering, -oppgradering eller en kritisk sikkerhetsoppdatering på administrerte enheter. Hvis du vil ha mer informasjon, kan du se Utsettelser-ordboknøkler for iOS og iPadOS og Utsettelser-ordboknøkler for macOS.
Merk: Hvis programvareoppdateringer utsettes, utsettes også eventuelle kritiske sikkerhetsoppdateringer som avhenger av den aktuelle versjonen.
Håndheve programvareoppdateringer med MDM
For å håndheve en programvareoppdatering innen en bestemt tid på enheter som er registrert ved hjelp av Enhetsregistrering eller Automatisert enhetsregistrering kan MDM-løsninger bruke com.apple.configuration.softwareupdate.enforcement.specific
-deklarasjonen.
Hvis en konfigurasjon angir en operativsystem- eller byggversjon som er den samme som eller eldre enn versjonen på enheten, ignoreres konfigurasjonen.
Hvis det finnes flere konfigurasjoner med et nyere operativsystem eller en nyere byggversjon enn versjonen som er på enheten, behandles konfigurasjonen med den første måldatoen og det første målklokkeslettet først, og eventuelle andre forblir i køen. Når enheten oppdateres til en ny versjon, behandles settet med konfigurasjoner igjen for å finne ut hvilken konfigurasjon som skal behandles først.
Alle tilgjengelige kritiske sikkerhetsoppdateringer installeres automatisk hvis en MDM-løsning bare definerer TargetOSVersion
. For å målrette mot en bestemt versjon eller en kritisk sikkerhetsoppdatering, kan MDM-løsningen bruke TargetBuildVersion
-nøkkelen i tillegg for å angi byggversjonen, inkludert supplerende versjonsidentifikator.
Se mer informasjon under Håndhev programvareoppdateringer-ordboknøkler.
Notifications
Notifications-nøkkelen endrer standardoppførsel for varslinger for å vise bare én varsling én time før tidspunktet for håndhevingen, samt nedtelling til omstart. Du finner mer informasjon om dette under Varslinger-nøkkel.
Bruke Bootstrap-kjennetegnet for Macer med Apple-chip
For å autorisere en håndhevet programvareoppdatering på en Mac med Apple-chip, som er under tilsyn, kan en MDM-løsning be om og deponere et Bootstrap-kjennetegn. Dette gir en helt sømløs programvareoppdateringsopplevelse, og det unngår behovet for brukersamhandling som en del av prosessen. Ved behov bruker enheten en GetBootstrapTokenRequest
for å hente Bootstrap-kjennetegnet fra MDM-løsningen.
I det første steget finner MDM-løsningen ut om enheten støtter et Bootstrap-kjennetegn ved å bruke SecurityInfo
-kommandoen. Hvis svaret inneholder en BootstrapTokenRequiredForSoftwareUpdate
som er satt til True, kan enheten bruke et Bootstrap-kjennetegn til å autorisere en programvareoppdatering.
For å få opprettet et Bootstrap-kjennetegn må MDM-løsningen legge til com.apple.mdm.bootstraptoken
i ServerCapabilities
-matrisen i MDM-profilen. Hvis du vil ha mer informasjon, kan du se MDM payload på Apple Developer-nettstedet.
Når enheten mottar Bootstrap-kjennetegnet, oppretter den et Bootstrap-kjennetegn neste gang en bruker som har Secure Token aktivert, logger på. Deretter kontakter den sluttpunktet for innsjekking for MDM-løsningen og deponerer kjennetegnet ved hjelp av en SetBootstrapTokenRequest
. Hvis du vil ha mer informasjon, kan du se Set Bootstrap Token på Apple Developer-nettstedet.
For oppdatert oppsettspesifikasjon kan du se GitHub-repository for Apple-enhetsadministrasjon.