У меня есть mdm-сервер, который управляет устройствами iOS. Мы выполнили все шаги для установки профиля mdm на устройстве. Кроме того, мы применили все политики, которые применимы к устройству и конфигурациям, например Wi-Fi.
Вопрос 1: Когда мы отправляем "allowAppRemoval" как ложное, устройство не применяет эту политику, это вызывает несоблюдение устройства, поскольку эта политика отправляется на устройство, но устройство не признает эту политику. MDM В справочной документации по настройке упоминается, что эта политика доступна. Он описывает это как: Необязательно. Если false, отключает удаление приложений с устройства iOS.
Но после применения политики говорят, что я отправил allowCamera и allowAppRemoval как false, и попытаюсь извлечь все политики, применяемые на устройстве, используя команду "Ограничения". Ограничения только возвращают политику камеры и всех иждивенцев, но вообще не уведомляют allowAppRemoval.
Возможно ли, что iOS не поддерживает эту политику? Я работаю над iOS 7.1. Есть много сообщений, которые сообщают об этой проблеме, но ни одно из них не дает никакого решения или резонансного ответа на него.
"Обновить 1": Ниже приведено содержимое загружаемой информации ограничений, переданное устройству с allowAppRemoval на устройство как false
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDescription</key>
<string>MDM Policies</string>
<key>PayloadDisplayName</key>
<string>Restrictions</string>
<key>PayloadIdentifier</key>
<string>com.version1.mdm3.configuration.restrictions1</string>
<key>PayloadOrganization</key>
<string></string>
<key>PayloadType</key>
<string>com.apple.applicationaccess</string>
<key>PayloadUUID</key>
<string>BB35B1B3-9944-4C43-AD36-27176362AB2A</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>allowAppRemoval</key>
<false/>
</dict>
</array>
Эта полезная нагрузка устанавливается как профиль. Ниже приведены консольные журналы
Polling MDM server https://mdm-server-url/location for next command.
mdmd[1120] <Notice>: (Note ) MDM: Transaction completed. Status: 200
mdmd[1120] <Notice>: (Note ) MDM: Attempting to perform MDM request: InstallProfile
profiled[1121] <Notice>: (Note ) MC: Checking for MDM installation...
profiled[1121] <Notice>: (Note ) MC: ...finished checking for MDM installation.
profiled[1121] <Notice>: (Note ) MC: Beginning profile installation...
profiled[1121] <Error>: MKBDeviceLockAssertion: MKBDeviceLockAssertion (asserttype:3)
profiled[1121] <Error>: MKBDeviceGetGracePeriod: MKBDeviceGetGracePeriod() => (0,0,0)
profiled[1121] <Error>: MKBDeviceGetGracePeriod: MKBDeviceGetGracePeriod() => (0,0,0)
profiled[1121] <Error>: get_longlongvalue_for_key: failed to get GracePeriod
profiled[1121] <Error>: get_longlongvalue_for_key: failed to get MaxLifetime
profiled[1121] <Error>: MKBDeviceSetGracePeriod: MKBDeviceSetGracePeriod(-1,5,-1)
profiled[1121] <Error>: MKBDeviceSetGracePeriod: MKBDeviceSetGracePeriod: from AKS 0
keybagd[46] <Error>: 0x243000 __update_system_keybag_block_invoke: Updating System Keybag
keybagd[46] <Error>: 0x243000 KBUpdateSystemKeyBag: Got opaqueStuff from ondisk keybag
profiled[1121] <Notice>: (Note ) MC: Profile com.version1.mdm3.configuration installed.
keybagd[46] <Error>: 0x243000 KBUpdateSystemKeyBag: Saved new keybag with result 2371352
profiled[1121] <Error>: __MKBAssertionFinalize: __MKBAssertionFinalize(0x17d93b50)
mdmd[1120] <Notice>: (Note ) MDM: Command Status: Acknowledged
И когда профиль установлен, полезная нагрузка Ограничений на устройстве отображается как: "Не указывайте никаких ограничений",
Вопрос 2: Существует ли политика, которая может блокировать удаление полезной нагрузки MDM. У нас есть атрибут " PayloadRemovalDisallowed " для каждой полезной нагрузки, который при установке true мы не можем удалить профиль, установленный на устройстве. Но это делается только один раз при установке профиля на устройстве. Мой сценарий немного отличается. Я хочу иметь политику, которая при необходимости может быть выполнена, что не позволит удалить профиль mdm, и когда будет создан ложный профиль mdm для удаления. Я также передал всю документацию об этом, мы можем иметь контролируемое устройство, но это не требование. Говоря простыми словами, у нас есть такая политика, как allowCamera, которая при создании фальшивых блоков блокирует камеру и наоборот. Я не хочу вообще менять полезную нагрузку mdm, установленную на устройстве. Если для этого требуется реализация на стороне клиента, мы также можем пропустить ее.
Надеюсь, я поняла. Благодарю.
Рассматривая Apple Configurator v. 1.6, настройка allowAppRemoval предназначена только для контролируемых устройств. Я уверен, что единственный способ иметь контролируемое устройство через MDM - это устройство, которое будет зарегистрировано в DEP (программе регистрации устройств Apple).
Что касается проблемы с полезной нагрузкой MDM, как говорит Виктор, устройство должно контролироваться. Опять же, DEP является единственным вариантом для полезных нагрузок MDM.
Вопрос 1.
Понятия не имею. Похоже, вы не только просите об этом: https://discussions.apple.com/thread/4244061?start=0&tstart=0
Вы проверили консоль, чтобы увидеть какие-либо ошибки/предупреждения?
Одна сумасшедшая идея. Возможно, это ограничение применимо только к контролируемым устройствам. Они могут просто забыть упомянуть об этом в документации.
Вопрос 2.
Вы не можете этого сделать. Он либо съемный (для неконтролируемого или контролируемого устройства), либо не съемный (только контролируемые устройства).