Apple aygıtlarına yazılım güncellemelerini dağıtmak için MDM’yi kullanma
Bildirim temelli aygıt yönetimi, geleceğin Apple aygıt yönetimidir. Aygıtın ayarları eşzamansız olarak uygulamasını ve sürekli yoklama olmadan mobil aygıt yönetimi (MDM) çözümüne durum bildirmesini sağlar. Bu, performans ve ölçeklenebilirlik açısından idealdir ve aynı zamanda yazılım güncellemelerini yönetmek için modern bir yaklaşım sunar. Bildirim temelli aygıt yönetimi, değerler ve konfigürasyonlar değiştikçe aygıtlardan proaktif durum raporları sunar. Böylece MDM çözümü, düzenli sorgulamalar yapması gerekmeden aygıtların güncel bir görünümüne sahip olur.
MDM çözümü, güncellemeyi başlatmak için aygıta bir yazılım güncelleme komutu göndermek yerine istenen işletim sistemi sürümü durumunu bildirir ve bu duruma ulaşma görevini aygıtın kendisine verir. Bu, yönetilen yazılım güncelleme sürecinin daha güçlü ve kullanıcı şeffaflığının daha yüksek olmasını sağlar.
Yazılım güncelleme bildirimlerinden yararlanmanın önemi
MDM çözümleri, mümkün olduğunca yazılım güncelleme bildirimlerinden yararlanmalıdır. Ancak eski yazılım güncelleme komutları ve profilleri hâlâ kullanılabilir ve desteklenir. Bunlar, şu değişikliklerle yazılım güncelleme bildirimleriyle birlikte çalışabilir:
Bildirim tarafından tanımlanmış ertelemeler, sınırlama ile ayarlanmış ertelemelere göre önceliklidir.
macOS’te bildirim tarafından uygulanmış otomatik yazılım güncelleme ayarları, konfigürasyon profiliyle sağlanmış otomatik güncelleme ayarlarına göre önceliklidir.
Bildirim temelli aygıt yönetimi kullanılarak ayarlanmış bir yazılım güncelleme bekliyorsa bazı MDM komutları artık istemci tarafından işlenmez, aygıtta etkin bir bildirim olduğuna dair, aşağıdaki tabloda gösterildiği şekilde iletişim hataları döndürülür:
MDM komutu | Sonuç | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Limited: macOS’te yönetilmeyen, işletim sistemi tabanlı güncellemeler, komut yanıtında gözükebilir (örneğin Xcode’da veya komut satırı araçlarında). | ||||||||||
| Aygıt bir | ||||||||||
| Aygıt boş bir durum dizisi döndürür. |
Apple Yazılım Arama Servisi’ni kullanma
Apple Yazılım Arama Servisi (https://gdmf.apple.com/v2/pmv adresinde bulunur), herkes tarafından kullanılabilir güncellemelerin, yükseltmelerin ve Hızlı Güvenlik Yanıtları’nın bir listesini edinmek için resmi kaynaktır. Bir MDM çözümünün sürümleri yayınlanır yayınlanmaz sorgulamasına ve her bir donanım modeli için uygulanabilirliği zamanında ve doğru bir davranışla hesaplamasına olanak tanır.
JSON yanıtı, kullanılabilir yazılım sürümlerinin üç listesini içerir:
PublicAssetSets: Bu liste, güncellemeyi veya yükseltmeyi denerse genel olarak kullanılabilen son sürümleri içerir.
AssetSets: Bu liste PublicAssetSets’in bir alt kümesidir ve denetlenip yönetilen aygıtlara iletilecek MDM çözümleri için kullanılabilen tüm sürümleri içerir.
PublicRapidSecurityResponses: Bu liste, Apple aygıtları için şu an kullanılabilen Hızlı Güvenlik Yanıtları sürümlerini içerir.
Listedeki her bir öğe, işletim sisteminin ProductVersion
numarasını, Build
bilgisini, sürümün yayınlandığı PostingDate
tarihini, ExpirationDate
bilgisini ve bu sürüm için SupportedDevices
listesini içerir. Aygıt listesi, aygıttaki ProductName
değeri ile eşleşir, bunlar bir DeviceInformation
yanıtında, ilk Authenticate
isteğinde ya da aygıt kaydolmayı denediğinde MachineInfo
bilgisinde döndürülür.
Genel olarak gönderme tarihinden sonra 180 gün olarak ayarlanan son kullanma tarihi, güncellemenin imzalanmasının sona erdiği tarihi belirtir. Süresi dolan güncelleme artık aygıtlara yüklenemez. Sonraki güncellemeler çıktığında, önceki güncellemelerin son kullanma tarihleri güncellenmiş olabilir. Son kullanma tarihi verilmemişse güncellemenin süresi henüz dolmamıştır. Bir güncellemenin süresi yalnızca geçmişte sürüme ait bir son kullanma tarihi varsa sona erer.
Öğeler, işletim sistemi platformu tarafından şu anahtarlar kullanılarak gruplanır:
iOS
(iPadOS, tvOS ve watchOS’i içerir)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"
]
},
Hangi sürümlerin aygıtın şu anki işletim sistemi sürümünden büyük olduğunu ve belirli bir aygıta uygulanabilir olduğunu belirlemek için ürün sürümü listesini kullanın. Olası işletim sistemi güncelleme adayları olarak sürüm listesini MDM yöneticisine verin.
MDM çözümüne durum raporu gönderme
Durum öğeleri değiştikçe güncelleme alınması için sunucunun aygıta bir ManagementStatusSubscriptions
bildirimi göndererek her bir durum raporuna abone olması gerekir. Aygıt da ManagementStatusSubscriptions
bildirimi etkin hâle geldiğinde, abone olunmuş öğenin durumu değiştiğinde ve her 24 saatte bir MDM çözümüne bir StatusReport
gönderir.
MDM çözümü, işletim sistemi sürümlerini ve yazılım güncelleme durumunu izlemek amacıyla aşağıdaki durum raporlarına abone olmak isteyebilir:
Durum raporu | Description |
---|---|
| Aygıttaki işletim sisteminin geliştirme sürümü (örneğin 21E219). |
| Aygıtta kullanılan işletim sistemi sürümü (örneğin 17.4). |
| Aygıtta kullanılan işletim sistemi geliştirme sürümü ve Hızlı Güvenlik Yanıtı sürümü (örneğin 20A123a veya 20F75c). |
| Aygıtta kullanılan işletim sistemi Hızlı Güvenlik Yanıtı sürümü (örneğin a). |
| Aygıtta bekleyen yazılım güncellemenin geliştirme ve işletim sistemi sürümlerini içeren bir sözlük. |
| Yazılım güncelleme yükleme durumu şu değerlere sahip olabilir:
|
| Bekleyen yazılım güncellemenin nedeniyle ilgili ayrıntıları içeren bir sözlük.
|
| Yazılım güncelleme hatasıyla ilgili ayrıntılar. Ayrıntılar arasında yazılım güncellemenin kaç kez başarısız olduğu, son hatanın zaman damgası ve hata nedeni sayılabilir. |
| Aygıtın kayıtlı olduğu beta programı adı veya kayıtlı bir beta programı yoksa boş bir dizgi. |
MDM çözümleri, destek amacıyla ve güncellemenin nasıl başlatıldığıyla ilgili ek ayrıntılar sunmak için diğer raporlara ek olarak softwareupdate.install-reason
öğesini de yöneticilerin kullanımına sunmak isteyebilir. Bu sözlük, güncellemenin kullanıcı tarafından mı başlatıldığını, otomatik olarak mı gerçekleştiğini veya bir yazılım güncelleme uygulatma bildirimi tarafından zorunlu mu kılındığını belirlemek için kullanılabilir.
MDM kaydı sırasında belirli bir minimum yazılım sürümünü isteme
Aygıt bu özelliği destekliyorsa ve Ayarlama Yardımcısı’nda bir yönetim konfigürasyonu algılarsa MDM çözümüne gönderdiği ilk HTTP POST isteğinde bulunan MachineInfo
verisinde, True (Doğru) olarak ayarlanmış bir MDM_CAN_REQUEST_SOFTWARE_UPDATE anahtarı döndürür. Daha fazla bilgi için Apple aygıt yönetimi GitHub deposu’ndaki MachineInfo yaml dosyası konusuna bakın.
Ayrıca, aygıtlar MachineInfo
verilerinde aşağıdaki alanları da sunar (tümü dizgi):
Anahtar | Desteklenen minimum işletim sistemi | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VERSION | iOS 17 iPadOS 17 macOS 14 | Aygıtta yüklü geliştirme sürümü (örneğin 7A182). | |||||||||
OS_VERSION | iOS 17 iPadOS 17 macOS 14 | Aygıtta yüklü işletim sistemi sürümü (örneğin 17.0). | |||||||||
SUPPLEMENTAL_BUILD_VERSION | iOS 17 iPadOS 17 macOS 14 | Aygıtın Hızlı Güvenlik Yanıtı sürümü (varsa). | |||||||||
SUPPLEMENTAL_OS_VERSION_EXTRA | iOS 17 iPadOS 17 macOS 14 | Aygıtın Hızlı Güvenlik Yanıtı sürüm eki (varsa). | |||||||||
SOFTWARE_UPDATE_DEVICE_ID | iOS 17.4 iPadOS 17.4 macOS 14.4 | Apple Yazılım Arama Servisi’nde kullanılabilir işletim sistemi güncellemelerini araştırmak için kullanılan aygıt modeli tanıtıcısı. |
MDM çözümü, sağlanan bilgilere göre aygıta güncellemeyi uygulatıp uygulatmayacağına karar verebilir.
MDM çözümü, bir yazılım güncellemeyi uygulatmamayı seçerse HTTP POST isteğine yanıt olarak, normalde MDM kaydının ilerlemesine izin vermek için yaptığı gibi, sadece MDM kayıt profilini döndürür.
MDM çözümü, bir yazılım güncellemeyi uygulatmayı seçerse 403 durum koduna sahip bir HTTP yanıtı döndürmeli ve yanıt gövdesinde bir JSON veya XML nesnesi içermelidir (HTTP Content-Type yanıt başlığı sırasıyla
application/json
veyaapplication/xml
olarak ayarlanmalıdır).
Aygıt, bu hata yanıtını aldıktan sonra belirtilen sürüme güncellemeye çalışır. Güncelleme başarılı olursa aygıt yeniden başlatılır ve kullanıcının Ayarlama Yardımcısı adımlarını tekrar tamamlaması gerekir. Aygıttan MDM çözümüne bir sonraki MachineInfo
POST isteği, güncellenmiş işletim sistemi sürümünü gösterir; MDM çözümü de MDM kaydına devam edebilir. Güncelleme başarısız olursa kullanıcıya bir hata gösterilir ve Ayarlama Yardımcısı’nda Uzaktan Yönetim bölümü yeniden görünür.
response
şeması, aşağıdaki tabloda tanımlanmıştır.
Anahtar | Tür | Gerekli | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Dizgi | Evet |
| ||||||||
| Dizgi | Hayır | Hata açıklaması. Yalnızca günlük tutma amacıyla kullanılır. | ||||||||
| Dizgi | Hayır | Kullanıcıya görüntüleme için uygun hata açıklaması. | ||||||||
| Sözlük | Evet | Yazılım güncellemeyi belirten ek veriler. |
details
sözlük şeması burada tanımlanmıştır.
Anahtar | Tür | Gerekli | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Dizgi | Evet | Aygıtın güncellenmesi gereken işletim sistemi sürümü. | ||||||||
| Dizgi | Hayır | Aygıtın güncellenmesi gereken geliştirme sürümü. | ||||||||
| Sözlük | Hayır | Aygıt, beta programına kaydolur ve yazılım güncellemelerinin beta programı işletim sistemi sürümlerine uygulatılmasına izin verilir. Aygıt, uygulatılan yazılım güncelleme tamamlandıktan sonra beta programında kalır. |
Yalnızca OSVersion
belirtilmişse aygıt, bu sürüm için kullanılabilen tüm Hızlı Güvenlik Yanıtları’nı otomatik olarak indirip yükler. Belirli bir geliştirme sürümünün veya ek sürümün gerekmesi durumunda MDM çözümü, isteğe bağlı olarak BuildVersion
bilgisini de belirtebilir. Örneğin bir aygıtın kaydettirilmeden önce iOS 16.5.1(a) çalıştırıyor olmasını gerektirmek için (iOS 16.5.1(c) kullanılabilir olsa bile) MDM çözümünün OSVersion
’ı iOS 16.5.1 ve BuildVersion
’ı 20F770750b olarak ayarlaması gerekir.
Önemli: macOS 15’ten önce, yalnızca PublicAssetSets
ve PublicRapidSecurityResponses
listelerindeki sürümler belirtilebilir. macOS 15’te AssetSets
öğeleri de kullanılabilir.
Yazılım güncellemeleri için MDM ayarları
com.apple.configuration.softwareupdate.settings
bildirimi (iOS 18’de, iPadOS 18’de ve macOS 15’te kullanılabilen), yazılım güncelleme davranışının çeşitli yönlerini ayarlamak için kullanılabilecek sözlüklerden oluşur.
MDM çözümü birden fazla bildirimde farklı anahtarlar dağıttıktan sonra bir aygıt, tüm etkin yazılım güncelleme ayarları bildirimlerinin ayarlarını birleştirir. Aynı anahtarın birden fazla bildirim tarafından ayarlanması durumunda, birleştirme davranışı o anahtara bağlıdır ve aşağıdaki tablolarda özetlenmiştir.
MDM ile otomatik yazılım güncellemelerini ayarlama
com.apple.configuration.softwareupdate.settings
bildirimi, denetlenip yönetilen iPhone, iPad ve Mac aygıtlarında otomatik yazılım güncelleme davranışını tanımlamaya yönelik bir sözlük sunar. Daha fazla bilgi için AutomaticActions sözlük anahtarları konusuna bakın.
MDM, Hızlı Güvenlik Yanıtları’nı nasıl işler?
Hızlı Güvenlik Yanıtları, her zaman Hızlı Güvenlik Yanıtı’nın taban sürümü hâline gelen, işletim sisteminin en son güncellemesine uygulanır. Örneğin iPhone’da yüklü işletim sistemi sürümü iOS 17.2 ise 17.2 (a) ek güncellemesi (varsa) uygulanır. iOS 18’de, iPadOS 18’de ve macOS 15’te, yazılım güncellemenin mevcut Hızlı Güvenlik Yanıtları’nı içermesine olanak tanıyan birleştirilmiş güncellemeler kullanıma sunulmuştur.
iOS 18, iPadOS 18 ve macOS 15 öncesinde, MDM çözümünün belirli bir ek sürümün olduğundan emin olmak için iki yazılım güncellemeyi başlatması gerekebilir: Öncelikle, aygıt ek güncellemenin taban sürümünü kullanmıyorsa aygıtı o taban sürüme güncellemelidir (örneğin iOS 17.1’i iOS 17.2’ye); sonra da taban sürümü ek sürüme güncellemelidir (örneğin iOS 17.2’yi iOS 17.2 (a) sürümüne).
iOS 18’de, iPadOS 18’de ve macOS 15’te MDM çözümü şunlardan birini belirtebilir:
İşletim sistemi sürümü (kullanılabilir Hızlı Güvenlik Yanıtları’nı otomatik olarak yükleyen)
Ek geliştirme sürümü (aygıtın sürecin bir parçası olarak taban sürümünde gerekli güncellemeyi gerçekleştirmesini sağlayan)
Bu iki yaklaşım, yazılım güncelleme uygulatma konfigürasyonu ve Otomatik Aygıt Kaydı sırasında zorunlu kılınan minimum sürüm için geçerlidir.
com.apple.configuration.softwareupdate.settings
bildirimi, denetlenip yönetilen iPhone, iPad ve Mac aygıtlarında Hızlı Güvenlik Yanıtı davranışını ayarlamak için de kullanılabilir. Daha fazla bilgi için iOS, iPadOS ve macOS için RapidSecurityResponse sözlük anahtarları konusuna bakın.
MDM ile yazılım güncellemeyi erteleme
Yazılım güncellemeyi veya yükseltmeyi 1 ila 90 gün erteleme, denetlenip yönetilen iPhone, iPad ve Mac aygıtlarında com.apple.configuration.softwareupdate.settings
bildirimi kullanılarak yapılır.
Ayarlanmış bir erteleme, bir sürümün herkesin kullanımına sunulmasından kaç gün sonrasına kadar kullanıcılara sunulmayacağını tanımlar. MDM çözümü, ayarlanmış bir ertelemeden bağımsız olarak yönetilen aygıtlarda belirli bir yazılım güncellemeyi, yükseltmeyi veya Hızlı Güvenlik Yanıtı’nı hâlâ uygulatabilir. Daha fazla bilgi için iOS ve iPadOS için Deferrals sözlük anahtarları ve macOS için Deferrals sözlük anahtarları konularına bakın.
Not: Yazılım güncellemeleri ertelendiğinde, o sürüme bağlı olan Hızlı Güvenlik Yanıtları da ertelenir.
MDM ile yazılım güncellemelerini uygulatma
MDM çözümleri, Aygıt Kaydı veya Otomatik Aygıt Kaydı kullanılarak kaydettirilmiş aygıtlarda bir yazılım güncellemesini belirli bir zamanda uygulatmak için com.apple.configuration.softwareupdate.enforcement.specific
bildirimini uygulayabilir.
Konfigürasyon, şu anki aygıt sürümüyle aynı veya daha eski bir işletim sistemi veya geliştirme sürümü belirtirse konfigürasyon yok sayılır.
Şu anki aygıt sürümünden daha yeni bir işletim sistemi veya geliştirme sürümüne sahip birden fazla konfigürasyon varsa en yakın hedef tarihe ve saate sahip konfigürasyon ilk önce işlenir, diğerleri sırada bırakılır. Aygıt yeni bir sürüme güncellendiğinde bir sonraki işlenecek olanı belirlemek için konfigürasyon kümeleri yeniden işlenir.
MDM çözümü yalnızca TargetOSVersion
anahtarını tanımlıyorsa kullanılabilir Hızlı Güvenlik Yanıtları otomatik olarak yüklenir. MDM çözümü, belirli bir sürümü veya Hızlı Güvenlik Yanıtı’nı hedeflemek amacıyla ek sürüm tanıtıcısı da dahil olmak üzere geliştirme sürümünü belirtmeye ek olarak TargetBuildVersion
anahtarını da kullanabilir.
Daha fazla bilgi için Yazılım güncellemelerini uygulatma sözlük anahtarları konusuna bakın.
Bildirimler
Notifications anahtarı, saptanmış bildirim davranışını yalnızca uygulatma zamanından 1 saat önce bir bildirim ve yeniden başlatma geri sayımını gösterecek şekilde değiştirir. Daha fazla bilgi için Notifications anahtarı konusuna bakın.
Apple Silicon çipli Mac bilgisayarları için ön yükleme (bootstrap) jetonunu kullanma
MDM çözümü, denetlenip yönetilen Apple Silicon çipli Mac bilgisayarında uygulatılan yazılım güncellemeyi yetkilendirmek için bir ön yükleme (bootstrap) jetonu isteyip emanet alabilir. Bu, tamamen sorunsuz bir yazılım güncelleme deneyimi sunar ve sürecin bir parçası olarak kullanıcı etkileşimi ihtiyacını ortadan kaldırır. Aygıt, gerekli olduğunda MDM çözümünden ön yükleme (bootstrap) jetonunu almak için bir GetBootstrapTokenRequest
kullanır.
İlk adımda, MDM çözümü SecurityInfo
komutunu kullanarak aygıtın ön yükleme (bootstrap) jetonunu destekleyip desteklemediğini belirler. Yanıt, doğru olarak ayarlanmış bir BootstrapTokenRequiredForSoftwareUpdate
içeriyorsa aygıt, yazılım güncellemeyi yetkilendirmek için bir ön yükleme (bootstrap) jetonu kullanabilir.
MDM çözümünün yaratılan ön yükleme (bootstrap) jetonunu alması için MDM profilindeki ServerCapabilities
dizisine com.apple.mdm.bootstraptoken
anahtarını eklemesi gerekir. Daha fazla bilgi için Apple Geliştirici web sitesinde MDM verisi konusuna bakın.
Aygıt, ön yükleme (bootstrap) jetonunu aldıktan sonra, güvenli jeton özellikli bir kullanıcının bir sonraki oturum açışında bir ön yükleme (bootstrap) jetonu yaratır. Sonra da MDM çözümünün durum denetimi uç noktasına ulaşıp bir SetBootstrapTokenRequest
kullanarak jetonu emanet eder. Daha fazla bilgi için Apple Geliştirici web sitesinde Ön Yükleme (Bootstrap) Jetonunu Ayarlama konusuna bakın.
En güncel şema özellikleri için Apple aygıt yönetimi GitHub deposu konusuna bakın.