こんにちは、皆さん!前回の記事では、MDM(モバイルデバイス管理)の基本的な概念についてお話ししました。
前回の記事
今回は、MDMの中でも特に重要な役割を果たすMDMコマンドについて、その魔法のような力を紹介します。
MDMコマンドとは?
MDMコマンドは、管理者がリモートでモバイル端末を管理するために使用する命令のことです。
「MDM製品」から「モバイル端末」にMDMコマンドを送ることで、管理者は物理的にデバイスに触れることなく、設定変更やアプリのインストール、セキュリティポリシーの適用などを行うことができます。
MDMコマンドには様々なコマンドがあり、MDMコマンドを使用することで、まるで魔法のようにモバイル端末をリモートで自在に操作することができます!
次の章では、どのような魔法(MDMコマンド)があるのか、いくつか紹介します!
MDMコマンドの種類
それでは、どのような魔法があるか見ていきましょう!
ここでは、いくつかのMDMコマンドの概要とコマンド例を紹介します。
各MDMコマンドの詳細については、今後の記事で紹介します。
ちなみに、MDMコマンドに関するAppleの公式ドキュメントは以下のページにあります。
Commands and Queries | Apple Developer Documentation
1. デバイス情報の取得
管理者がデバイスの状態を把握するために使用するコマンドです。
これにより、デバイスのシリアル番号、OSバージョン、インストールされているアプリなどの情報を取得できます。
用途 :デバイスの管理状況を確認し、必要なメンテナンスやサポートを行うため。
■ コマンド例[1]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Command</key>
<dict>
<key>Queries</key>
<array>
<string>UDID</string>
<string>Languages</string>
<string>Locales</string>
<string>DeviceID</string>
<string>OrganizationInfo</string>
<string>LastCloudBackupDate</string>
<string>AwaitingConfiguration</string>
<string>MDMOptions</string>
<string>iTunesStoreAccountIsActive</string>
<string>iTunesStoreAccountHash</string>
<string>DeviceName</string>
<string>OSVersion</string>
<string>BuildVersion</string>
<string>ModelName</string>
<string>Model</string>
<string>ProductName</string>
<string>SerialNumber</string>
<string>DeviceCapacity</string>
<string>AvailableDeviceCapacity</string>
<string>BatteryLevel</string>
<string>CellularTechnology</string>
<string>ICCID</string>
<string>BluetoothMAC</string>
<string>WiFiMAC</string>
<string>EthernetMACs</string>
<string>CurrentCarrierNetwork</string>
<string>SubscriberCarrierNetwork</string>
<string>CurrentMCC</string>
<string>CurrentMNC</string>
<string>SubscriberMCC</string>
<string>SubscriberMNC</string>
<string>SIMMCC</string>
<string>SIMMNC</string>
<string>SIMCarrierNetwork</string>
<string>CarrierSettingsVersion</string>
<string>PhoneNumber</string>
<string>DataRoamingEnabled</string>
<string>VoiceRoamingEnabled</string>
<string>PersonalHotspotEnabled</string>
<string>IsRoaming</string>
<string>IMEI</string>
<string>MEID</string>
<string>ModemFirmwareVersion</string>
<string>IsSupervised</string>
<string>IsDeviceLocatorServiceEnabled</string>
<string>IsActivationLockEnabled</string>
<string>IsDoNotDisturbInEffect</string>
<string>EASDeviceIdentifier</string>
<string>IsCloudBackupEnabled</string>
<string>OSUpdateSettings</string>
<string>LocalHostName</string>
<string>HostName</string>
<string>CatalogURL</string>
<string>IsDefaultCatalog</string>
<string>PreviousScanDate</string>
<string>PreviousScanResult</string>
<string>PerformPeriodicCheck</string>
<string>AutomaticCheckEnabled</string>
<string>BackgroundDownloadEnabled</string>
<string>AutomaticAppInstallationEnabled</string>
<string>AutomaticOSInstallationEnabled</string>
<string>AutomaticSecurityUpdatesEnabled</string>
<string>OSUpdateSettings</string>
<string>LocalHostName</string>
<string>HostName</string>
<string>IsMultiUser</string>
<string>IsMDMLostModeEnabled</string>
<string>MaximumResidentUsers</string>
<string>PushToken</string>
<string>DiagnosticSubmissionEnabled</string>
<string>AppAnalyticsEnabled</string>
<string>IsNetworkTethered</string>
<string>ServiceSubscriptions</string>
</array>
<key>RequestType</key>
<string>DeviceInformation</string>
</dict>
<key>CommandUUID</key>
<string>0001_DeviceInformation</string>
</dict>
</plist>
上記のコマンドに対するモバイル端末からのレスポンス
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>0001_DeviceInformation</string>
<key>QueryResponses</key>
<dict>
<key>AppAnalyticsEnabled</key>
<true/>
<key>AvailableDeviceCapacity</key>
<real>225.2413330078125</real>
<key>AwaitingConfiguration</key>
<false/>
<key>BatteryLevel</key>
<real>1.0</real>
<key>BluetoothMAC</key>
<string>58:fe:f7:70:9d:9e</string>
<key>BuildVersion</key>
<string>17A576</string>
<key>CarrierSettingsVersion</key>
<string>38.0</string>
<key>CellularTechnology</key>
<integer>3</integer>
<key>CurrentMCC</key>
<string>311</string>
<key>CurrentMNC</key>
<string>480</string>
<key>DataRoamingEnabled</key>
<false/>
<key>DeviceCapacity</key>
<real>230.26551818847656</real>
<key>DeviceName</key>
<string>iPhone</string>
<key>DiagnosticSubmissionEnabled</key>
<true/>
<key>EASDeviceIdentifier</key>
<string>V2UVOT7J157L7C1FLLSAABSOV4</string>
<key>ICCID</key>
<string>8901 0030 0000 0336 1196</string>
<key>IMEI</key>
<string>35 735005 003432 4</string>
<key>IsActivationLockEnabled</key>
<false/>
<key>IsCloudBackupEnabled</key>
<false/>
<key>IsDeviceLocatorServiceEnabled</key>
<false/>
<key>IsDoNotDisturbInEffect</key>
<false/>
<key>IsMDMLostModeEnabled</key>
<false/>
<key>IsMultiUser</key>
<false/>
<key>IsNetworkTethered</key>
<false/>
<key>IsRoaming</key>
<false/>
<key>IsSupervised</key>
<true/>
<key>MDMOptions</key>
<dict>
</dict>
<key>MEID</key>
<string>35745019114431</string>
<key>Model</key>
<string>993-31388LL</string>
<key>ModelName</key>
<string>iPhone</string>
<key>ModemFirmwareVersion</key>
<string>2.01.08</string>
<key>OSVersion</key>
<string>13.0</string>
<key>PersonalHotspotEnabled</key>
<false/>
<key>PhoneNumber</key>
<string></string>
<key>ProductName</key>
<string>iPhone11,8</string>
<key>SerialNumber</key>
<string>C7CX706CKWTK</string>
<key>ServiceSubscriptions</key>
<array>
<dict>
<key>CarrierSettingsVersion</key>
<string>41.7.19</string>
<key>CurrentCarrierNetwork</key>
<string></string>
<key>CurrentMCC</key>
<string>310</string>
<key>CurrentMNC</key>
<string>260</string>
<key>ICCID</key>
<string>8901 0030 0000 0336 1196</string>
<key>IMEI</key>
<string>35 734009 035404 0</string>
<key>IsDataPreferred</key>
<true/>
<key>IsRoaming</key>
<false/>
<key>IsVoicePreferred</key>
<true/>
<key>Label</key>
<string>Primary</string>
<key>LabelID</key>
<string>EB91134A-B155-4DAB-9D35-CB2EAF82615D</string>
<key>MEID</key>
<string>35735009002431</string>
<key>PhoneNumber</key>
<string>+12018675309</string>
<key>Slot</key>
<string>CTSubscriptionSlotOne</string>
</dict>
<dict>
<key>CarrierSettingsVersion</key>
<string>41.7.46</string>
<key>CurrentCarrierNetwork</key>
<string>AT&T</string>
<key>CurrentMCC</key>
<string>310</string>
<key>CurrentMNC</key>
<string>410</string>
<key>EID</key>
<string>89049032004008882600004821436874</string>
<key>ICCID</key>
<string>6905 4911 1205 0650 3488</string>
<key>IMEI</key>
<string>35 309418 464558 9</string>
<key>IsDataPreferred</key>
<false/>
<key>IsRoaming</key>
<false/>
<key>IsVoicePreferred</key>
<false/>
<key>Label</key>
<string>Secondary</string>
<key>LabelID</key>
<string>FDG4225C-L9OY-89BM-JF38-36JR4JOL76B3</string>
<key>MEID</key>
<string>35745008005631</string>
<key>PhoneNumber</key>
<string>+14152739164</string>
<key>Slot</key>
<string>CTSubscriptionSlotTwo</string>
</dict>
</array>
<key>SubscriberCarrierNetwork</key>
<string>ExampleCarrier</string>
<key>SubscriberMCC</key>
<string>001</string>
<key>SubscriberMNC</key>
<string>01</string>
<key>UDID</key>
<string>00008020-000915083C80012E</string>
<key>VoiceRoamingEnabled</key>
<false/>
<key>WiFiMAC</key>
<string>58:fe:f5:80:29:f3</string>
<key>iTunesStoreAccountIsActive</key>
<false/>
</dict>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>00008020-000915083C80012E</string>
</dict>
</plist>
2. プロファイルのインストール
セキュリティポリシーや設定をデバイスに適用するためのプロファイルをインストールするコマンドです。
これにより、Wi-Fi設定やVPN設定などを一括で適用できます。
用途 :企業のネットワーク設定やセキュリティポリシーを迅速に展開し、統一された環境を構築するため。
■ コマンド例[2]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Command</key>
<dict>
<key>Payload</key>
<data>
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBs
aXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3
dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJz
aW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+UGF5bG9hZENvbnRlbnQ8L2tleT4KCTxhcnJh
eT4KCQk8ZGljdD4KCQkJPGtleT5QYXlsb2FkRGVzY3JpcHRpb248L2tleT4KCQkJPHN0
cmluZz5Db25maWd1cmVzIHJlc3RyaWN0aW9uczwvc3RyaW5nPgoJCQk8a2V5PlBheWxv
YWREaXNwbGF5TmFtZTwva2V5PgoJCQk8c3RyaW5nPlJlc3RyaWN0aW9uczwvc3RyaW5n
PgoJCQk8a2V5PlBheWxvYWRJZGVudGlmaWVyPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFw
cGxlLmFwcGxpY2F0aW9uYWNjZXNzLkVENzE2QUU5LUFFODktNENFQy1BNzE3LUYyMTU2
N0UwRjUxMjwvc3RyaW5nPgoJCQk8a2V5PlBheWxvYWRUeXBlPC9rZXk+CgkJCTxzdHJp
bmc+Y29tLmFwcGxlLmFwcGxpY2F0aW9uYWNjZXNzPC9zdHJpbmc+CgkJCTxrZXk+UGF5
bG9hZFVVSUQ8L2tleT4KCQkJPHN0dmluZz5FRDcxNkFFOS1BRTg5LTRDRUMtQTcxNy1G
MjE1NjdFMEY1MTI8L3N0cmluZz4KCQkJPGtleT5QYXlsb2FtVmVyc2lvbjwva2V5PgoJ
CQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQk8a2V5PmFsbG93TG9ja1NjcmVlblRvZGF5
Vmlldzwva2V5PgoJCQk8ZmFsc2UvPgoJCQk8a2V5PnJhdGluZ1JlZ2lvbjwva2V5PgoJ
CQk8c3RyaW5nPnVzPC9zdHJpbmc+CgkJPC9kaWN0PgoJPC9hcnJheT4KCTxrZXk+UGF5
bG9hZERpc3BsYXlOYW1lPC9rZXk+Cgk8c3RyaW5nPihVKSBhbGxvd0xvY2tTY3JlZW5U
b2RheVZpZXc8L3N0cmluZz4KCTxrZXk+UGF5bG9hZElkZW50aWZpZXI8L2tleT4KCTxz
dHJpbmc+Y29tLmFwcGxlLmRtcy5yZXN0cmljdGlvbnMuYWxsb3dMb2NrU2NyZWVuVG9k
YXlWaWV3PC9zdHJpbmc+Cgk8a2V5PlBheWxwYWRSZW1vdmFsRGlzYWxsb3dlZDwva2V5
PgoJPGZhbHNlLz4KCTxrZXk+UGF5bG9hZFR5cGU8L2tleT4KCTxzdHJpbmc+Q29uZmln
dXJhdGlvbjwvc3RyaW5nPgoJPGtleT5QYXlsb2FkVVVJRDwva2V5PgoJPHN0cmluZz42
OUE0RTVGRS03NUQxLTQyOTctQkQzMi01NDA3MTBFRDYzNjA8L3N0cmluZz4KCTxrZXk+
UGF5bG9hZFZlcnNpb248L2tleT4KCTxpbnRlZ2VyPjE8L2ludGVnZXI+CjwvZGljdD4K
PC9wbGlzdD4K
</data>
<key>RequestType</key>
<string>InstallProfile</string>
</dict>
<key>CommandUUID</key>
<string>0001_InstallProfile</string>
</dict>
</plist>
上記のコマンドに対するモバイル端末からのレスポンス
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>0001_InstallProfile</string>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>00008020-000915083C80012E</string>
</dict>
</plist>
3. アプリのインストール
特定のアプリをデバイスにインストールするためのコマンドです。これにより、業務に必要なアプリを迅速に展開できます。
用途 :業務に必要なアプリケーションを迅速に配布し、業務効率を向上させるため。
■ コマンド例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>f4492def-9ae2-4bb3-a763-4f3e18278792</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>InstallApplication</string>
<key>Attributes</key>
<dict>
<key>Removable</key>
<false />
</dict>
<key>Identifier</key>
<string>net.skyseaclientview.mdm</string>
<key>ChangeManagementState</key>
<string>Managed</string>
<key>InstallAsManaged</key>
<true />
<key>ManagementFlags</key>
<integer>4</integer>
</dict>
</dict>
</plist>
上記のコマンドに対するモバイル端末からのレスポンス
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>f4492def-9ae2-4bb3-a763-4f3e18278792</string>
<key>Identifier</key>
<string>net.skyseaclientview.mdm</string>
<key>State</key>
<string>Installing</string>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>00008020-000915083C80012E</string>
</dict>
</plist>
4. デバイスのロック
紛失や盗難時にデバイスをリモートでロックするためのコマンドです。これにより、デバイスの不正使用を防止できます。
用途 :紛失や盗難時にデバイスのデータを保護し、不正アクセスを防止するため。
■ コマンド例[3]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Command</key>
<dict>
<key>Message</key>
<string>Lock Message</string>
<key>PhoneNumber</key>
<string>408-555-5555</string>
<key>RequestType</key>
<string>DeviceLock</string>
</dict>
<key>CommandUUID</key>
<string>0001_DeviceLock</string>
</dict>
</plist>
上記のコマンドに対するモバイル端末からのレスポンス
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>0001_DeviceLock</string>
<key>MessageResult</key>
<string>Success</string>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>00008020-000915083C80012E</string>
</dict>
</plist>
これらのコマンドを駆使することで、モバイル端末をまるで魔法のようにリモートで管理することが可能になります!
数多のMDMコマンドを操る魔術師、その名も「SKYSEA Client View」
弊社商品の「SKYSEA Client View」がオプションとして提供するMDM機能では、様々なMDMコマンドを駆使して、モバイル端末をリモートで管理することができます!
本記事で紹介したMDMコマンドに加えて、モバイル端末のOSアップデートをリモートで制御するなど、さらに多くの強力な機能を備えています。
モバイル端末を操る魔法使いを目指すあなた、「SKYSEA Client View」でその魔法の力を手に入れましょう。
コマンド例は、次のAppleのWebページを引用しています。
https://developer.apple.com/documentation/devicemanagement/device-information-command ↩︎コマンド例は、次のAppleのWebページを引用しています。
https://developer.apple.com/documentation/devicemanagement/install-application-command ↩︎コマンド例は、次のAppleのWebページを引用しています。
https://developer.apple.com/documentation/devicemanagement/device-lock-command ↩︎