MAM ליישומים ארגוניים: הגדרה ואינטגרציה
MDM מנהל את כל המכשיר. MAM מנהל רק את היישום — הבדל מהותי בתרחישי BYOD שבהם עובדים לא מוכנים לתת ל-IT שליטה על הטלפונים האישיים שלהם. אנו מטפלים בהגדרת MAM ליישומים ארגוניים על בסיס יומי. אינטגרציה נכונה של מדיניות MAM מפחיתה את הסיכון לדליפת נתונים בעד 80% מבלי לחדור למרחב האישי. בנוסף, ניתן לקצץ בעלויות הרישוי בעד 40% בהשוואה ל-MDM. אנו מגדירים MAM במפתח מלא עם תוצאה מובטחת, תוך שימוש בפתרונות Microsoft Intune מוסמכים.
התרחיש הקלאסי של MAM עם Microsoft Intune: עובד מתקין יישום מ-App Store או Google Play על טלפון אישי, מתחבר עם חשבון Azure AD ארגוני — ומאותו רגע, מדיניות MAM חלה על נתוני היישום. לא מותקן פרופיל MDM על המכשיר. זהו הפתרון האידיאלי לחברות עם מדיניות BYOD. קבלו ייעוץ — נעריך את הפרויקט שלכם ונבחר את התצורה האופטימלית.
כיצד MAM מגן על נתונים ארגוניים ללא MDM?
מדיניות MAM זמינה ללא ניהול מכשירים:
| מדיניות | תיאור |
|---|---|
| חסימת העתק-הדבק של נתונים ארגוניים | מניעת הדבקת נתונים ליישומים אישיים |
| אכיפת הצפנת קבצים | כל הקבצים שנשמרים על ידי היישום מוצפנים |
| דרישת PIN או ביומטריה | אימות נוסף בעת פתיחת היישום |
| חסימת צילומי מסך | מניעת לכידת מסך עם נתונים |
| מחיקה סלקטיבית מרחוק | הסרת נתונים ארגוניים בלבד בעת עזיבת עובד |
| חסימת פתיחת קישורים בדפדפן אישי | קישורים נפתחים רק ב-Managed Browser |
אינטגרציית MAM דרך Microsoft Intune היא התקן התעשייתי. תיעוד Intune מאשר שה-SDK תומך בכל המדיניות הזו מחוץ לקופסה.
Intune App SDK: אינטגרציה ליישום iOS
כדי להחיל מדיניות MAM, יש לשלב את ה-SDK. ה-SDK מיירט ממשקי API של המערכת (לוח גזירה, שיתוף קבצים, זיהוי צילומי מסך) ומחיל מדיניות.
הוספה דרך 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, pod 'MSAL' pod 'IntuneMAMSwift' מוגבל אוטומטית לפי המדיניות, וגם 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) } } . היישום עצמו נשאר ללא שינוי — מנוע 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 ל-Android
// build.gradle implementation 'com.microsoft.intune.mam:android-mam-sdk:10.0.0' עבור Android, הגדרה נכונה של MAMApplication חשובה:
class MyApplication : MAMApplication() {
override fun onCreate() {
super.onCreate()
// MAM SDK перехватывает Context, Activity, ContentProvider
}
}ה-Android MAM SDK משתמש ב-UIPasteboard במקום UIDocumentPickerViewController, // build.gradle implementation 'com.microsoft.intune.mam:android-mam-sdk:10.0.0' במקום class MyApplication : MAMApplication() { override fun onCreate() { super.onCreate() // MAM SDK перехватывает Context, Activity, ContentProvider } } . זה דורש refactoring של מחלקות בסיס. אם שכתוב מחלקות בסיס אינו רצוי (יישום legacy, בסיס קוד גדול), השתמשו ב-App Wrapping Tool — כלי שלאחר בנייה שמוסיף לוגיקת MAM ל-APK/IPA מהודר מבלי לשנות קוד מקור. Intune MAM SDK מחיל מדיניות בצורה מדויקת יותר אך דורש יותר עבודה במהלך האינטגרציה.
השוואת פלטפורמות MAM
| פלטפורמה | שיטת אינטגרציה | דיוק מדיניות | מורכבות |
|---|---|---|---|
| Microsoft Intune | SDK או App Wrapping | גבוה (SDK), בינוני (Wrapping) | בינוני |
| VMware Workspace ONE | SDK | גבוה | בינוני |
| MobileIron AppConnect | מיכל יישום | גבוה | גבוה |
מהי מחיקה סלקטיבית וכיצד היא פועלת?
מחיקה סלקטיבית מרחוק דרך מדיניות MAM מסירה רק נתונים ארגוניים: רשומות Keychain המתויגות עם MAMActivity, קבצים ב-AppCompatActivity, מטמון, עוגיות ב-MAMContentProvider. נתונים אישיים נשארים ללא פגיעה.
יישום מטפל מחיקה ב-SDK:
// IntuneMAMPolicyDelegate func wipeDataForAccount(_ account: String) -> Bool {
DataVault.shared.deleteAll()
KeychainManager.shared.clearCorporateKeys()
URLCache.shared.removeAllCachedResponses()
return true
}מנהלי IT יוזמים מחיקה מ-Intune Portal בלחיצה אחת. בהפעלת היישום הבאה, הנתונים נעלמים, ודרוש אימות מחדש.
שלבי עבודה
- ביקורת דרישות מדיניות
- בחירת פלטפורמת MAM (Intune, VMware, MobileIron)
- הגדרת Azure AD או קונסולת EMM
- פיתוח App Registration
- אינטגרציית SDK ל-iOS ו-Android
- בדיקת כל המדיניות (לוח גזירה, צילום מסך, שמירה, מחיקה)
- UAT עם צוות IT
- השקה והדרכה
ציר זמן: אינטגרציית Intune MAM SDK ליישום קיים: 3–5 שבועות לכל פלטפורמה. השקת MAM מלאה עם הגדרת מדיניות והדרכה: 6–8 שבועות.
מה כלול
- תיעוד: סכמת מדיניות, מדריך תפעול
- הגדרת גישה ל-Azure AD ול-Intune Portal
- אינטגרציית SDK ל-iOS ו-Android
- בדיקת כל המדיניות על מכשירים אמיתיים
- הדרכת צוות IT: עד 8 שעות ייעוץ
- תמיכה לאחר השקה: שבועיים
יש לנו ניסיון של למעלה מ-5 שנים באינטגרציית MAM, עם יותר מ-30 פרויקטים שהושלמו. קבלו הערכה חינמית של היישום שלכם — צרו קשר. הזמינו יישום MAM במפתח מלא עם תוצאה מובטחת.







