מה כלול ב-Android 9 באפליקציות לארגונים

הדף הזה מספק סקירה כללית של ממשקי ה-API, התכונות וההתנהגות לארגונים את השינויים שזמינים ב-Android 9.

ממשק משתמש של פרופיל העבודה

Android 9 (רמת API 28) כולל שינויים בממשק המשתמש כברירת מחדל במרכז האפליקציות כדי לעזור למשתמשים להפריד בין אפליקציות אישיות לאפליקציות לעבודה. יצרני מכשירים תמיכה בכך יכולה להציג בכרטיסיות נפרדות לעבודה ולכרטיסיות אישיות. בנוסף קל יותר למשתמשים במכשיר להפעיל ולהשבית את פרופיל העבודה על ידי כולל מתג בכרטיסיית העבודה של מרכז האפליקציות.

איור 1. הכרטיסייה האישית וכרטיסיית העבודה של מרכז האפליקציות שמוגדרות כברירת מחדל באמצעות החלפת פרופיל העבודה

כשמקצים פרופילים של עבודה ומכשירים מנוהלים, מערכת Android 9 כוללת איורים מונפשים שעוזרים למשתמשים במכשיר להבין את התכונות האלה.

מעבר בין אפליקציות בין פרופילים

ב-Android 9 יש ממשקי API להפעלת מופע נוסף של אפליקציה בגרסה אחרת פרופיל כדי לעזור למשתמשים לעבור בין חשבונות. לדוגמה, אפליקציית אימייל יכולה לספק ממשק משתמש שמאפשר למשתמש לעבור בין הפרופיל האישי לפרופיל העבודה כדי לגשת לשני חשבונות אימייל. כל האפליקציות יכולות לקרוא לממשקי ה-API האלה כדי להפעיל הפעילות הראשית של אותה אפליקציה, אם היא כבר מותקנת בפרופיל האחר. שפת תרגום כדי להוסיף לאפליקציה מעבר בין חשבונות, צריך לבצע את הפעולות הבאות: לשיטות של CrossProfileApps כיתה:

  1. אפשר להתקשר למספר getTargetUserProfiles() כדי לקבל רשימה של שבהם תוכלו להפעיל מופע נוסף של האפליקציה. השיטה הזו בודקת שהאפליקציה מותקנת בפרופילים.
  2. התקשרות אל getProfileSwitchingIconDrawable() כדי לקבל סמל שיכול לייצג פרופיל אחר.
  3. אפשר להתקשר למספר getProfileSwitchingLabel() כדי לקבל טקסט שהותאם לשוק המקומי שמבקש מהמשתמש להחליף פרופילים.
  4. קוראים לפונקציה startMainActivity() כדי להפעיל מופע של את האפליקציה בפרופיל אחר.

צריך לוודא שהפעילות העיקרית שרוצים להפעיל מוצהרת קובץ מניפסט, עם פעולת Intent מסוג ACTION_MAIN, שכולל קטגוריית Intent CATEGORY_LAUNCHER.

הפעלה או השבתה של פרופילים של עבודה באופן פרוגרמטי

מרכז האפליקציות שמוגדר כברירת מחדל (או אפליקציות שיש להן את ההרשאה MANAGE_USERS או MODIFY_QUIET_MODE) יכול/ה להפעיל או להשבית את פרופיל העבודה בטלפון UserManager.requestQuietModeEnabled(). אפשר בדיקה של הערך המוחזר כדי לדעת אם המשתמש צריך לאשר פרטי הכניסה לפני שינוי המדינה. כי יכול להיות שהשינוי לא יתבצע באופן מיידי, להאזין ACTION_MANAGED_PROFILE_AVAILABLE או ACTION_MANAGED_PROFILE_UNAVAILABLE כדי לדעת מתי לעדכן את ממשק המשתמש.

האפליקציה יכולה לבדוק את הסטטוס של פרופיל העבודה באמצעות התקשרות UserManager.isQuietModeEnabled()

נעילת כל אפליקציה למכשיר

החל מ-Android 9, בעלי המכשיר ובעלי הפרופילים (של משתמשים משניים) יכול לנעול כל אפליקציה במסך של מכשיר על ידי העברת האפליקציה למצב 'נעילה'. בעבר, מפתחי אפליקציות היו צריכים להוסיף תמיכה במשימת הנעילה במצב תצוגה באפליקציות שלהם. ב-Android 9 אפשר גם להאריך את משך הזמן לנעילה ממשקי API לבעלי פרופילים של משתמשים משניים לא משויכים. צריך לפעול לפי השלבים הבאים: כדי לנעול אפליקציה במסך:

  1. חיוג למספר DevicePolicyManager.setLockTaskPackages() אל להוסיף אפליקציות לרשימת ההיתרים למצב 'נעילת משימות'.
  2. צריך להתקשר אל ActivityOptions.setLockTaskEnabled() כדי להפעיל אפליקציה שנכללת ברשימת ההיתרים במצב 'נעילת משימה'.

כדי להפסיק אפליקציה במצב משימת נעילה, צריך להסיר את האפליקציה ממצב 'נעילת משימות' רשימת היתרים באמצעות DevicePolicyManager.setLockTaskPackages()

הפעלת תכונות בממשק המשתמש של המערכת

כשמצב 'נעילה' מופעל, בעלי המכשיר ובעלים של פרופילים יכולים להפעיל תכונות מסוימות של ממשק המשתמש של המערכת במכשיר על ידי התקשרות DevicePolicyManager.setLockTaskFeatures() ולהעביר שדה סיביות של דגלי התכונות הבאים:

אפשר להתקשר אל DevicePolicyManager.getLockTaskFeatures() כדי לקבל את רשימת התכונות הזמינות במכשיר כשמצב 'נעילת משימה' מופעל מופעל. כשמכשיר יוצא ממצב משימת נעילה, הוא חוזר למצב שנקבע על ידי כללי מדיניות אחרים של המכשיר.

הסתרה של תיבות דו-שיח של שגיאות

בסביבות מסוימות, למשל הדגמות קמעונאות או מידע ציבורי יכול להיות שלא תרצו להציג למשתמשים תיבות דו-שיח של שגיאות. מדיניות מכשיר בקר (DPC) יכול להסתיר תיבות דו-שיח של שגיאות מערכת במקרים של קריסת מחשב או חוסר תגובה אחר באמצעות הוספת משתמש ב-DISALLOW_SYSTEM_ERROR_DIALOGS המוגבלות של המשאבים. ההגבלה הזו משפיעה על כל תיבות הדו-שיח כאשר בעלי המכשיר מחילה אותן אבל רק תיבות הדו-שיח של השגיאה שמוצגות במשתמש הראשי או המשני מושבתות כשההגבלה חלה על הבעלים של הפרופיל. ההגבלה הזו לא גורמת להשפיע על פרופילים של עבודה.

ב-Android 9, אפליקציות שפועלות במסך מלא עשיר והמצב לא יציגו את בועת התזכורת כשנמצאים במצב נעילת מצב המשימה. בועת התזכורת היא חלונית שמוצגת למשתמשים (בהפעלה הראשונה) שמסבירה איך לצאת ממצב של צפייה היקפית.

תמיכה במשתמשים מרובים במכשירים ייעודיים

ב-Android 9 הושק הקונספט של משתמש זמני מכשירים (לשעבר, מכשירי COSU). משתמשים זמניים הם משתמשים לטווח קצר שמיועדים למקרים שבהם מספר משתמשים חולקים חשבון למכשיר ייעודי. זה כולל סשנים של משתמשים גלויים לכולם במכשירים כמו ספרייה או קיוסקים לצ'ק אין לאירוח, וכן מפגשים קבועים בין קבוצת משתמשים במכשירים, לדוגמה, Shift worker.

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

  1. הגדרת הדגל MAKE_USER_EPHEMERAL במהלך השיחה DevicePolicyManager.createAndManageUser()
  2. התקשרות אל DevicePolicyManager.startUserInBackground() כדי להפעיל את המשתמש הזמני ברקע.

הערה: אפליקציות שמטרגטות ל-Android 9 אמורות לזהות UserManager.UserOperationException בשיחה createAndManageUser() מסמנים את החריג getUserOperationResult() כדי לגלות למה המשתמש לא נוצר.

קבלת התראות על אירועים

המכשיר DeviceAdminReceiver מקבל התראות לגבי האירועים הבאים:

הצגת הודעות על אירועים למשתמשים

בעלי מכשירים יכולים להגדיר את ההודעות שיוצגו למשתמשים כשהם להתחיל ולסיים את הסשנים שלהם:

התנתקות והפסקת משתמשים

בעלי המכשירים יכולים להשתמש DevicePolicyManager.setLogoutEnabled() כדי לציין אם ההתנתקות מופעלת עבור המשתמשים המשניים. כדי לבדוק אם ההתנתקות מופעלת, DevicePolicyManager.isLogoutEnabled()

בעלים של פרופילים של משתמשים משניים יכולים להתקשר DevicePolicyManager.logoutUser() כדי לעצור את המשתמש המשני ו עוברים חזרה למשתמש הראשי.

בעלי מכשירים יכולים להשתמש ב-DevicePolicyManager.stopUser() כדי להפסיק המשתמש המשני שצוין.

שמירת חבילות במטמון

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

  1. שיחת טלפון DevicePolicyManager.setKeepUninstalledPackages() כדי לציין את רשימת החבילות לשמירה כ-APK. כדי לאחזר רשימה של חבילות, שיחה DevicePolicyManager.getKeepUninstalledPackages()

  2. התקשרות אל DevicePolicyManager.installExistingPackage() כדי להתקין חבילה שנשמרה לאחר ההסרה setKeepUninstalledPackages()

שיטות וקבועים נוספים

מערכת Android 9 כוללת גם את השיטות הבאות ואת הקבועים הבאים כדי להמשיך לספק תמיכה סשנים של משתמשים במכשירים משותפים:

ניקוי נתוני החבילה והסרת החשבונות

בעלי המכשיר ובעלי הפרופילים יכולים להתקשר clearApplicationUserData() כדי לנקות את נתוני המשתמש לחבילה נתונה. כדי להסיר חשבון AccountManager, הבעלים של המכשיר והפרופיל יכולים להתקשר removeAccount()

הגבלות משתמשים ושליטה מוגברת בהגדרות

ב-Android 9 יש כמה הגבלות על משתמשים לגבי בקרי DPC, וגם יכולת לקבוע נקודות APN, שעה ואזור זמן והגדרות מערכת במכשיר.

הגדרת נקודות APN

בעלי מכשירים יכולים להשתמש בשיטות הבאות ב מחלקה DevicePolicyManager כדי להגדיר נקודות APN המכשיר:

הגדרת שעה ואזור זמן

בעלי מכשירים יכולים להשתמש בשיטות הבאות ב DevicePolicyManager כדי להגדיר את השעה ואזור הזמן במכשיר:

אכיפת הגבלות משתמשים בהגדרות חשובות

ב-Android 9 נוספו הגבלות משתמשים כדי להשבית את התכונות וההגדרות של המערכת. שפת תרגום הוספת הגבלה, שיחה DevicePolicyManager.addUserRestriction() עם אחת מהאפשרויות הקבועים הבאים של UserManager:

אם DISALLOW_CONFIG_BRIGHTNESS וגם DISALLOW_CONFIG_SCREEN_TIMEOUT נאכפות במכשיר, בעלי המכשיר עדיין יכולים להגדיר את המסך בהירות, בהירות המסך מצב והגדרות הזמן הקצוב לכיבוי המסך במכשיר באמצעות ה-API DevicePolicyManager.setSystemSetting().

נתונים עם מכסת מאמרים ללא תשלום

בעלי מכשירים ובעלי פרופילים יכולים למנוע מאפליקציות להשתמש ברשתות עם חיוב לפי שימוש בנתונים. רשת נחשבת עם חיוב לפי שימוש בנתונים כשהמשתמש רגישות לצריכת נתונים כבדה עקב עלות, מגבלות נתונים או סוללה, בעיות בביצועים. כדי למנוע מאפליקציות להשתמש ברשתות עם חיוב לפי שימוש בנתונים, צריך להפעיל את DevicePolicyManager.setMeteredDataDisabledPackages() העברת רשימה של שמות חבילות. כדי לאחזר את האפליקציות המוגבלות כרגע, התקשר DevicePolicyManager.getMeteredDataDisabledPackages()

למידע נוסף על חיוב לפי שימוש בנתונים ב-Android, כדאי לקרוא את המאמר אופטימיזציה של נתוני רשת שימוש.

העברה של בקרי DPC

בקרי מדיניות מכשירים (DPC) יכולים להעביר את הבעלות על מכשיר או פרופיל העבודה לבקר DPC אחר. אפשר להעביר את הבעלות כדי להעביר תכונות מסוימות בכלי ניהול Android API, כדי להעביר מכשירים את בקר ה-DPC הקודם, או כדי לעזור למנהלי IT לעבור ל-EMM. כי אתם רק אם אתם משנים את הבעלות על בקר DPC, אי אפשר להשתמש בתכונה הזאת כדי לשנות את סוג ניהול, לדוגמה, מעבר ממכשיר מנוהל לפרופיל עבודה, ולהיפך.

אפשר להשתמש במשאב ה-XML של המדיניות לניהול מכשירים כדי מציינים שהגרסה הזו של בקר ה-DPC תומכת בהעברה. בקר DPC יעד מציין שהוא יכול לקבל בעלות על ידי הכללת רכיב בשם <support-transfer-ownership> הדוגמה הבאה ממחישה איך ניתן לעשות זאת קובץ ה-XML של מנהל המכשיר בקר DPC:

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
    <support-transfer-ownership />
    <uses-policies>
        <limit-password />
        <watch-login />
        <reset-password />
    </uses-policies>
</device-admin>

בקרי DPC שרוצים להעביר בעלות לאפליקציה חדשה של בקר DPC יכולים לבדוק אם בקר DPC יעד הגרסה תומכת בהעברה על ידי קריאה ל-method של DeviceAdminInfo supportsTransferOwnership(). לפני ההעברה זו האחריות של ה-DPC של המקור לאמת את בקר ה-DPC באמצעות להשוואה בין חתימות של אפליקציות. הכיתה PackageManager כוללת שיטות לעבודה עם חתימות של חתימת קוד.

מערכת Android שומרת על מדיניות המשתמש ועל המערכת של בקר ה-DPC של המקור באמצעות בעלות העברה – בקרי DPC לא צריכים להעביר אותם. בקר DPC של מקור יכול להעביר נתונים מותאמים אישית אל ה-DPC המיועד באמצעות צמדי מפתח-ערך ב-PersistableBundle. אחרי העברה מוצלחת, ה-DPC יכול לאחזר את הנתונים באמצעות קריאה DevicePolicyManager.getTransferOwnershipBundle()

השלבים להעברת הבעלות על מכשיר מנוהל או על פרופיל עבודה הם זהה:

  1. ה-DPC המקורי בודק שגרסת בקר ה-DPC של היעד תומכת בהעברה מאשרת שחתימת האפליקציה של בקר ה-DPC של היעד תואמת לערך הצפוי.
  2. בקר ה-DPC של המקור קורא לפונקציה transferOwnership() כדי להפעיל את העברה.
  3. המערכת מגדירה את בקר ה-DPC כיעד האדמין הפעיל ומגדירה בתור הבעלים של המכשיר המנוהל או של פרופיל העבודה.
  4. בקר ה-DPC של היעד מקבל את הקריאה החוזרת onTransferOwnershipComplete() ויכולים להגדיר עצמו באמצעות ערכים מהארגומנט bundle.
  5. אם משהו משתבש בהעברה, המערכת מחזירה את הבעלות אל בקר ה-DPC המקורי. אם בקר ה-DPC של המקור צריך לאשר שהעברת הבעלות הפעולה בוצעה ללא שגיאות, יש להתקשר אל isAdminActive() כדי לבדוק שה-DPC המקורי כבר לא האדמין הפעיל.

כל האפליקציות שפועלות בפרופיל העבודה מקבלות את השידור של ACTION_PROFILE_OWNER_CHANGED כאשר הבעלים של הפרופיל משתנים. אפליקציות שפועלות במכשיר מנוהל מקבלות השידור של ACTION_DEVICE_OWNER_CHANGED כאשר שינויים בבעלי המכשיר.

פרופילים של עבודה במכשירים מנוהלים

העברת שני מופעים של בקר DPC שפועל כבעלים של המכשיר ובעל הפרופיל קורה בשני שלבים. כאשר הפרופיל האישי ופרופיל העבודה משויך, מבצעים את ההעברה לפי הסדר הבא:

  1. קודם צריך להעביר את הבעלות על פרופיל העבודה.
  2. צריך להמתין להתקשרות חזרה של DeviceAdminReceiver onTransferAffiliatedProfileOwnershipComplete() כדי לאשר שפרופיל העבודה הועבר ל-DPC היעד.
  3. לסיום, צריך להעביר את הבעלות על המכשיר המנוהל אל בקר ה-DPC של היעד.

דחייה של עדכוני OTA

בעלי מכשירים יכולים לדחות עדכוני מערכת OTA למכשירים עד 90 יום כדי להקפיא את גרסת מערכת ההפעלה שפועלת במכשירים האלה למשך תקופות קריטיות (כמו חגים). המערכת אוכפת מאגר נתונים זמני ונדרש למשך 60 יום לאחר כל הגדרת תקופת הקפאה כדי למנוע את הקפאת המכשיר לזמן בלתי מוגבל.

במהלך תקופת הקפאה:

  • המכשירים לא יקבלו התראות על עדכוני OTA בהמתנה.
  • לא ניתן להתקין עדכוני OTA במערכת ההפעלה במכשירים.
  • המשתמשים במכשיר לא יכולים לבדוק ידנית אם יש עדכוני OTA בהגדרות.

כדי להגדיר תקופת הקפאה, צריך להתקשר SystemUpdatePolicy.setFreezePeriods() כי הקפאה התקופה חוזרת כל שנה, תאריכי ההתחלה והסיום של התקופה מייצגים את התקופה. במספרים שלמים, ספירת הימים מאז תחילת השנה. יום ההתחלה חייב להתחיל לפחות 60 יום לאחר סיום תקופת ההקפאה הקודמת. Device (מכשיר) הבעלים יכולים להתקשר ל-SystemUpdatePolicy.getFreezePeriods() כדי לקבל רשימה של תקופות הקפאה שהוגדרו בעבר באובייקט של מדיניות עדכון המערכת. היעד DevicePolicyManager.getSystemUpdatePolicy() מעודכן כדי להחזיר תקופות הקפאה שהוגדרו על ידי בעל המכשיר.

הגבלת השיתוף בפרופיל עבודה

בעלי פרופילים יכולים למנוע ממשתמשים לשתף מידע אישי עם פרופיל העבודה במכשיר על ידי הוספת הגבלת המשתמש DISALLOW_SHARE_INTO_MANAGED_PROFILE ההגבלה הזו מונעת את האפשרויות הבאות לטיפול בכוונות ולשיתוף שלהן:

  • אפליקציות של פרופיל אישי שמשתפות נתונים וקבצים עם אפליקציות בפרופיל העבודה.
  • אפליקציות של פרופיל עבודה שבוחרות פריטים מהפרופיל האישי. לדוגמה, תמונות או קבצים.

לאחר הגדרת ההגבלה הזו, בקר ה-DPC עדיין יוכל לאפשר פעילות חוצת-פרופילים את הכוונות באמצעות קריאה addCrossProfileIntentFilter()

מפתחות מאובטחים באמצעות חומרה ואישורי מכונות

ב-Android 9 נוספים ממשקי API כדי לעזור לך לעבוד עם מפתחות ואישורים כדי לזהות מכשירים באופן מאובטח. בקר DPC שפועל אצל הבעלים של הפרופיל או במכשיר במצב 'בעלים' או מנהל התקנה של אישורים שניתן לאחרים, יכולים להשלים את המשימות הבאות:

  • ליצור מפתחות ואישורים בחומרה המאובטחת (כמו למשל את סביבת הביצוע (TEE) או את הרכיב המאובטח (SE) של מכשיר ה-Android. מפתחות שנוצרו אף פעם לא יוצאים מהחומרה המאובטחת, ואפשר להשתמש בהם מAndroid KeyChain שיחת טלפון DevicePolicyManager.generateKeyPair() שמספק את האלגוריתם (מידע נוסף זמין בכתובת KeyPairGenerator) וכל מזהי חומרה כלשהם שרוצים לאמת, למשל המספר הסידורי או ה-IMEI. למידע נוסף על אבטחה שינויים בחומרה, אפשר לעיין בהסבר על האבטחה של Android 9 שיפורים.
  • שיוך אישור למפתח קיים שנוצר על ידי מכשיר. שיחת טלפון DevicePolicyManager.setKeyPairCertificate() ציון הכינוי של המפתח הקיים ושרשרת האישורים — שמתחילה בדף העלה כולל שרשרת האמון לפי הסדר.
  • חשוב לוודא שהחומרה המאובטחת מגינה על המפתח לפני שמשתמשים בו. כדי לבדוק המנגנונים שמגינים על המפתח, פועלים לפי השלבים שמפורטים בקטע Key הצהרה (attestation).
  • בעלי מכשירים ומנהלי התקנה מורשים של אישורים יכולים לקבל פירוט המכשירים מזהי חומרה עם גרסאות מערכת של Android. שיחת טלפון DevicePolicyManager.generateKeyPair() העברת תשובה אחת או יותר מתוך ID_TYPE_BASE_INFO, ID_TYPE_SERIAL, ID_TYPE_IMEI, או ID_TYPE_MEID בתוך ארגומנט idAttestationFlags. האישור שהוחזר כולל את החומרה המזהים ברשומת האימות (attestation). אם אינך רוצה לכלול את מזהי החומרה, מעבירים 0 בעלי פרופילים יכולים לקבל רק את פרטי היצרן (על ידי העברה של ID_TYPE_BASE_INFO). כדי לבדוק אם המכשיר יכול לאמת מזהים, צריך להתקשר isDeviceIdAttestationSupported().
  • משתמשי מכשירים לא יכולים להשתמש לרעה במפתחות ארגוניים (במשימות שאינן ארגוניות) על ידי ביטול הבחירה באישורי המפתחות. המערכת לא כוללת אישורים שלא ניתן לבחור בהם בחלונית הבורר. ב DeviceAdminReceiver.onChoosePrivateKeyAlias() של קריאה חוזרת, להחזיר את הכינוי למפתח הארגוני כדי שהמערכת בוחר את האישור באופן אוטומטי בשם המשתמש. כדי ליצור מפתח לא ניתן לבחור, קוראים ל-DevicePolicyManager השיטות הבאות:

שילוב של ממשקי ה-API האלה יאפשר לארגונים לזהות מכשירים באופן מאובטח ולאשר התקינות שלהם לפני מתן גישה:

  1. מכשיר Android יוצר מפתח פרטי חדש בחומרה המאובטחת. מכיוון שהמפתח הפרטי אף פעם לא נשלח מהחומרה המאובטחת, הוא נשאר סודי.
  2. המכשיר משתמש במפתח כדי ליצור ולשלוח בקשה לחתימה על אישור (CSR) לשרת. נציג שירות הלקוחות כולל את רשומת האימות (attestation) שמכילה את מזהי מכשירים.
  3. השרת מאמת את שרשרת האישורים (מושתתת באישור של Google) ומחלצת את המטא-נתונים של המכשיר מרשומת האימות.
  4. השרת מאשר שהחומרה המאובטחת מגינה על המפתח הפרטי שמזהי המכשירים תואמים לרשומות של הארגון. השרת יכול גם לבדוק שגרסת מערכת Android וגרסת התיקון עומדות בכל הדרישות.
  5. השרת יוצר אישור מ-CSR ושולח את האישור אל במכשיר.
  6. המכשיר מתאים את האישור למפתח הפרטי (שנשאר בקובץ חומרה מאובטחת) שמאפשרת לאפליקציות להתחבר לשירותים ארגוניים.

עוד ממשקי API, תכונות ושינויים לאבטחה

מזהים של יומני אבטחה ויומני רשת

מערכת Android 9 כוללת מזהים ביומני הפעילות של האבטחה והרשת. המזהה המספרי עולה באופן מונוטוני לכל אירוע, וכך מנהלי IT יכולים לזהות בקלות רבה יותר ביומנים שלהם. כי יומני אבטחה ויומני רשת הם נפרדים קולקציות, המערכת שומרת ערכי מזהים נפרדים.

קוראים לפונקציה SecurityEvent.getId(), DnsEvent.getId(), או ConnectEvent.getId() כדי לקבל את ערך המזהה. המערכת מאפס את המזהה בכל פעם שבקר DPC מאפשר רישום ביומן או כשהמכשיר מופעל מחדש. יומני האבטחה אוחזרו באמצעות שיחות DevicePolicyManager.retrievePreRebootSecurityLogs() לא כוללים את המזהים האלה.

רישום ביומן לצורכי אבטחה

ביומן האבטחה מוקצה לכל SecurityEvent רמת יומן. כדי להגיע לרמת היומן, קוראים לפונקציה getLogLevel(). השיטה הזו מחזירה ערך ברמת היומן יכול להיות אחד מהערכים האלה: LEVEL_INFO, LEVEL_WARNING, או LEVEL_ERROR.

מערכת Android 9 מתעדת את האירועים המפורטים בטבלה הבאה בקטע אבטחה יומנים. כדי לבדוק את התג של אירוע, קוראים לפונקציה getTag(). שפת תרגום מאחזרים את נתוני האירוע, קוראים לפונקציה getData().

תיוג תיאור אירוע
TAG_CERT_AUTHORITY_INSTALLED ניסיון להתקין אישור בסיס חדש באחסון פרטי הכניסה של המערכת.
TAG_CERT_AUTHORITY_REMOVED ניסיון להסיר אישור בסיס מאחסון פרטי הכניסה של המערכת.
TAG_CERT_VALIDATION_FAILURE אישור Wi-Fi נכשל בבדיקת האימות במהלך החיבור.
TAG_CRYPTO_SELF_TEST_COMPLETED המערכת השלימה את הבדיקה העצמית הקריפטוגרפית.
TAG_KEYGUARD_DISABLED_FEATURES_SET אפליקציית אדמין השביתה תכונות במסך הנעילה של המכשיר או של פרופיל העבודה.
TAG_KEY_DESTRUCTION ניסיון למחוק מפתח קריפטוגרפי.
TAG_KEY_GENERATED ניסיון ליצור מפתח קריפטוגרפי חדש.
TAG_KEY_IMPORT ניסיון לייבא מפתח קריפטוגרפי חדש.
TAG_KEY_INTEGRITY_VIOLATION מערכת Android זיהתה הצפנה או מפתח אימות פגומים.
TAG_LOGGING_STARTED התחילה ההקלטה ביומן האבטחה.
TAG_LOGGING_STOPPED ההקלטה ביומן האבטחה הופסקה.
TAG_LOG_BUFFER_SIZE_CRITICAL מאגר הנתונים הזמני של יומן האבטחה הגיע ל-90% מהקיבולת שלו.
TAG_MAX_PASSWORD_ATTEMPTS_SET אפליקציית ניהול הגדירה את מספר הניסיונות המותרים להזנת סיסמה שגויה.
TAG_MAX_SCREEN_LOCK_TIMEOUT_SET אפליקציית ניהול הגדירה זמן קצוב לתפוגה מקסימלי לנעילת המסך.
TAG_MEDIA_MOUNT מדיית אחסון נשלפת של המכשיר.
TAG_MEDIA_UNMOUNT מדיית האחסון הנשלפת של המכשיר נותקה.
TAG_OS_SHUTDOWN מערכת Android כבויה.
TAG_OS_STARTUP מערכת Android הופעלה.
TAG_PASSWORD_COMPLEXITY_SET אפליקציית ניהול צריכה להגדיר דרישות מורכבות לסיסמה.
TAG_PASSWORD_EXPIRATION_SET אפליקציית אדמין הגדירה משך תפוגה של סיסמה.
TAG_PASSWORD_HISTORY_LENGTH_SET אפליקציית אדמין הגדירה אורך להיסטוריית הסיסמאות, כך שמשתמשים לא יכולים לעשות שימוש חוזר בסיסמאות ישנות.
TAG_REMOTE_LOCK אפליקציית אדמין נעלה את המכשיר או את פרופיל העבודה.
TAG_USER_RESTRICTION_ADDED אפליקציית ניהול הגדירה הגבלת משתמש.
TAG_USER_RESTRICTION_REMOVED אפליקציית אדמין הסירה הגבלת משתמש.
TAG_WIPE_FAILURE הניסיון לאפס את הנתונים במכשיר או בפרופיל העבודה נכשל.

אימות מסך הנעילה של פרופיל העבודה

החל מ-Android 9, בעלי פרופילים יכולים לדרוש מהמשתמשים להגדיר נעילה נפרדת את המסך של פרופיל העבודה שלהם באמצעות DISALLOW_UNIFIED_PASSWORD הגבלת משתמשים. שפת תרגום לבדוק אם למשתמש מסוים הוגדר אותו אתגר במסך הנעילה פרופיל עבודה, שיחה DevicePolicyManager.isUsingUnifiedPassword()

אם במכשיר יש מסך נעילה נפרד של פרופיל עבודה, DevicePolicyManager.setMaximumTimeToLock() מגדיר רק הזמן הקצוב לתפוגה של נעילת המסך לפרופיל העבודה במקום לכל המכשיר.

גישה לכלים למפתחים

כדי לשמור נתוני עבודה בפרופיל העבודה, הכלי Android Debug Bridge (adb) לא יכול לגשת לספריות ולקבצים בפרופיל העבודה.

תמיכה באפשרויות ביומטריות נוספות

ב-Android 9 מקבלים שליטה פרטנית על אימות חומרה ביומטרית במסך הנעילה של פרופיל העבודה. מתקשרים לעסק הקיים DevicePolicyManager.setKeyguardDisabledFeatures() עם KEYGUARD_DISABLE_FACE KEYGUARD_DISABLE_IRIS. כדי להשבית את כל שיטות האימות הביומטרי שהמכשיר מספק, מוסיפים את הסמל KEYGUARD_DISABLE_BIOMETRICS.

הוצאה משימוש של כללי מדיניות לניהול מכשירים

מערכת Android 9 מסמנת את כללי המדיניות המפורטים בהמשך ככאלה שהוצאו משימוש עבור בקרי DPC באמצעות device אדמין. כללי המדיניות ממשיכים לפעול ב-Android 9 כפי שעשו בעבר. החל מגרסת Android 10, אותה מדיניות תגרור חריגת אבטחה כשהאדמין של המכשיר מופעל.

בחלק מהאפליקציות נעשה שימוש בניהול מכשיר לצורך ניהול מכשירים לצרכנים. עבור לדוגמה, נעילה ומחיקה של מכשיר שאבד. כללי המדיניות הבאים ימשיכו לפעול להיות זמינים כדי לאפשר זאת:

מידע נוסף על השינויים האלה זמין במאמר ניהול המכשיר להוצאה משימוש.

רישום יעיל של קוד QR

ספריית QR מובנית

Android 9 מגיע בחבילה עם ספריית QR כדי לפשט מכשיר עם קוד QR הקצאה. אדמינים ב-IT לא צריכים יותר להזין את פרטי ה-Wi-Fi באופן ידני כדי להגדיר מכשיר. ב-Android 9, אפשר לכלול את פרטי ה-Wi-Fi האלה במקום זאת בתוך קוד QR. כשאדמין ב-IT סורק את קוד ה-QR באמצעות חשבון בבעלות החברה המכשיר, המכשיר יתחבר אוטומטית ל-Wi-Fi ויזין את הקצאת ההרשאות ללא קלט ידני נוסף.

השיטה להקצאת קוד QR תומכת בתוספות הבאות של הקצאת הרשאות ידנית ציון פרטי Wi-Fi:

קביעת תאריך ואזור זמן באמצעות תוספות של ניהול הקצאות

השיטה להקצאת קוד QR תומכת בהקצאת תוספות כדי להגדיר את השעה אזור זמן במכשיר:

אפשרויות למחיקת נתונים

מנהלי מכשירים יכולים להציג הודעה מותאמת אישית למשתמשים כשהם מסירים עבודה פרופיל או משתמש משני. ההודעה עוזרת למשתמשים במכשיר להבין האדמין ב-IT הסיר את פרופיל העבודה או את המשתמש המשני. שיחת טלפון wipeData(int, CharSequence) ומספקים סרטון Shorts הודעת הסבר. כאשר המשתמש הראשי או בעל המכשיר מקבלים קריאה, המערכת לא מציג הודעה ומתחיל איפוס של המכשיר להגדרות המקוריות.

כדי להסיר נתוני מינוי מכרטיס SIM מוטמע של eUICC, צריך להתקשר wipeData() וכוללים את WIPE_EUICC בflags ארגומנט.

שיטות לבעלים של פרופילים משויכים

השיטות הבאות זמינות לפרופיל משויך owner: