הדף הזה מספק סקירה כללית של ממשקי ה-API, התכונות וההתנהגות לארגונים את השינויים שזמינים ב-Android 9.
ממשק משתמש של פרופיל העבודה
Android 9 (רמת API 28) כולל שינויים בממשק המשתמש כברירת מחדל במרכז האפליקציות כדי לעזור למשתמשים להפריד בין אפליקציות אישיות לאפליקציות לעבודה. יצרני מכשירים תמיכה בכך יכולה להציג בכרטיסיות נפרדות לעבודה ולכרטיסיות אישיות. בנוסף קל יותר למשתמשים במכשיר להפעיל ולהשבית את פרופיל העבודה על ידי כולל מתג בכרטיסיית העבודה של מרכז האפליקציות.
כשמקצים פרופילים של עבודה ומכשירים מנוהלים, מערכת Android 9 כוללת איורים מונפשים שעוזרים למשתמשים במכשיר להבין את התכונות האלה.
מעבר בין אפליקציות בין פרופילים
ב-Android 9 יש ממשקי API להפעלת מופע נוסף של אפליקציה בגרסה אחרת
פרופיל כדי לעזור למשתמשים לעבור בין חשבונות. לדוגמה, אפליקציית אימייל יכולה
לספק ממשק משתמש שמאפשר למשתמש לעבור בין הפרופיל האישי לפרופיל העבודה
כדי לגשת לשני חשבונות אימייל. כל האפליקציות יכולות לקרוא לממשקי ה-API האלה כדי להפעיל
הפעילות הראשית של אותה אפליקציה, אם היא כבר מותקנת בפרופיל האחר. שפת תרגום
כדי להוסיף לאפליקציה מעבר בין חשבונות, צריך לבצע את הפעולות הבאות:
לשיטות של
CrossProfileApps
כיתה:
- אפשר להתקשר למספר
getTargetUserProfiles()
כדי לקבל רשימה של שבהם תוכלו להפעיל מופע נוסף של האפליקציה. השיטה הזו בודקת שהאפליקציה מותקנת בפרופילים. - התקשרות אל
getProfileSwitchingIconDrawable()
כדי לקבל סמל שיכול לייצג פרופיל אחר. - אפשר להתקשר למספר
getProfileSwitchingLabel()
כדי לקבל טקסט שהותאם לשוק המקומי שמבקש מהמשתמש להחליף פרופילים. - קוראים לפונקציה
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 לבעלי פרופילים של משתמשים משניים לא משויכים. צריך לפעול לפי השלבים הבאים: כדי לנעול אפליקציה במסך:
- חיוג למספר
DevicePolicyManager.setLockTaskPackages()
אל להוסיף אפליקציות לרשימת ההיתרים למצב 'נעילת משימות'. - צריך להתקשר אל
ActivityOptions.setLockTaskEnabled()
כדי להפעיל אפליקציה שנכללת ברשימת ההיתרים במצב 'נעילת משימה'.
כדי להפסיק אפליקציה במצב משימת נעילה, צריך להסיר את האפליקציה ממצב 'נעילת משימות'
רשימת היתרים באמצעות
DevicePolicyManager.setLockTaskPackages()
הפעלת תכונות בממשק המשתמש של המערכת
כשמצב 'נעילה' מופעל, בעלי המכשיר ובעלים של פרופילים יכולים להפעיל
תכונות מסוימות של ממשק המשתמש של המערכת במכשיר על ידי התקשרות
DevicePolicyManager.setLockTaskFeatures()
ולהעביר
שדה סיביות של דגלי התכונות הבאים:
LOCK_TASK_FEATURE_NONE
LOCK_TASK_FEATURE_SYSTEM_INFO
LOCK_TASK_FEATURE_HOME
LOCK_TASK_FEATURE_NOTIFICATIONS
ניתן לשימוש רק בשילוב עםLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_KEYGUARD
LOCK_TASK_FEATURE_OVERVIEW
ניתן לשימוש רק בשילוב עםLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_GLOBAL_ACTIONS
אפשר להתקשר אל DevicePolicyManager.getLockTaskFeatures()
כדי לקבל את רשימת התכונות הזמינות במכשיר כשמצב 'נעילת משימה' מופעל
מופעל. כשמכשיר יוצא ממצב משימת נעילה, הוא חוזר למצב שנקבע על ידי
כללי מדיניות אחרים של המכשיר.
הסתרה של תיבות דו-שיח של שגיאות
בסביבות מסוימות, למשל הדגמות קמעונאות או מידע ציבורי
יכול להיות שלא תרצו להציג למשתמשים תיבות דו-שיח של שגיאות. מדיניות מכשיר
בקר (DPC) יכול להסתיר תיבות דו-שיח של שגיאות מערכת במקרים של קריסת מחשב או חוסר תגובה
אחר באמצעות הוספת
משתמש ב-DISALLOW_SYSTEM_ERROR_DIALOGS
המוגבלות של המשאבים. ההגבלה הזו משפיעה על כל תיבות הדו-שיח כאשר בעלי המכשיר מחילה אותן
אבל רק תיבות הדו-שיח של השגיאה שמוצגות במשתמש הראשי או המשני מושבתות
כשההגבלה חלה על הבעלים של הפרופיל. ההגבלה הזו לא גורמת
להשפיע על פרופילים של עבודה.
ב-Android 9, אפליקציות שפועלות במסך מלא עשיר והמצב לא יציגו את בועת התזכורת כשנמצאים במצב נעילת מצב המשימה. בועת התזכורת היא חלונית שמוצגת למשתמשים (בהפעלה הראשונה) שמסבירה איך לצאת ממצב של צפייה היקפית.
תמיכה במשתמשים מרובים במכשירים ייעודיים
ב-Android 9 הושק הקונספט של משתמש זמני מכשירים (לשעבר, מכשירי COSU). משתמשים זמניים הם משתמשים לטווח קצר שמיועדים למקרים שבהם מספר משתמשים חולקים חשבון למכשיר ייעודי. זה כולל סשנים של משתמשים גלויים לכולם במכשירים כמו ספרייה או קיוסקים לצ'ק אין לאירוח, וכן מפגשים קבועים בין קבוצת משתמשים במכשירים, לדוגמה, Shift worker.
צריך ליצור משתמשים זמניים ברקע. הם נוצרים בתור משתמשים משניים במכשיר והם מוסרים (יחד עם האפליקציות המשויכות נתונים) בזמן עצירה, מעבר או הפעלה מחדש של המכשיר. כדי ליצור משתמש זמני, בעלי מכשירים יכולים:
- הגדרת הדגל
MAKE_USER_EPHEMERAL
במהלך השיחהDevicePolicyManager.createAndManageUser()
- התקשרות אל
DevicePolicyManager.startUserInBackground()
כדי להפעיל את המשתמש הזמני ברקע.
הערה: אפליקציות שמטרגטות ל-Android 9 אמורות לזהות
UserManager.UserOperationException
בשיחה
createAndManageUser()
מסמנים את החריג
getUserOperationResult()
כדי לגלות למה
המשתמש לא נוצר.
קבלת התראות על אירועים
המכשיר DeviceAdminReceiver
מקבל התראות לגבי
האירועים הבאים:
onUserStarted()
: מתבצעת שיחה כשמשתמש מתחיל.onUserSwitched()
: בוצעה שיחה כשהחלפת משתמש הושלם.onUserStopped()
: בוצעה שיחה יחד עםonUserRemoved()
כאשר משתמש מפסיק או מתועד ביומן .
הצגת הודעות על אירועים למשתמשים
בעלי מכשירים יכולים להגדיר את ההודעות שיוצגו למשתמשים כשהם להתחיל ולסיים את הסשנים שלהם:
- כדאי להשתמש
DevicePolicyManager.setStartUserSessionMessage()
כדי להגדיר את ההודעה שתוצג למשתמש כשהסשן של המשתמש מתחיל. שפת תרגום אחזור ההודעה, להתקשרDevicePolicyManager.getStartUserSessionMessage()
- כדאי להשתמש
DevicePolicyManager.setEndUserSessionMessage()
כדי להגדיר את ההודעה שתוצג למשתמש בסיום הסשן של המשתמש. שפת תרגום אחזור ההודעה, להתקשרDevicePolicyManager.getEndUserSessionMessage()
התנתקות והפסקת משתמשים
בעלי המכשירים יכולים להשתמש
DevicePolicyManager.setLogoutEnabled()
כדי לציין אם
ההתנתקות מופעלת עבור המשתמשים המשניים. כדי לבדוק אם ההתנתקות מופעלת,
DevicePolicyManager.isLogoutEnabled()
בעלים של פרופילים של משתמשים משניים יכולים להתקשר
DevicePolicyManager.logoutUser()
כדי לעצור את המשתמש המשני ו
עוברים חזרה למשתמש הראשי.
בעלי מכשירים יכולים להשתמש ב-DevicePolicyManager.stopUser()
כדי להפסיק
המשתמש המשני שצוין.
שמירת חבילות במטמון
כדי לייעל את ניהול ההקצאות של משתמשים במכשירים משותפים עם קבוצת משתמשים קבועה, כמו מכשירים לעובדי משמרת, אפשר לשמור במטמון חבילות נדרש לסשנים של משתמשים מרובים:
שיחת טלפון
DevicePolicyManager.setKeepUninstalledPackages()
כדי לציין את רשימת החבילות לשמירה כ-APK. כדי לאחזר רשימה של חבילות, שיחהDevicePolicyManager.getKeepUninstalledPackages()
התקשרות אל
DevicePolicyManager.installExistingPackage()
כדי להתקין חבילה שנשמרה לאחר ההסרהsetKeepUninstalledPackages()
שיטות וקבועים נוספים
מערכת Android 9 כוללת גם את השיטות הבאות ואת הקבועים הבאים כדי להמשיך לספק תמיכה סשנים של משתמשים במכשירים משותפים:
- האפליקציה
DevicePolicyManager.getSecondaryUsers()
מקבלת רשימה של כל המשתמשים המשניים במכשיר. DISALLOW_USER_SWITCH
היא הגבלת משתמשים שאפשר להשתמש בה להפעלה באמצעות שיחהDevicePolicyManager.addUserRestriction()
כדי לחסום את המעבר בין משתמשים.LEAVE_ALL_SYSTEM_APPS_ENABLED
הוא דגל זמין עבורDevicePolicyManager.createAndManageUser()
כשההגדרה מוגדרת, אפליקציות מערכת לא מושבתות במהלך ניהול ההקצאות של המשתמשים.- זריקה של
UserManager.UserOperationException
על ידיDevicePolicyManager.createAndManageUser()
כשלא ניתן ליצור את המשתמש — החריגה מכילה את הסיבה לכשל.
ניקוי נתוני החבילה והסרת החשבונות
בעלי המכשיר ובעלי הפרופילים יכולים להתקשר
clearApplicationUserData()
כדי לנקות את נתוני המשתמש
לחבילה נתונה. כדי להסיר חשבון
AccountManager
, הבעלים של המכשיר והפרופיל יכולים להתקשר
removeAccount()
הגבלות משתמשים ושליטה מוגברת בהגדרות
ב-Android 9 יש כמה הגבלות על משתמשים לגבי בקרי DPC, וגם יכולת לקבוע נקודות APN, שעה ואזור זמן והגדרות מערכת במכשיר.
הגדרת נקודות APN
בעלי מכשירים יכולים להשתמש בשיטות הבאות ב
מחלקה DevicePolicyManager
כדי להגדיר נקודות APN
המכשיר:
addOverrideApn()
updateOverrideApn()
removeOverrideApn()
getOverrideApns()
setOverrideApnEnabled()
isOverrideApnEnabled()
הגדרת שעה ואזור זמן
בעלי מכשירים יכולים להשתמש בשיטות הבאות ב
DevicePolicyManager
כדי להגדיר את השעה ואזור הזמן
במכשיר:
אכיפת הגבלות משתמשים בהגדרות חשובות
ב-Android 9 נוספו הגבלות משתמשים כדי להשבית את התכונות וההגדרות של המערכת. שפת תרגום
הוספת הגבלה, שיחה
DevicePolicyManager.addUserRestriction()
עם אחת מהאפשרויות
הקבועים הבאים של UserManager
:
DISALLOW_AIRPLANE_MODE
DISALLOW_AMBIENT_DISPLAY
DISALLOW_CONFIG_BRIGHTNESS
DISALLOW_CONFIG_DATE_TIME
DISALLOW_CONFIG_LOCATION
DISALLOW_CONFIG_SCREEN_TIMEOUT
DISALLOW_PRINTING
אם 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()
השלבים להעברת הבעלות על מכשיר מנוהל או על פרופיל עבודה הם זהה:
- ה-DPC המקורי בודק שגרסת בקר ה-DPC של היעד תומכת בהעברה מאשרת שחתימת האפליקציה של בקר ה-DPC של היעד תואמת לערך הצפוי.
- בקר ה-DPC של המקור קורא לפונקציה
transferOwnership()
כדי להפעיל את העברה. - המערכת מגדירה את בקר ה-DPC כיעד האדמין הפעיל ומגדירה בתור הבעלים של המכשיר המנוהל או של פרופיל העבודה.
- בקר ה-DPC של היעד מקבל את הקריאה החוזרת
onTransferOwnershipComplete()
ויכולים להגדיר עצמו באמצעות ערכים מהארגומנטbundle
. - אם משהו משתבש בהעברה, המערכת מחזירה את הבעלות אל
בקר ה-DPC המקורי. אם בקר ה-DPC של המקור צריך לאשר שהעברת הבעלות
הפעולה בוצעה ללא שגיאות, יש להתקשר אל
isAdminActive()
כדי לבדוק שה-DPC המקורי כבר לא האדמין הפעיל.
כל האפליקציות שפועלות בפרופיל העבודה מקבלות את
השידור של ACTION_PROFILE_OWNER_CHANGED
כאשר
הבעלים של הפרופיל משתנים. אפליקציות שפועלות במכשיר מנוהל מקבלות
השידור של ACTION_DEVICE_OWNER_CHANGED
כאשר
שינויים בבעלי המכשיר.
פרופילים של עבודה במכשירים מנוהלים
העברת שני מופעים של בקר DPC שפועל כבעלים של המכשיר ובעל הפרופיל קורה בשני שלבים. כאשר הפרופיל האישי ופרופיל העבודה משויך, מבצעים את ההעברה לפי הסדר הבא:
- קודם צריך להעביר את הבעלות על פרופיל העבודה.
- צריך להמתין להתקשרות חזרה של
DeviceAdminReceiver
onTransferAffiliatedProfileOwnershipComplete()
כדי לאשר שפרופיל העבודה הועבר ל-DPC היעד. - לסיום, צריך להעביר את הבעלות על המכשיר המנוהל אל בקר ה-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
השיטות הבאות:setKeyPairCertificate()
ו- מעבירים אתfalse
לארגומנטisUserSelectable
.installKeyPair (ComponentName, PrivateKey, Certificate[], String, int)
ולהשמיט אתINSTALLKEY_SET_USER_SELECTABLE
מ- את הארגומנטflags
.
שילוב של ממשקי ה-API האלה יאפשר לארגונים לזהות מכשירים באופן מאובטח ולאשר התקינות שלהם לפני מתן גישה:
- מכשיר Android יוצר מפתח פרטי חדש בחומרה המאובטחת. מכיוון שהמפתח הפרטי אף פעם לא נשלח מהחומרה המאובטחת, הוא נשאר סודי.
- המכשיר משתמש במפתח כדי ליצור ולשלוח בקשה לחתימה על אישור (CSR) לשרת. נציג שירות הלקוחות כולל את רשומת האימות (attestation) שמכילה את מזהי מכשירים.
- השרת מאמת את שרשרת האישורים (מושתתת באישור של Google) ומחלצת את המטא-נתונים של המכשיר מרשומת האימות.
- השרת מאשר שהחומרה המאובטחת מגינה על המפתח הפרטי שמזהי המכשירים תואמים לרשומות של הארגון. השרת יכול גם לבדוק שגרסת מערכת Android וגרסת התיקון עומדות בכל הדרישות.
- השרת יוצר אישור מ-CSR ושולח את האישור אל במכשיר.
- המכשיר מתאים את האישור למפתח הפרטי (שנשאר בקובץ חומרה מאובטחת) שמאפשרת לאפליקציות להתחבר לשירותים ארגוניים.
עוד ממשקי 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, אותה מדיניות תגרור חריגת אבטחה כשהאדמין של המכשיר מופעל.
USES_POLICY_DISABLE_CAMERA
USES_POLICY_DISABLE_KEYGUARD_FEATURES
USES_POLICY_EXPIRE_PASSWORD
USES_POLICY_LIMIT_PASSWORD
בחלק מהאפליקציות נעשה שימוש בניהול מכשיר לצורך ניהול מכשירים לצרכנים. עבור לדוגמה, נעילה ומחיקה של מכשיר שאבד. כללי המדיניות הבאים ימשיכו לפעול להיות זמינים כדי לאפשר זאת:
מידע נוסף על השינויים האלה זמין במאמר ניהול המכשיר להוצאה משימוש.
רישום יעיל של קוד QR
ספריית QR מובנית
Android 9 מגיע בחבילה עם ספריית QR כדי לפשט מכשיר עם קוד QR הקצאה. אדמינים ב-IT לא צריכים יותר להזין את פרטי ה-Wi-Fi באופן ידני כדי להגדיר מכשיר. ב-Android 9, אפשר לכלול את פרטי ה-Wi-Fi האלה במקום זאת בתוך קוד QR. כשאדמין ב-IT סורק את קוד ה-QR באמצעות חשבון בבעלות החברה המכשיר, המכשיר יתחבר אוטומטית ל-Wi-Fi ויזין את הקצאת ההרשאות ללא קלט ידני נוסף.
השיטה להקצאת קוד QR תומכת בתוספות הבאות של הקצאת הרשאות ידנית ציון פרטי Wi-Fi:
EXTRA_PROVISIONING_WIFI_HIDDEN
EXTRA_PROVISIONING_WIFI_PAC_URL
EXTRA_PROVISIONING_WIFI_PASSWORD
EXTRA_PROVISIONING_WIFI_PROXY_BYPASS
EXTRA_PROVISIONING_WIFI_PROXY_HOST
EXTRA_PROVISIONING_WIFI_PROXY_PORT
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
EXTRA_PROVISIONING_WIFI_SSID
קביעת תאריך ואזור זמן באמצעות תוספות של ניהול הקצאות
השיטה להקצאת קוד QR תומכת בהקצאת תוספות כדי להגדיר את השעה אזור זמן במכשיר:
אפשרויות למחיקת נתונים
מנהלי מכשירים יכולים להציג הודעה מותאמת אישית למשתמשים כשהם מסירים עבודה
פרופיל או משתמש משני. ההודעה עוזרת למשתמשים במכשיר להבין
האדמין ב-IT הסיר את פרופיל העבודה או את המשתמש המשני. שיחת טלפון
wipeData(int, CharSequence)
ומספקים סרטון Shorts
הודעת הסבר. כאשר המשתמש הראשי או בעל המכשיר מקבלים קריאה, המערכת
לא מציג הודעה ומתחיל איפוס של המכשיר להגדרות המקוריות.
כדי להסיר נתוני מינוי מכרטיס SIM מוטמע של eUICC, צריך להתקשר
wipeData()
וכוללים את WIPE_EUICC
בflags
ארגומנט.
שיטות לבעלים של פרופילים משויכים
השיטות הבאות זמינות לפרופיל משויך owner:
DevicePolicyManager.setKeyguardDisabled()
DevicePolicyManager.setStatusBarDisabled()
PackageInstaller.createSession()