MAM для корпоративного приложения: настройка и интеграция
MDM управляет устройством целиком. MAM управляет только приложением — это принципиальная разница для BYOD-сценария, где сотрудник не готов отдавать IT-контроль над личным телефоном. Мы ежедневно сталкиваемся с запросами на настройку MAM для корпоративных приложений. Правильная интеграция MAM-политик снижает риски утечки данных до 80% без вмешательства в личное пространство. Также экономия на лицензиях MDM может достигать 40%. Мы настраиваем MAM под ключ с гарантией результата, используя сертифицированные решения Microsoft Intune.
Классический сценарий MAM на базе Microsoft Intune: сотрудник устанавливает приложение из App Store или Google Play на личный телефон, входит с корпоративным Azure AD аккаунтом — и с этого момента политики MAM применяются к данным этого приложения. MDM-профиль на устройство не устанавливается. Это идеальное решение для компаний с BYOD-политикой. Получите консультацию — мы оценим ваш проект и подберём оптимальную конфигурацию.
Как MAM защищает корпоративные данные без MDM?
Политики MAM, доступные без управления устройством:
| Политика | Описание |
|---|---|
| Запрет copy-paste корпоративных данных | Выходные данные нельзя вставить в личные приложения |
| Принудительное шифрование файлов | Все файлы, сохранённые приложением, шифруются |
| Требование PIN или биометрии | Дополнительная аутентификация при входе в приложение |
| Блокировка скриншотов | Предотвращает захват экрана с данными |
| Remote selective wipe | Удаление только корпоративных данных при увольнении |
| Запрет открытия ссылок в личном браузере | Ссылки открываются только в Managed Browser |
Интеграция MAM через Microsoft Intune — отраслевой стандарт. Документация Intune подтверждает, что SDK поддерживает все перечисленные политики из коробки.
Intune App SDK: интеграция в iOS-приложение
Для работы MAM-политик необходимо интегрировать SDK. SDK перехватывает системные API (clipboard, file sharing, screenshot detection) и применяет политики.
Добавление через CocoaPods:
pod 'MSAL' pod 'IntuneMAMSwift' Минимальная инициализация в AppDelegate:
import IntuneMAMSwift @main class AppDelegate: UIResponder, UIApplicationDelegate, IntuneMAMPolicyDelegate { func application(_ app: UIApplication, didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { IntuneMAMPolicyManager.instance().delegate = self return IntuneMAMPolicyManager.instance().didFinishLaunching(withOptions: options) } func identitySwitchRequired(_ identity: String, forReason reason: IntuneMAMPolicyManagerIdentitySwitchReason, completionHandler completion: @escaping IntuneMAMAddIdentityCompletionHandler) { // Обработка смены identity при multi-account completion(.allowed) } } После интеграции SDK UIPasteboard автоматически ограничивается политикой, UIDocumentPickerViewController — тоже. Приложение само по себе не меняется — MAM-движок работает через method swizzling системных классов.
Критичный момент: SDK требует MSAL (Microsoft Authentication Library) для получения MAM-токена. Без корректной регистрации приложения в Azure AD (App Registration + MAM-разрешения) политики не применяются даже при наличии SDK. Типичная ошибка при первой интеграции — политики «не работают» именно из-за неправильного App Registration или отсутствия Intune App Protection Policy в Azure Portal.
MAM на Android: Intune App SDK для Android
// build.gradle implementation 'com.microsoft.intune.mam:android-mam-sdk:10.0.0' Для Android SDK важна правильная конфигурация MAMApplication:
class MyApplication : MAMApplication() { override fun onCreate() { super.onCreate() // MAM SDK перехватывает Context, Activity, ContentProvider } } Android MAM SDK использует MAMActivity вместо AppCompatActivity, MAMContentProvider вместо ContentProvider. Это требует рефакторинга базовых классов. Если переписывать базовые классы нежелательно (legacy-приложение, большая кодовая база), используйте App Wrapping Tool — post-build инструмент, добавляющий MAM-логику в скомпилированный APK/IPA без изменения исходного кода. Intune MAM SDK точнее применяет политики, но требует больше работы на этапе интеграции.
Сравнение MAM-платформ
| Платформа | Способ интеграции | Точность политик | Сложность |
|---|---|---|---|
| Microsoft Intune | SDK или App Wrapping | Высокая (SDK), Средняя (Wrapping) | Средняя |
| VMware Workspace ONE | SDK | Высокая | Средняя |
| MobileIron AppConnect | Контейнер приложения | Высокая | Высокая |
Что такое selective wipe и как он работает?
Remote selective wipe по MAM-политике — удаление только корпоративных данных: Keychain-записей с тегом appID, файлов в Application Support/, кэша, cookies в WKWebView. Личные данные не затрагиваются.
Реализация wipe-обработчика в SDK:
// IntuneMAMPolicyDelegate func wipeDataForAccount(_ account: String) -> Bool { DataVault.shared.deleteAll() KeychainManager.shared.clearCorporateKeys() URLCache.shared.removeAllCachedResponses() return true } IT-администратор инициирует wipe из Intune Portal в один клик. Следующий запуск приложения на устройстве — данных нет, нужна повторная авторизация.
Этапы работы
- Аудит требований к политикам
- Выбор MAM-платформы (Intune, VMware, MobileIron)
- Настройка Azure AD или EMM-консоли
- Разработка App Registration
- Интеграция SDK в iOS и Android
- Тестирование всех политик (clipboard, screenshot, save, wipe)
- UAT с IT-командой
- Rollout и обучение
Сроки: интеграция Intune MAM SDK в готовое приложение — 3–5 недель на платформу. Полный MAM-rollout с настройкой политик и обучением — 6–8 недель.
Что входит в работу
- Документация: схема политик, инструкция по эксплуатации
- Настройка доступа к Azure AD и Intune Portal
- Интеграция SDK для iOS и Android
- Тестирование всех политик на реальных устройствах
- Обучение IT-команды: до 8 часов консультаций
- Пост-релизная поддержка: 2 недели
У нас 5+ лет опыта в интеграции MAM, реализовано более 30 проектов. Получите бесплатную оценку вашего приложения — напишите нам. Закажите внедрение MAM под ключ с гарантией результата.







