Używanie usługi MDM do wdrażania uaktualnień oprogramowania na urządzeniach Apple
Deklaratywne zarządzanie urządzeniami to przyszłość zarządzania urządzeniami Apple. Pozwala to urządzeniu na asynchroniczne stosowanie ustawień i raportowanie statusu z powrotem do rozwiązania MDM bez ciągłego odpytywania. Jest to idealne rozwiązanie pod względem wydajności i skalowalności, a także umożliwia nowoczesne podejście do zarządzania uaktualnieniami oprogramowania. Deklaratywne zarządzanie urządzeniami zapewnia proaktywne raportowanie statusu urządzeń w miarę zmian wartości i konfiguracji. W ten sposób rozwiązanie MDM ma zawsze aktualny przegląd urządzeń bez konieczności wykonywania regularnych zapytań.
Zamiast wysyłać polecenie uaktualnienie oprogramowania do urządzenia w celu zainicjowania uaktualnienia, rozwiązanie MDM deklaruje pożądany stan wersji systemu operacyjnego i deleguje zadanie osiągnięcia tego stanu do samego urządzenia. Zapewnia to bardziej odporny, zarządzany proces uaktualniania oprogramowania i większą przejrzystość dla użytkowników.
Znaczenie korzystania z deklaracji uaktualnień oprogramowania
Rozwiązania MDM powinny w miarę możliwości wykorzystywać deklaracje uaktualnień oprogramowania. Starsze polecenia i profile uaktualnień oprogramowania są jednak nadal dostępne i obsługiwane. Mogą one współpracować z deklaracjami uaktualnień oprogramowania z następującymi zmianami:
Odroczenia zdefiniowane przez deklarację mają pierwszeństwo przed odroczeniami skonfigurowanymi przez ograniczenie.
Ustawienia automatycznego uaktualniania oprogramowania w systemie macOS zastosowane w deklaracji mają pierwszeństwo przed ustawieniami automatycznego uaktualniania podanymi w profilu konfiguracji.
Gdy istnieje oczekujące uaktualnienie oprogramowania skonfigurowane przy użyciu deklaratywnego zarządzania urządzeniami, niektóre polecenia MDM nie są już przetwarzane przez klienta, zwracając błędy komunikujące, że na urządzeniu istnieje aktywna deklaracja, jak pokazano w poniższej tabeli:
Polecenie MDM | Wynik | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Ograniczone: w systemie macOS uaktualnienia oparte na systemie operacyjnym, które nie są zarządzane, mogą pojawić się w odpowiedzi na polecenie, na przykład w Xcode lub narzędziach wiersza poleceń. | ||||||||||
| Urządzenie zwraca błąd | ||||||||||
| Urządzenie zwraca pustą tablicę stanu. |
Używanie usługi Apple Software Lookup Service
Usługa Apple Software Lookup Service (dostępna pod adresem https://gdmf.apple.com/v2/pmv) jest oficjalnym źródłem informacji o publicznie dostępnych uaktualnieniach pośrednich, uaktualnieniach głównych i pilnych uaktualnieniach zabezpieczeń. Dzięki temu rozwiązanie MDM może wyszukiwać wydania oprogramowania, gdy tylko zostaną opublikowane, i obliczać ich zastosowanie dla każdego modelu sprzętu w sposób terminowy i dokładny.
Odpowiedź JSON zawiera trzy listy dostępnych wydań oprogramowania:
PublicAssetSets: Ta lista zawiera najnowsze wydania dostępne publicznie w przypadku próby instalacji uaktualnienia lub uaktualnienia głównego.
AssetSets: Ta lista stanowi podzbiór listy PublicAssetSets i zawiera wszystkie wydania oprogramowania, które rozwiązania MDM mogą instalować na urządzeniach nadzorowanych.
PublicRapidSecurityResponses: Ta lista zawiera pilne uaktualnienia zabezpieczeń dostępne aktualnie dla urządzeń Apple.
Każdy element listy zawiera numery wersji (ProductVersion
) i kompilacji (Build
) systemu operacyjnego, datę publikacji wydania (PostingDate
), datę wygaśnięcia ważności (ExpirationDate
) oraz listę urządzeń obsługiwanych przez dane wydanie (SupportedDevices
). Lista urządzeń jest zgodna z wartościami ProductName
z urządzenia, które są zwracane przez odpowiedź DeviceInformation
, początkowe żądanie uwierzytelnienia Authenticate
lub w wartości MachineInfo
, kiedy urządzenie próbuje się zarejestrować.
Data wygaśnięcia, ustawiona zwykle na 180 dni po dacie opublikowania, określa datę wygaśnięcia podpisu uaktualnienia. Wygasłego uaktualnienia nie można już zainstalować na urządzeniach. Gdy udostępniane są kolejne uaktualnienia, poprzednie uaktualnienia mogą mieć uaktualnione daty wygaśnięcia. Jeśli brak jest daty wygaśnięcia, oznacza to, że uaktualnienie nie wygasło. Uaktualnienie uznawane jest za wygasłe tylko wtedy, gdy jego data wygaśnięcia przypada w przeszłości.
Zasoby są grupowane według platformy systemu operacyjnego przy użyciu następujących kluczy:
iOS
(obejmuje systemy iPadOS, tvOS i 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"
]
},
Lista wersji produktów umożliwia określenie, które wersje są nowsze niż bieżąca wersja systemu operacyjnego i mają zastosowanie do określonego urządzenia. Tę listę wersji należy przekazać administratorowi MDM jako listę potencjalnych kandydatów do uaktualnienia systemu operacyjnego.
Wysyłanie raportu o statusie do rozwiązania MDM
Aby otrzymywać aktualizacje elementów statusu w miarę ich zmieniania się, serwer musi subskrybować każdy raport o statusie, wysyłając do urządzenia deklarację ManagementStatusSubscriptions
. Następnie urządzenie wysyła StatusReport
do rozwiązania MDM, kiedy deklaracja ManagementStatusSubscriptions
staje się aktywna, gdy zmienia się status subskrybowanego elementu oraz co 24 godziny.
W celu monitorowania wersji systemu operacyjnego i statusu uaktualnień oprogramowania rozwiązanie MDM może subskrybować następujące raporty o statusie:
Raport o statusie | Opis |
---|---|
| Wersja kompilacji systemu operacyjnego na urządzeniu (na przykład 21E219). |
| Wersja systemu operacyjnego używana na urządzeniu (na przykład 17.4). |
| Wersja kompilacji systemu operacyjnego i wersje pilnych uaktualnień zabezpieczeń używanych na urządzeniu (na przykład 20A123a lub 20F75c). |
| Wersja pilnego uaktualnienia zabezpieczeń systemu operacyjnego używana na urządzeniu (na przykład a). |
| Słownik zawierający wersje kompilacji i systemu operacyjnego uaktualnienia oprogramowania oczekującego na urządzeniu. |
| Status instalacji uaktualnienia oprogramowania, który ma następujące wartości:
|
| Słownik ze szczegółowymi informacjami o przyczynie oczekującego uaktualnienia oprogramowania. Klucz
|
| Szczegółowe informacje dotyczące niepowodzenia uaktualnienia oprogramowania. Szczegóły obejmują liczbę niepowodzeń uaktualnienia oprogramowania, znacznik czasu ostatniego niepowodzenia i przyczynę niepowodzenia. |
| Nazwa zarejestrowanego programu beta urządzenia lub pusty ciąg znaków, jeśli nie ma zarejestrowanego programu beta. |
Oprócz innych raportów, rozwiązania MDM mogą również udostępniać administratorom słownik softwareupdate.install-reason
do celów wsparcia i zapewnienia dodatkowego wglądu w sposób uruchomienia uaktualnienia. Słownik ten może być wykorzystany do określenia, czy użytkownik sam zainicjował uaktualnienie, uaktualnienie nastąpiło automatycznie, czy też zostało wymuszone przez deklarację wymuszania uaktualnienia oprogramowania.
Żądanie określonej minimalnej wersji oprogramowania podczas rejestrowania w rozwiązaniu MDM
Jeśli urządzenie obsługuje tę funkcję, zwraca klucz MDM_CAN_REQUEST_SOFTWARE_UPDATE, ustawiony na True, w danych MachineInfo
, które wysyła w początkowym żądaniu HTTP POST do rozwiązania MDM, gdy urządzenie wykryje konfigurację zarządzania w Asystencie ustawień. Aby uzyskać więcej informacji, zobacz plik yaml MachineInfo w repozytorium GitHub zarządzania urządzeniami Apple.
Dodatkowo urządzenia zapewniają następujące pola w danych MachineInfo
(wszystkie ciągi):
Klucz | Minimalny obsługiwany system operacyjny | Opis | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Wersja kompilacji zainstalowana na urządzeniu (na przykład 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Wersja systemu operacyjnego zainstalowana na urządzeniu (na przykład 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Wersja pilnego uaktualnienia zabezpieczeń na urządzeniu (jeśli jest dostępne). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Dodatkowa wersja pilnego uaktualnienia zabezpieczeń na urządzeniu (jeśli jest dostępne). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Identyfikator modelu urządzenia używany do wyszukiwania dostępnych uaktualnień systemu operacyjnego w usłudze Apple Software Lookup Service. |
Na podstawie dostarczonych informacji rozwiązanie MDM może zdecydować, czy wymusić uaktualnienie urządzenia.
Jeśli rozwiązanie MDM zdecyduje, aby nie wymuszać uaktualnienia oprogramowania, po prostu zwróci profil rejestracji MDM w odpowiedzi na żądanie HTTP POST, tak jak normalnie zostałoby to zrobione, aby umożliwić kontynuację rejestracji w rozwiązaniu MDM.
Jeśli rozwiązanie MDM zdecyduje się wymusić uaktualnienie oprogramowania, musi zwrócić odpowiedź HTTP z kodem statusu 403 i dołączyć obiekt JSON lub XML w treści odpowiedzi (nagłówek odpowiedzi HTTP Content-Type musi być ustawiony odpowiednio na
application/json
lubapplication/xml
).
Po otrzymaniu tej odpowiedzi o błędzie urządzenie podejmie próbę uaktualnienia do określonej wersji. Jeśli uaktualnienie się powiedzie, urządzenie uruchomi się ponownie, a użytkownik będzie musiał ponownie przejść przez Asystenta ustawień. Następne żądanie POST MachineInfo
POST z urządzenia do rozwiązania MDM pokazuje uaktualnioną wersję systemu operacyjnego, a rozwiązanie MDM może następnie kontynuować rejestrację w rozwiązaniu MDM. Jeśli uaktualnienie się nie powiedzie, użytkownikowi zostanie wyświetlony błąd, a Asystencie ustawień pojawi się ponownie panel Zarządzanie zdalne.
Schemat odpowiedzi
został przedstawiony w tabeli znajdującej się poniżej.
Klucz | Typ | Wymagane | Opis | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Ciąg znaków | Tak | Wymagana wartość to | ||||||||
| Ciąg znaków | Nie | Opis błędu. Służy tylko do celów rejestrowania. | ||||||||
| Ciąg znaków | Nie | Opis błędu odpowiedni do wyświetlenia użytkownikowi. | ||||||||
| Słownik | Tak | Dodatkowe dane określające uaktualnienie oprogramowania. |
Schemat słownika details
został przedstawiony poniżej.
Klucz | Typ | Wymagane | Opis | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Ciąg znaków | Tak | Wersja systemu operacyjnego, do której urządzenie ma zostać uaktualnione. | ||||||||
| Ciąg znaków | Nie | Wersja kompilacji, do której urządzenie ma zostać uaktualnione. | ||||||||
| Słownik | Nie | Urządzenie rejestruje się w programie beta, umożliwiając wymuszone uaktualnienia oprogramowania do wersji systemu operacyjnego programu beta. Urządzenie pozostaje w programie beta po zakończeniu wymuszonego uaktualnienia oprogramowania. |
Jeśli określono tylko klucz OSVersion
, urządzenie automatycznie pobiera i instaluje wszystkie pilne uaktualnienia zabezpieczeń dostępne dla tej wersji. W przypadku, gdy wymagana jest konkretna kompilacja lub dodatkowa wersja, rozwiązanie MDM może także opcjonalnie określić klucz BuildVersion
. Na przykład, aby wymagać od urządzenia użycia wersji iOS 16.5.1(a) przed zarejestrowaniem, nawet jeśli jest już dostępna wersja iOS 16.5.1(c), rozwiązanie MDM musi ustawić klucz OSVersion
na wartość iOS 16.5.1, a klucz BuildVersion
na wartość 20F770750b.
Ważne: Przed systemem macOS 15 można było określić tylko wydania z list PublicAssetSets
i PublicRapidSecurityResponses
. W systemie macOS 15 można również używać zasobów z listy AssetSets
.
Ustawienia MDM dotyczące uaktualnień oprogramowania
Deklaracja com.apple.configuration.softwareupdate.settings
(dostępna w systemach iOS 18, iPadOS 18 i macOS 15) składa się ze słowników, których można używać do konfigurowania różnych aspektów zachowania uaktualnień oprogramowania.
Po tym, jak rozwiązanie MDM rozdzieli różne klucze na wiele deklaracji, urządzenie łączy ustawienia wszystkich aktywnych deklaracji ustawień uaktualnień oprogramowania. W przypadku, gdy ten sam klucz jest skonfigurowany przez wiele deklaracji, zachowanie łączenia zależy od indywidualnego klucza i jest przedstawione w poniższych tabelach.
Konfigurowanie automatycznych uaktualnień oprogramowania za pomocą rozwiązania MDM
Deklaracja com.apple.configuration.softwareupdate.settings
oferuje słownik do definiowania zachowania automatycznego uaktualniania oprogramowania na nadzorowanych urządzeniach iPhone, iPad i Mac. Aby uzyskać więcej informacji, zobacz: Klucze słownika AutomaticActions.
Sposób obsługi pilnych uaktualnień zabezpieczeń przez rozwiązanie MDM
Pilne uaktualnienia zabezpieczeń zawsze odnoszą się do najnowszego uaktualnienia systemu operacyjnego, która staje się bazową wersją pilnego uaktualnienia zabezpieczeń. Na przykład, jeśli iPhone ma zainstalowany system operacyjny w wersji iOS 17.2, to zostanie zastosowane uaktualnienie uzupełniające 17.2 (a), jeśli jest dostępne. W systemach iOS 18, iPadOS 18 i macOS 15 udostępniono połączone uaktualnienia, dzięki czemu uaktualnienie oprogramowania może zawierać dowolne dostępne pilne uaktualnienia zabezpieczeń.
W przypadku systemów wcześniejszych niż iOS 18, iPadOS 18 i macOS 15, rozwiązanie MDM może wymagać uruchomienia dwóch uaktualnień oprogramowania, aby zapewnić obecność określonej wersji uzupełniającej: Najpierw musi uaktualnić urządzenie do bazowej wersji uaktualnienia uzupełniającego, jeśli urządzenie nie korzysta jeszcze z tej bazowej wersji (na przykład z wersji iOS 17.1 do wersji iOS 17.2); następnie musi uaktualnić bazową wersję do wersji uzupełniającej (na przykład z wersji iOS 17.2 do wersji iOS 17.2 (a)).
W przypadku systemów iOS 18, iPadOS 18 i macOS 15 rozwiązanie MDM może określić:
wersję systemu operacyjnego (która automatycznie instaluje dostępne pilne uaktualnienia zabezpieczeń);
uzupełniającą wersję kompilacji (która powoduje, że urządzenie automatycznie przeprowadza niezbędne uaktualnienie do bazowej wersji w ramach procesu).
Te dwa podejścia mają zastosowanie do konfiguracji wymuszania uaktualnień oprogramowania oraz do wymuszanej minimalnej wersji podczas automatycznej rejestracji urządzeń.
Deklaracja com.apple.configuration.softwareupdate.settings
może być również używana do konfigurowania zachowania pilnego uaktualnienia zabezpieczeń na nadzorowanych urządzeniach iPhone, iPad i Mac. Aby uzyskać więcej informacji, zobacz: Klucze słownika RapidSecurityResponse dla systemów iOS, iPadOS i macOS.
Odraczanie uaktualnienia oprogramowania za pomocą rozwiązania MDM
Odroczenie uaktualnienia lub uaktualnienia głównego oprogramowania w zakresie od 1 do 90 dni odbywa się za pomocą deklaracji com.apple.configuration.softwareupdate.settings
na nadzorowanych urządzeniach iPhone, iPad i Mac.
Skonfigurowane odroczenie określa, przez ile dni wersja nie jest oferowana użytkownikom po tym, jak stała się publicznie dostępna. Niezależnie od skonfigurowanego odroczenia, rozwiązanie MDM może nadal wymuszać określone uaktualnienie, uaktualnienie główne oprogramowania lub pilne uaktualnienia zabezpieczeń na zarządzanych urządzeniach. Aby dowiedzieć się więcej, zobacz Klucze słownika Deferrals dla systemów iOS i iPadOS oraz Klucze słownika Deferrals dla systemu macOS.
Uwaga: Odroczenie uaktualnienia oprogramowania powoduje również odroczenie wszelkich pilnych uaktualnień zabezpieczeń, które są zależne od tej wersji.
Wymuszanie uaktualnień oprogramowania za pomocą rozwiązania MDM
Aby wymusić uaktualnienie oprogramowania do określonego czasu na urządzeniach zarejestrowanych przy użyciu rejestracji urządzenia lub automatycznej rejestracji urządzenia, rozwiązania MDM mogą zastosować deklarację com.apple.configuration.softwareupdate.enforcement.specific
.
Jeśli konfiguracja określa system operacyjny lub wersję kompilacji, która jest taka sama lub starsza niż bieżąca wersja urządzenia, wówczas konfiguracja jest ignorowana.
Jeśli istnieje wiele konfiguracji z nowszym systemem operacyjnym lub wersją kompilacji niż bieżąca wersja urządzenia, konfiguracja z najwcześniejszą docelową datą i godziną jest przetwarzana jako pierwsza, a pozostałe pozostają w kolejce. Gdy urządzenie zostaje uaktualnione do nowej wersji, zestaw konfiguracji jest ponownie przetwarzany w celu określenia, która z nich będzie przetwarzana jako następna.
Wszystkie dostępne pilne uaktualnienia zabezpieczeń są automatycznie instalowane, jeśli rozwiązanie MDM definiuje tylko klucz TargetOSVersion
. Aby określić konkretną wersję lub pilne uaktualnienie zabezpieczeń, rozwiązanie MDM może użyć klucza TargetBuildVersion
oprócz określenia kompilacji, w tym dodatkowego identyfikatora wersji.
Aby dowiedzieć się więcej, zobacz: Klucze słownika wymuszania instalowania uaktualnień oprogramowania.
Powiadomienia
Klucz Notifications (Powiadomienia) zmienia domyślne zachowanie powiadomień, aby wyświetlać tylko powiadomienie na 1 godzinę przed czasem wymuszenia i odliczaniem do ponownego uruchomienia. Aby uzyskać więcej informacji, zobacz: Klucz Notifications (Powiadomienia).
Używanie tokena inicjującego na komputerach Mac z układem scalonym Apple
Aby autoryzować wymuszone uaktualnienie oprogramowania na nadzorowanym komputerze Mac z układem scalonym Apple, rozwiązanie MDM może zażądać tokena inicjującego i go zdeponować. Zapewnia to całkowicie bezproblemowe uaktualnienia oprogramowania i pozwala uniknąć konieczności interakcji użytkownika w ramach tego procesu. W razie potrzeby urządzenie używa polecenia GetBootstrapTokenRequest
w celu pobrania tokenu inicjującego z rozwiązania MDM.
W pierwszym kroku rozwiązanie MDM określa, czy urządzenie obsługuje token inicjujący, za pomocą polecenia SecurityInfo
. Jeśli odpowiedź zawiera klucz BootstrapTokenRequiredForSoftwareUpdate
ustawiony na wartość true, urządzenia może używać tokenu inicjującego do autoryzacji uaktualnienia oprogramowania.
Aby utworzyć token inicjujący, rozwiązanie MDM musi dodać klucz com.apple.mdm.bootstraptoken
do tablicy ServerCapabilities
w profilu rozwiązania MDM. Aby uzyskać więcej informacji, zobacz: MDM payload (Pakiet danych rozwiązania MDM) w witrynie Apple dla deweloperów.
Po otrzymaniu tokenu inicjującego urządzenie tworzy token inicjujący przy następnym logowaniu użytkownika z obsługą tokenu bezpieczeństwa. Następnie kontaktuje się z punktem końcowym zameldowania rozwiązania MDM i deponuje token przy użyciu polecenia SetBootstrapTokenRequest
. Aby uzyskać więcej informacji, zobacz: Set Bootstrap Token (Ustawianie tokenu inicjującego) w witrynie Apple dla deweloperów.
Aby uzyskać najnowszą specyfikację schematu, sprawdź repozytorium GitHub zarządzania urządzeniami Apple.