Интеграция Microsoft Intune для управления мобильным приложением

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

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Интеграция Microsoft Intune для управления мобильным приложением
Сложный
~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

Интеграция Microsoft Intune для управления мобильным приложением

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 и назначить на группы.

MSAL: аутентификация с учётом Conditional Access

MSAL (Microsoft Authentication Library) — замена ADAL, обязательный компонент для современной Intune-интеграции.

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
    }
}

Conditional Access работает автоматически: если устройство non-compliant (устаревшая OS, jailbreak по оценке Intune), MSAL получает MSALError с кодом conditionalAccessClaim — приложение должно повторно запросить токен с дополнительными claims. Это не требует ручной логики: MSAL v1.1+ обрабатывает CA challenge автоматически при корректной конфигурации.

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

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

Типичные параметры для корпоративного приложения:

<!-- 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>

Приложение при каждом старте проверяет изменения в managed config — это позволяет IT изменить параметры без обновления приложения.

Интеграция с Microsoft Defender for Endpoint

Если в организации используется Defender for Endpoint (MDE), Intune может получать от него сигналы о mobile threat defense: джейлбрейк, вредоносные сети, уязвимые приложения. Conditional Access использует эти сигналы для блокировки токенов.

Для этого в приложение встраивается Defender SDK — он работает фоном, отправляет threat events в MDE, Intune получает compliance status. С точки зрения приложения — это отдельная зависимость, но без изменений в основной бизнес-логике.

Этапы интеграции

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 недель. Стоимость рассчитывается индивидуально.