Интеграция 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 (устаревшая OS, 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.