MDM을 사용하여 Apple 기기에 소프트웨어 업데이트 배포하기
선언적 기기 관리는 Apple 기기 관리의 미래입니다. 이를 통해 기기는 지속적인 폴링 없이 설정을 비동기식으로 적용하고 상태를 MDM(모바일 기기 관리) 솔루션에 다시 보고할 수 있습니다. 이는 성능과 확장성에 이상적이며 소프트웨어 업데이트를 관리하기 위한 현대적인 접근 방식도 가능하게 합니다. 선언적 기기 관리는 값 및 구성 변경에 따라 기기에서 사전 상태 리포트를 제공합니다. 이러한 방식으로 MDM 솔루션은 정기적인 쿼리를 수행하지 않고도 기기에 대한 보기를 최신으로 유지할 수 있습니다.
MDM 솔루션은 소프트웨어 업데이트 명령을 기기에 전송하여 업데이트를 시작하는 대신, 원하는 운영 체제 버전 상태를 선언하고, 해당 상태를 달성하는 작업을 기기 자체에 위임합니다. 이렇게 하면 관리형 소프트웨어 업데이트 프로세스의 회복력이 한층 강화되며, 사용자 투명성이 향상됩니다.
소프트웨어 업데이트 선언 활용의 중요성
MDM 솔루션은 가능한 소프트웨어 업데이트 선언을 활용해야 합니다. 하지만 레거시 소프트웨어 업데이트 명령 및 프로필은 계속 사용할 수 있으며 지원됩니다. 다음과 같은 변경 사항으로 소프트웨어 업데이트 선언과 함께 작동할 수 있습니다.
선언으로 정의된 연기는 제한으로 구성된 연기보다 우선합니다.
선언으로 적용된 macOS의 자동 소프트웨어 업데이트 설정은 구성 프로필에 제공된 자동 업데이트 설정보다 우선합니다.
선언적 기기 관리를 사용하여 구성된 보류 중인 소프트웨어 업데이트가 있는 경우, 일부 MDM 명령은 더 이상 클라이언트에서 처리되지 않으며 기기에 활성 선언이 있음을 전달하는 오류가 다음 표에 표시된 대로 나타납니다.
MDM 명령 | 결과 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| 제한됨: macOS에서, 관리되지 않는 운영 체제 기반 업데이트는 명령 응답(예: Xcode 또는 명령어 라인 도구)에 표시될 수 있습니다. | ||||||||||
| 기기가 | ||||||||||
| 기기가 비어 있는 상태 배열을 반환합니다. |
Apple Software Lookup Service 찾아보기
Apple Software Lookup Service(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
선언을 기기에 전송하여 각 상태 리포트를 구독해야 합니다. 기기는 ManagementStatusSubscriptions
선언이 활성화될 때, 구독 항목의 상태가 변경될 때, 그리고 24시간마다 StatusReport
를 MDM 솔루션에 전송합니다.
운영 체제 버전 및 소프트웨어 업데이트 상태를 모니터링하기 위해 MDM 솔루션은 다음 상태 리포트를 구독할 수 있습니다.
상태 리포트 | 설명 |
---|---|
| 기기에 설치된 운영 체제의 빌드 버전입니다(예: 21E219). |
| 기기에서 사용 중인 운영 체제의 버전입니다(예: 17.4). |
| 운영 체제의 빌드 및 기기에서 사용 중인 신속 보안 대응 버전입니다(예: 20A123a 또는 20F75c). |
| 기기에서 사용 중인 운영 체제 신속 보안 대응의 버전입니다(예: a). |
| 기기에서 보류 중인 소프트웨어 업데이트의 빌드 및 운영 체제 버전을 포함하는 사전입니다. |
| 소프트웨어 업데이트 설치 상태이며 다음과 같은 값이 있습니다.
|
| 보류 중인 소프트웨어 업데이트의 원인에 대한 세부사항이 있는 사전입니다.
|
| 소프트웨어 업데이트 실패에 관한 세부사항입니다. 세부사항에는 소프트웨어 업데이트 실패 횟수, 마지막 실패 타임스탬프 및 실패 이유가 포함됩니다. |
| 기기의 등록된 베타 프로그램 이름이며, 또는 등록된 베타 프로그램이 없을 경우 빈 문자열입니다. |
다른 리포트 외에도, MDM 솔루션은 관리자가 지원 목적으로 softwareupdate.install-reason
을 사용할 수 있도록 하고 업데이트가 어떻게 트리거되었는지에 대한 추가적인 분석 정보를 제공할 수 있습니다. 이 사전은 사용자가 업데이트를 직접 시작했는지, 업데이트가 자동으로 실행되었는지, 아니면 소프트웨어 업데이트 강제 적용 선언에 의해 강제 시행되었는지를 판단하는 데 사용할 수 있습니다.
MDM 등록 중에 특정 최소 소프트웨어 버전 요구하기
기기가 이 기능을 지원하는 경우, 기기가 설정 지원에서 관리 구성을 감지하면 MDM 솔루션에 초기 HTTP POST 요청을 보낼 때 MachineInfo
데이터에서 True로 설정된 MDM_CAN_REQUEST_SOFTWARE_UPDATE 키가 반환됩니다. 자세한 정보는 Apple 기기 관리 GitHub 저장소에서 MachineInfo yaml 파일의 내용을 참조하십시오.
또한 기기는 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 Service에서 사용 가능한 운영 체제 업데이트를 찾는데 사용되는 기기 모델 식별자입니다. |
제공된 정보를 기반으로, MDM 솔루션은 기기를 업데이트하도록 강제할지 여부를 결정할 수 있습니다.
MDM 솔루션이 소프트웨어 업데이트를 강제 적용하지 않기로 선택하는 경우, 일반적으로 MDM 등록을 진행하기 위해 수행하는 것처럼 HTTP POST 요청에 대한 응답으로 MDM 등록 프로필을 반환합니다.
MDM 솔루션이 소프트웨어 업데이트를 강제 적용하기로 결정한 경우, 403 상태 코드가 있는 HTTP 응답을 반환해야 하며, 응답 본문에 JSON 또는 XML 객체가 포함되어 있어야 합니다. (HTTP Content-Type 응답 헤더는
application/json
또는application/xml
로 각각 설정되어 있어야 합니다.)
이 오류 응답이 수신되면 기기는 지정된 버전으로 업데이트를 시도합니다. 업데이트가 성공하면 기기가 재시동되어 사용자는 설정 지원을 다시 진행해야 합니다. 기기에서 MDM 솔루션에 보내는 다음 MachineInfo
POST 요청에는 업데이트된 운영 체제 버전이 표시되며, 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 기기에서 신속 보안 대응을 구성하는 데 사용될 수도 있습니다. 자세한 정보는 iOS, iPadOS 및 macOS용 RapidSecurityResponse 사전 키의 내용을 참조하십시오.
MDM을 사용하여 소프트웨어 업데이트 연기하기
1일에서 90일까지 소프트웨어 업데이트 및 업그레이드 연기는 감독 중인 iPhone, iPad 및 Mac 기기에서 com.apple.configuration.softwareupdate.settings
선언을 사용하여 완료됩니다.
구성된 연기는 릴리즈가 공개적으로 사용 가능해진 후 사용자에게 제공되지 않는 일수를 정의합니다. 구성된 연기와는 관계없이, MDM 솔루션은 여전히 관리형 기기에 특정 소프트웨어 업데이트, 업그레이드 또는 신속 보안 대응을 강제 적용할 수 있습니다. 자세한 정보는 iOS 및 iPadOS용 Deferrals 사전 키 및 macOS용 Deferrals 사전 키의 내용을 참조하십시오.
참고: 소프트웨어 업데이트를 연기하면 해당 버전에 의존하는 모든 신속 보안 대응도 연기됩니다.
MDM을 사용하여 소프트웨어 업데이트 강제 적용하기
기기 등록 또는 자동 기기 등록을 사용하여 등록된 기기에 특정 시간까지 소프트웨어 업데이트를 강제 적용하기 위해, MDM 솔루션은 com.apple.configuration.softwareupdate.enforcement.specific
선언을 적용할 수 있습니다.
구성이 현재 기기 버전과 동일하거나 더 이전의 운영 체제 또는 빌드 버전을 지정하는 경우, 해당 구성은 무시됩니다.
현재 기기의 버전보다 더 최신의 운영 체제 또는 빌드 버전이 있는 여러 구성이 있는 경우, 대상 날짜와 시간이 가장 빠른 구성이 먼저 처리되며, 다른 구성은 대기 상태로 남아 있습니다. 기기가 새로운 버전으로 업데이트되면, 구성 세트가 다시 처리되어 다음에 처리될 구성이 결정됩니다.
MDM 솔루션이 TargetOSVersion
만 지정한 경우 모든 사용 가능한 신속 보안 대응이 자동으로 설치됩니다. 특정 릴리즈 또는 신속 보안 대응을 대상으로 하려면, MDM 솔루션에서 추가 버전 ID를 포함한 빌드를 지정하는 것 외에도 TargetBuildVersion
키를 사용할 수 있습니다.
자세한 정보는 소프트웨어 업데이트 강제 적용 사전 키의 내용을 참조하십시오.
알림
키는 기본 알림 동작을 변경하여 강제 적용 시간 1시간 전에만 알림을 표시하고 재시동 카운트다운을 보여줍니다. 자세한 정보는 알림 키의 내용을 참조하십시오.
Apple Silicon이 탑재된 Mac 컴퓨터에 대해 Bootstrap Token 사용하기
Apple Silicon이 탑재된 감독 중인 Mac 컴퓨터에 대한 소프트웨어 업데이트 강제 적용을 인증하려면, MDM 솔루션은 Bootstrap Token을 요청하고 에스크로할 수 있습니다. 이를 통해 완전히 원할한 소프트웨어 업데이트를 경험할 수 있으며, 프로세스의 일부인 사용자 상호 작용도 필요하지 않게 됩니다. 필요한 경우, 기기는 GetBootstrapTokenRequest
를 사용하여 MDM 솔루션에서 Bootstrap Token을 가져옵니다.
첫 번째 단계에서 MDM 솔루션은 SecurityInfo
명령을 사용하여 기기가 Bootstrap Token을 지원하는지 여부를 확인합니다. 응답에 BootstrapTokenRequiredForSoftwareUpdate
가 True로 설정되어 포함되어 있는 경우, 기기는 소프트웨어 업데이트를 인증하기 위해 Bootstrap Token을 사용할 수 있습니다.
생성된 Bootstrap Token을 가져오려면, MDM 솔루션은 MDM 프로필에서 com.apple.mdm.bootstraptoken
을 ServerCapabilities
배열에 추가해야 합니다. 자세한 정보는 Apple Developer 웹사이트에서 MDM payload를 참조하십시오.
기기로 Bootstrap Token을 가져오면, 다음에 보안 토큰이 활성화된 사용자가 로그인하면 기기에서 Bootstrap Token을 생성합니다. 그런 다음 기기는 MDM 솔루션의 체크인 엔드포인트에 접근하여 SetBootstrapTokenRequest
를 사용하여 토큰을 에스크로합니다. 자세한 정보는 Apple Developer 웹사이트에서 Set Bootstrap Token을 참조하십시오.
최신 스키마 사양에 대한 자세한 정보는 Apple device management GitHub repository를 참조하십시오.