Налаштування Mobile Application Management (MAM) для корпоративного додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Налаштування Mobile Application Management (MAM) для корпоративного додатку
Складний
~3-5 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Настройка Mobile Application Management (MAM) для корпоративного додатка

MDM управляє пристроєм цілком. MAM управляє лише додатком—і це принципіальна різниця для BYOD-сценарію, де сотрудник не готовий віддавати IT-відділу контроль над особистим телефоном. MAM без MDM-реєстрації пристрою—саме той інструмент, який дозволяє захистити корпоративні дані всередину додатка, не торкаючись особистого простору користувача.

MAM без MDM: як це працює

Класичний MAM-сценарій на базі Microsoft Intune: сотрудник встановлює додаток з App Store/Google Play на особистий телефон, входить з корпоративним Azure AD акаунтом—і з цього моменту політики MAM застосовуються до даних цього додатка. MDM-профіль на пристрій не встановлюється.

Політики MAM, які можна застосувати без управління пристроєм:

  • Запрет copy-paste корпоративних даних у особисті додатки.
  • Принудове шифрування файлів, збережених додатком.
  • Вимога PIN або біометрії для доступу до додатка (окремо від системної).
  • Блокування screenshot у додатку.
  • Remote selective wipe—видалення лише корпоративних даних при звільненні, без wipe особистих фото.
  • Запрет відкриття посилань у особистому браузері (лише у Managed Browser / Edge).

Intune App SDK: інтеграція на iOS

Для роботи MAM-політик Intune через 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

// 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 без змін вихідного коду. Точність застосування політик трохи менша, але для базового набору правил працює.

MAM-політики без Intune: альтернативи

Якщо Intune не в стеку, але потрібні аналогічні обмеження:

  • VMware Workspace ONE SDK — аналог Intune SDK, інтегрується подібно.
  • MobileIron AppConnect — контейнер на рівні додатка з окремим шифруванням.
  • Власна реалізація через UIPasteboard.withUniqueName(), відключення screenshot через UIScreen.isCaptured, шифрування файлів через CryptoKit із ключем у Keychain. Підходить для випадків, коли MAM-сервер не потрібен, але базові обмеження необхідні.

Selective Wipe: механіка видалення даних

Remote selective wipe по MAM-політиці—це не factory reset. Видаляються лише дані додатка: 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-платформи → настройка Azure AD / EMM-консолі → розробка App Registration → інтеграція SDK на iOS та Android → тестування всіх політик (clipboard, screenshot, save, wipe) → UAT з IT-командою → rollout.

Терміни: інтеграція Intune MAM SDK у готовий додаток—3–5 тижнів на платформу. Повний MAM-rollout з настройкою політик та обучанням—6–8 тижнів. Вартість розраховується індивідуально.