Інтеграція Microsoft Intune для керування мобільним застосунком

Корпоративні застосунки на iOS та Android потребують політик, які не можна реалізувати через стандартні обмеження ОС. Якщо в організації вже розгорнуті Azure AD, Office 365 і Teams, Microsoft Intune — це де-факто стандарт EMM. Ми спеціалізуємося на інтеграції Intune SDK і MSAL у мобільні застосунки,

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція Microsoft Intune для керування мобільним застосунком
Складний
~3-5 днів

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

Часті запитання

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Корпоративні застосунки на iOS та Android потребують політик, які не можна реалізувати через стандартні обмеження ОС. Якщо в організації вже розгорнуті Azure AD, Office 365 і Teams, Microsoft Intune — це де-факто стандарт EMM. Ми спеціалізуємося на інтеграції Intune SDK і MSAL у мобільні застосунки, забезпечуючи Conditional Access на рівні Azure AD та захист даних через MAM. Одного разу нам надійшов проєкт для великого банку: потрібно було за два тижні впровадити Intune MAM у вже існуючий React Native застосунок. Впоралися за 12 робочих днів — і тепер розповімо, як уникнути типових помилок.

Intune — де-факто стандарт EMM для Microsoft-орієнтованих організацій. Якщо інфраструктура на Azure AD, Office 365, Teams — Intune логічний вибір: єдина консоль, Conditional Access на рівні Azure AD, нативна інтеграція з Defender for Endpoint. Для мобільного застосунку інтеграція означає підтримку MAM SDK або App Wrapping + коректну роботу з MSAL для отримання токенів з урахуванням compliance-статусу пристрою.

Реєстрація застосунку в Azure AD

Перший крок — App Registration в Azure Portal. Без коректної реєстрації Intune не зможе застосовувати політики до застосунку.

Мінімальний набір налаштувань:

  1. Створити App Registration в Azure AD.
  2. Додати API Permissions: DeviceManagementApps.ReadWrite.All, DeviceManagementConfiguration.ReadWrite.All (якщо застосунок читає політики напряму).
  3. Додати IntuneMAM в Redirect URI: msauth.{bundle-id}://auth.
  4. Увімкнути Public client flows для мобільних клієнтів.
  5. В Intune Portal (portal.azure.com → Intune → Client Apps) додати застосунок в App Protection Policy та призначити на групи.

Як працює Conditional Access з MSAL?

MSAL (Microsoft Authentication Library) — заміна ADAL, обов'язковий компонент для сучасної Intune-інтеграції. Conditional Access працює автоматично: якщо пристрій non-compliant (застаріла ОС, jailbreak за оцінкою Intune), MSAL отримує MSALError з кодом conditionalAccessClaim — застосунок має повторно запитати токен з додатковими claims. MSAL v1.1+ обробляє CA challenge автоматично за умови коректної конфігурації.

iOS (Swift):

import MSAL let config = MSALPublicClientApplicationConfig( clientId: "YOUR_CLIENT_ID", redirectUri: "msauth.com.company.app://auth", authority: try MSALAADAuthority(url: URL(string: "https://login.microsoftonline.com/YOUR_TENANT_ID")!) ) config.bypassRedirectURIValidation = false let application = try MSALPublicClientApplication(configuration: config) let webParameters = MSALWebviewParameters(authPresentationViewController: viewController) let interactiveParameters = MSALInteractiveTokenParameters( scopes: ["https://graph.microsoft.com/.default"], webviewParameters: webParameters ) application.acquireToken(with: interactiveParameters) { result, error in if let result = result { // result.accessToken — використовувати для API-запитів // result.account — зберегти для silent token refresh } } 

Intune MAM SDK: ключові точки інтеграції

Після додавання IntuneMAMSwift (iOS) або intune-mam-sdk (Android) — декілька обов'язкових точок: Реєстрація акаунта після авторизації:

// Після успішного MSAL login IntuneMAMEnrollmentManager.instance().loginAndEnrollAccount(userPrincipalName) // SDK реєструє UPN в MAM-сервісі та запитує політики 

Обробка enrollment callback:

class MAMEnrollmentDelegate: NSObject, IntuneMAMEnrollmentDelegate { func enrollmentRequestWithStatus(_ status: IntuneMAMEnrollmentStatus) { switch status.statusCode { case .enrollmentSuccess: // Політики застосовано, дозволяємо доступ до корпоративних функцій case .enrollmentFailed: // Показуємо помилку, обмежуємо доступ case .unenrollmentSuccess: // Selective wipe завершено } } } 

Перевірка політики перед дією:

let policyManager = IntuneMAMPolicyManager.instance() if policyManager.policy(forIdentity: userUPN).isSaveToPersonalAllowed(for: .camera) { // Дозволити збереження в Camera Roll } else { showRestrictedActionAlert() } 

Що дає Managed App Configuration?

В Intune Portal для кожного застосунку можна задати Configuration Policy — словник ключів/значень, який застосунок читає через UserDefaults.standard.dictionary(forKey: "com.apple.configuration.managed") (iOS) або RestrictionsManager (Android). Це дозволяє IT-адміністратору змінювати параметри (наприклад, URL бекенду або таймаут сесії) без оновлення застосунку.

Типові параметри для корпоративного застосунку:

<!-- App Configuration Policy в Intune Portal (XML формат) --> <dict> <key>BackendURL</key> <string>https://api.corp.example.com</string> <key>TenantID</key> <string>corp-tenant-001</string> <key>EnableVerboseLogging</key> <false/> <key>SessionTimeoutMinutes</key> <integer>30</integer> </dict> 

Інтеграція з Microsoft Defender for Endpoint

Якщо в організації використовується Defender for Endpoint (MDE), Intune може отримувати від нього сигнали про mobile threat defense: джейлбрейк, шкідливі мережі, вразливі застосунки. Conditional Access використовує ці сигнали для блокування токенів. Для цього в застосунок вбудовується Defender SDK — він працює фоном, надсилає threat events в MDE, Intune отримує compliance status. З точки зору застосунку — це окрема залежність, але без змін в основній бізнес-логіці.

Порівняння підходів: MAM SDK проти App Wrapping

Параметр MAM SDK App Wrapping
Зміна коду Потрібна Не потрібна
Гнучкість управління Висока (фінальний контроль) Середня (обмежені політики)
Швидкість впровадження 3–5 тижнів 1 тиждень
Платформи iOS, Android, React Native, Flutter Тільки iOS та Android

MAM SDK дає повний контроль над корпоративними даними без необхідності використовувати App Wrapping — це в 3 рази швидше з точки зору налаштування політик і не потребує зміни коду сторонніх модулів.

Що входить в нашу роботу

Ми забезпечуємо повний цикл інтеграції:

  • Аудит поточного застосунку та конфігурації Azure AD.
  • Реєстрація застосунку в Azure AD та налаштування необхідних дозволів.
  • Інтеграція MSAL з підтримкою Conditional Access.
  • Вбудовування Intune MAM SDK (iOS/Android/React Native/Flutter).
  • Реалізація enrollment lifecycle та selective wipe.
  • Налаштування Managed App Configuration та App Protection Policy.
  • Тестування всіх сценаріїв: Conditional Access, захист перенесення файлів, блокування на non-compliant пристроях.
  • Документація для IT-відділу та навчання адміністраторів.
  • Підтримка на етапі релізу в App Store та Google Play.

Зв'яжіться з нами для оцінки вашого проєкту — ми підготуємо комерційну пропозицію протягом дня. Замовте інтеграцію під ключ — терміни від 3 до 8 тижнів залежно від складності.

Наш досвід — 5 років в enterprise мобільній розробці, понад 20 успішних проєктів з Intune, включаючи банки, ритейл та логістику. Гарантуємо чисту інтеграцію без конфліктів з existing-кодом та повне проходження App Store Review.

Етапи інтеграції

Azure AD App Registration → налаштування MSAL → додавання Intune MAM SDK → реалізація enrollment lifecycle → Managed App Configuration → App Protection Policy в Intune Portal → тестування Conditional Access → тестування selective wipe → rollout.

Терміни: інтеграція MSAL + MAM SDK в готовий застосунок — 3–5 тижнів. З налаштуванням Intune Portal, політик та тестуванням — 6–8 тижнів. Вартість розраховується індивідуально.

Детальніше про Intune SDK читайте в офіційній документації Microsoft, а про MSAL — в MSAL для iOS.