מסגרת פתרון בעיות שקשורות למדיניות המכשיר

החל מ-Android 14, כמה סוכנים לניהול מדיניות מכשירים יכולים להגדיר כללי מדיניות באמצעות ממשקי API של DevicePolicyManager.

עקרונות כלליים

במקרים שבהם יותר מסוכן אחד לניהול מדיניות מכשירים אוכף מדיניות על משתמש:

  • סוכני ניהול מדיניות במכשיר יכולים לשלוח שאילתה לגבי מדיניות נאכפת או מדיניות שנפתרה, לגבי כל מדיניות שהם יכולים להגדיר.
  • כל מדיניות שמוגדרת גורמת לקריאה חוזרת (onPolicySetResult) שמציינת אם המדיניות הוגדרה בצורה נכונה או שההגדרה נכשלה מסיבה מסוימת (כמו התנגשות בין כללי מדיניות או כשל בחומרה).
  • אם המצב של המדיניות משתנה בהמשך, מתקבלת קריאה חוזרת (onPolicyChanged) שמציינת אם המדיניות תואמת למה שהסוכן הגדיר.
  • רוב כללי המדיניות פועלים על בסיס "המחמיר ביותר מנצח". כלומר, המדיניות המחמירה ביותר שנבחרה על ידי סוכן ניהול מדיניות מכשירים כלשהו נאכפת.

‫Android מגרסה 14 (רמת API‏ 34) ואילך

ב-Android 14 (רמת API‏ 34) ואילך, מכשירים שתואמים ל-Android צריכים להטמיע את מנגנון ההחלטה בנושא מדיניות כפי שמוגדר בטבלה הבאה, כדי לפתור קונפליקטים כשמדיניות מוגדרת על ידי יותר מסוכן אחד לניהול מדיניות מכשירים. מנגנוני הפתרון שמפורטים בטבלה הבאה (MostRecent,‏ MostRestrictive,‏ StringSetUnion ו-TopPriority) הם שמות של מחלקות של מנגנוני הפתרון שמוגדרים בפרויקט הקוד הפתוח של Android.

במסמכי העזר של ה-API של מופעי PolicyIdentifier שזוהו על ידי מדיניות, מתועדת אסטרטגיית הפתרון שלהם בנפרד.

DevicePolicyManager API מנגנון לפתרון בעיות
MostRecent: כשמספר אדמינים מגדירים מדיניות, המדיניות העדכנית ביותר היא זו שנאכפת.
‫MostRestrictive: הגדרת הגבלת המשתמש אם אדמין כלשהו הגדיר אותה.
‫StringSetUnion: פתרון כאיחוד של כללי מדיניות שהוגדרו על ידי אדמין אחד או יותר (לכללי מדיניות שמיוצגים כקבוצה של מחרוזות).
‫TopPriority: הפעולה מתבצעת לפי סדר העדיפויות הבא, מהגבוה לנמוך, שמוגדר לפי התפקיד של הסוכן לניהול מדיניות המכשיר:
  1. האדמין של השיטה לביטול נעילת המכשיר
  2. האדמין של הארגון
  3. כל אדמין אחר