Інтеграція 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 не зможе застосовувати політики.
Мінімальний набір настроєк:
- Створити App Registration в Azure AD.
- Додати API Permissions:
DeviceManagementApps.ReadWrite.All,DeviceManagementConfiguration.ReadWrite.All. - Додати
IntuneMAMв Redirect URI:msauth.{bundle-id}://auth. - Включити
Public client flowsдля мобільних. - У Intune Portal додати додаток в 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")!)
)
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-запитів
}
}
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)
Обробка 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).
Типові параметри:
<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, 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 тижнів. Вартість розраховується індивідуально.







