Device Trust از Android Enterprise مجموعهای از نشانهای وضعیت دستگاه را در Device دردسترس قرار میدهد که برنامههای مجاز (ازجمله برنامههای موجود در فهرست مجاز و برنامههایی که نقش COMPANION_APP به آنها اختصاص داده شده است (به مدیریت نقشهای برنامه و پیکربندی خطمشی مراجعه کنید)) میتوانند برای محاسبه امتیاز اعتماد دستگاه به آنها دسترسی داشته باشند.
هر فیلد سیگنال در Device و کلاسهای مدل تودرتوی آن شامل یک
روش get*Metadata() متناظر است که Metadata را برمیگرداند، که هرگونه
Metadata.DataIssue مواجهشده هنگام بازیابی سیگنال (مانند اجازههای مانیفست
مفقود) را گزارش میدهد.
برای کسب اطلاعات درباره نحوه ادغام Android Management API SDK در برنامهتان، Device Trust از Android Enterprise - راهنمای ادغام را ببینید.
| نشانها | |
|---|---|
| نسخه سیستمعامل |
Device#getSoftwareInfo() یک
SoftwareInfo شیء حاوی جزئیات نسخه سیستمعامل را برمیگرداند
(نسخههای قدیمیتر سیستمعامل معمولاً آسیبپذیریهای بیشتری دارند):
|
| نسخه Android Device Policy |
SoftwareInfo#getAndroidDevicePolicyVersionCode() و
SoftwareInfo#getAndroidDevicePolicyVersionName()
کد نسخه و نام نسخه قابلمشاهده برای کاربر برنامه Android Device
Policy را در دستگاه برمیگرداند.
|
| آیا دستگاه OTA معلقه دارد |
SoftwareInfo#getSystemUpdateInfo()
SoftwareInfo.SystemUpdateInfo را برمیگرداند که نشان میدهد
آیا بهروزرسانی سیستمعامل معلقی برای دستگاه وجود دارد یا نه (پروکسی برای اینکه آیا دستگاه
دربرابر سوءاستفاده آسیبپذیر است یا نه):
|
| سطح وصله امنیتی دستگاه |
SoftwareInfo#getDeviceSecurityPatchInfos() فهرستی از
اشیاء
SoftwareInfo.SecurityPatchInfo (با
getComponent() و
getSecurityPatchLevel() که فهرستی از
اشیاء
SecurityPatchLevel را برمیگرداند) برای سطح وصله امنیتی فعلی دستگاه در انواع
SecurityPatchComponent قابلبهروزرسانی برمیگرداند:
|
| سطح وصله امنیتی منتشرشده |
SoftwareInfo#getPublishedSecurityPatchInfos()
فهرستی از اشیاء
SoftwareInfo.SecurityPatchInfo (با
getComponent() و
getSecurityPatchLevel() که فهرستی از اشیاء
SecurityPatchLevel را برمیگرداند) برای سطح وصله امنیتی منتشرشده فعلی در انواع
SecurityPatchComponent قابلبهروزرسانی برمیگرداند:
|
| جزئیات مهم برنامه |
Device#getApplicationReports() جزئیات مربوط به همه
برنامههای نصبشده را به برنامههای توسعهپذیری و برنامههای تماسگیرنده
با نقش
COMPANION_APP در دستگاه تحتمدیریت AMAPI برمیگرداند (به
مدیریت نقشهای برنامه و
پیکربندی
خطمشی مراجعه کنید؛ وقتی از داخل نمایه کاری فراخوانی شود، گزارشها
به برنامههای نصبشده در نمایه کاری محدود میشود). برای همه تماسگیرندگان دیگر
(مانند برنامههای موجود در فهرست مجاز)،
Device#getApplicationReports() جزئیات را فقط برای
برنامههای حیاتی زیر برمیگرداند:
جزئیات بهصورت فهرستی از
ApplicationReport شیء برگردانده میشود که موارد زیر را نشان میدهد:
|
| اطلاعات سختافزار دستگاه |
Device#getHardwareInfo()
HardwareInfo را برمیگرداند که این موارد را نشان میدهد:
|
| پیچیدگی قفل صفحه |
Device#getDeviceSettings()
DeviceSettings#getScreenLockComplexity() را ارائه میدهد و مقدار
DeviceSettings.ScreenLockComplexity را برمیگرداند که نشاندهنده
میزان پیچیدگی قفل صفحه کاربر یا نمایه فعلی است.
|
| وضعیت مدیریت (و برنامه مدیریت) |
اطلاعات برگرداندهشده به نمایهای بستگی دارد که برنامه در آن
اجرا میشود. برای جزئیات،
جدول وضعیت مدیریت را ببینید.
|
| رمزگذاری دیسک |
DeviceSettings#getEncryptionStatus() مقدار
DeviceSettings.EncryptionStatus را برمیگرداند که
نشان میدهد فضای ذخیرهسازی دستگاه رمزگذاری شده است یا نه.
|
| وضعیت شبکه دسترسی (وضعیت شبکه و وضعیت Wi-Fi) |
Device#getNetworkInfo() یک شیء
NetworkInfo برمیگرداند، و
NetworkInfo#getNetworkParams() فهرستی از اشیاء
NetworkInfo.NetworkParams را با جزئیات مربوط به
همه شبکههای فعال در دستگاه برمیگرداند:
|
| سپر ایمنی Google Play VerifyApps |
DeviceSettings#getGooglePlayProtectVerifyAppsState()
GooglePlayProtectVerifyAppsState
کنونی را برمیگرداند.
|
| آیا «ساناد ازطریق TLS» فعال است |
NetworkParams#getPrivateDnsState() مقدار
PrivateDnsState را برمیگرداند که نشان میدهد آیا از ساناد خصوصی
در شبکه استفاده میشود یا نه.
|
| بسته وبنما |
SoftwareInfo#getWebviewPackage() نام بسته «وبنما» فعلی را برمیگرداند.
|
| نام کسبوکار قابلخواندن برای انسان ارائهدهنده مدیریت |
در دستگاههای تحت مدیریت AMAPI،
Device#getManagementProviderInfo() یک شیء
ManagementProviderInfo برمیگرداند که روش
getBusinessName() آن نام کسبوکار قابلخواندن برای انسان
ارائهدهنده مدیریت را ارائه میدهد. این فیلد در دستگاههای مدیریتنشده یا دستگاههایی که با DPC سفارشی مدیریت میشوند تنظیم نشده است.
|
وضعیت مدیریت
مقادیر برگرداندهشده برای نشانهای مدیریت به نمایهای بستگی دارد که
برنامهتان در آن اجرا میشود. برای دسترسی به سیگنالها از داخل «نمایه شخصی»،
در دستگاه مدیریتنشده، یا در دستگاهی که توسط DPC سفارشی مدیریت میشود،
برنامه شما باید در فهرست مجاز باشد. در دستگاه کاملاً مدیریتشده تحت مدیریت AMAPI یا
از داخل «نمایه کاری»، برنامههایی که نقش
COMPANION_APP به آنها اختصاص داده شده است نیز میتوانند بدون
قرار گرفتن در فهرست مجاز به این سیگنالها دسترسی داشته باشند (محدود به سیگنالهای نمایه کاری وقتی که
در داخل نمایه کاری فراخوانی شوند).
| وضعیت مدیریت | سیگنالها هنگام فراخوانی از داخل «نمایه شخصی» | سیگنالها هنگام فراخوانی از داخل «نمایه کاری» |
|---|---|---|
| دستگاه مدیریتنشده |
ownership:
PERSONALLY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
N/A
|
| نمایه کاری در دستگاه شخصی (BYOD) |
ownership:
PERSONALLY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
ownership:
PERSONALLY_OWNEDmanagementMode: PROFILE_OWNERmanagementAppPackageName: Package name of the Profile Owner applicationworkProfileState:
|
| نمایه کاری در دستگاه متعلق به شرکت |
ownership:
COMPANY_OWNEDmanagementMode: UNMANAGEDmanagementAppPackageName: N/AworkProfileState:
|
ownership:
COMPANY_OWNEDmanagementMode: PROFILE_OWNERmanagementAppPackageName: Package name of the Profile Owner applicationworkProfileState:
|
| دستگاه کاملاً مدیریتشده |
N/A
|
ownership:
COMPANY_OWNEDmanagementMode: DEVICE_OWNERmanagementAppPackageName: Package name of the Device Owner applicationworkProfileState:
|