ميزة "ثقة الجهاز" من Android Enterprise: الإشارات المتاحة

توفّر ميزة Device Trust من Android Enterprise مجموعة من إشارات حالة الجهاز على Device يمكن للتطبيقات المصرّح لها الوصول إليها لاحتساب درجة الثقة للجهاز، بما في ذلك التطبيقات المدرَجة في القائمة المسموح بها والتطبيقات التي تم منحها دور COMPANION_APP (يُرجى الاطّلاع على إدارة أدوار التطبيقات وضبط السياسات).

يتضمّن كل حقل إشارة في Device وفئات النماذج المدمجة فيه طريقة get*Metadata() مقابلة تعرض Metadata، والتي تُبلغ عن أي Metadata.DataIssue تتم مواجهته عند استرداد الإشارة (مثل أذونات البيان غير المتوفّرة).

للحصول على معلومات حول كيفية دمج حزمة تطوير البرامج (SDK) الخاصة بواجهة Android Management API في تطبيقك، يُرجى الاطّلاع على ميزة Device Trust من Android Enterprise - دليل التكامل.

الإشارات
إصدار نظام التشغيل
Device#getSoftwareInfo() تعرض عنصر SoftwareInfo يحتوي على تفاصيل إصدار نظام التشغيل (عادةً ما تحتوي إصدارات نظام التشغيل القديمة على المزيد من الثغرات الأمنية):
إصدار Android Device Policy
SoftwareInfo#getAndroidDevicePolicyVersionCode() و SoftwareInfo#getAndroidDevicePolicyVersionName() تعرضان رمز الإصدار واسم الإصدار الذي يظهر للمستخدم لتطبيق سياسة الجهاز على جهاز Android.
هل يتضمّن الجهاز تحديثًا عبر الهواء في انتظار التطبيق؟
تعرض السمة SoftwareInfo#getSystemUpdateInfo() SoftwareInfo.SystemUpdateInfo للإشارة إلى ما إذا كان هناك تحديث معلَّق لنظام التشغيل على الجهاز (مؤشر على ما إذا كان الجهاز معرّضًا لعمليات الاستغلال):
مستوى رمز تصحيح أمان الجهاز
SoftwareInfo#getDeviceSecurityPatchInfos() تعرِض قائمة SoftwareInfo.SecurityPatchInfo كائنات (مع getComponent() و getSecurityPatchLevel() تعرِض قائمة SecurityPatchLevel كائنات) لمستوى رمز تصحيح الأمان الحالي للجهاز على مستوى SecurityPatchComponent الأنواع القابلة للتحديث:
مستوى رمز تصحيح الأمان المنشور
SoftwareInfo#getPublishedSecurityPatchInfos() تعرض قائمة SoftwareInfo.SecurityPatchInfo كائنات (مع getComponent() و getSecurityPatchLevel() تعرض قائمة SecurityPatchLevel كائنات) لمستوى رمز تصحيح الأمان المنشور حاليًا على مستوى أنواع SecurityPatchComponent القابلة للتحديث:
تفاصيل التطبيق المهمة
Device#getApplicationReports() تعرض تفاصيل عن جميع التطبيقات المثبّتة في تطبيقات قابلية التوسّع وتطبيقات الاتصال التي لها الدور COMPANION_APP على جهاز مُدار من خلال واجهة برمجة التطبيقات لإدارة Android (يُرجى الاطّلاع على إدارة أدوار التطبيقات و إعدادات السياسة، وعند الاتصال داخل ملف عمل، تقتصر التقارير على التطبيقات المثبّتة في ملف العمل). بالنسبة إلى جميع المتصلين الآخرين (مثل التطبيقات المدرَجة في القائمة المسموح بها)، تعرض واجهة برمجة التطبيقات Device#getApplicationReports() تفاصيل حول التطبيقات المهمة التالية فقط:
  • com.android.chrome
  • com.google.android.gms
  • com.google.android.apps.work.clouddpc
  • com.android.vending
  • حزمة WebView الحالية للجهاز (مثل com.google.android.webview)
يتم عرض التفاصيل كقائمة من عناصر ApplicationReport التي تعرض:
  • getPackageName()
  • getVersionName() و getLongVersionCode()
  • getSigningKeyCertSha256Fingerprints()
  • getApplicationSource() (قيمة ApplicationSource) و getInstallerPackageName()
  • getLastUpdateTime()
معلومات حول مكوّنات الجهاز
يعرض Device#getHardwareInfo() عنصر HardwareInfo يعرض ما يلي:
مستوى تعقيد قفل الشاشة
توفّر فئة Device#getDeviceSettings() DeviceSettings#getScreenLockComplexity()، التي تعرض قيمة DeviceSettings.ScreenLockComplexity تشير إلى مدى تعقيد قفل الشاشة للمستخدم أو الملف الشخصي الحالي.
حالة الإدارة (والتطبيق الإداري)
وتعتمد المعلومات التي يتم عرضها على الملف الشخصي الذي يتم تشغيل التطبيق فيه. لمعرفة التفاصيل، يُرجى الاطّلاع على جدول حالة الإدارة.
تشفير القرص
DeviceSettings#getEncryptionStatus() تعرِض قيمة DeviceSettings.EncryptionStatus تشير إلى ما إذا كانت مساحة التخزين على الجهاز مشفَّرة.
الوصول إلى حالة الشبكة (حالة الشبكة وحالة Wi-Fi)
Device#getNetworkInfo() تعرِض NetworkInfo، و NetworkInfo#getNetworkParams() تعرِض قائمة NetworkInfo.NetworkParams مع تفاصيل عن جميع الشبكات النشطة على الجهاز:
ميزة "التحقّق من التطبيقات" في "Google Play للحماية"
هل بروتوكول "معالجة نظام أسماء النطاقات عبر بروتوكول أمان طبقة النقل (TLS)" مفعَّل؟
تعرض السمة NetworkParams#getPrivateDnsState() قيمة PrivateDnsState تشير إلى ما إذا كان نظام أسماء النطاقات الخاص مستخدَمًا على الشبكة.
حزمة WebView
SoftwareInfo#getWebviewPackage() تعرض اسم حزمة WebView الحالية.
اسم النشاط التجاري لمقدّم خدمة الإدارة الذي يمكن لشخص عادي قراءته
على الأجهزة التي تديرها واجهة برمجة التطبيقات Android Management API، تعرض السمة Device#getManagementProviderInfo() عنصر ManagementProviderInfo الذي توفّر طريقته getBusinessName() اسم النشاط التجاري لموفّر الإدارة بطريقة يمكن لشخص عادي قراءتها. لا يتم ضبط هذا الحقل على الأجهزة غير المُدارة أو الأجهزة التي تديرها وحدة التحكّم بسياسة الجهاز (DPC) المخصّصة.

حالة الإدارة

تعتمد القيم المعروضة لإشارات الإدارة على الملف الشخصي الذي يتم تشغيل تطبيقك فيه. للوصول إلى الإشارات من داخل الملف الشخصي، على جهاز غير مُدار أو على جهاز مُدار من خلال وحدة تحكّم بسياسة الجهاز (DPC) مخصّصة، يجب أن يكون تطبيقك مدرجًا في القائمة المسموح بها. على جهاز مُدار بالكامل من خلال AMAPI أو من داخل ملف العمل، يمكن للتطبيقات التي تم منحها دور COMPANION_APP أيضًا الوصول إلى هذه الإشارات بدون أن تكون مدرَجة في القائمة المسموح بها (تقتصر على الإشارات من ملف العمل عند طلبها داخل ملف العمل).

حالة الإدارة الإشارات عند الاتصال من داخل الملف الشخصي الإشارات عند الاتصال من داخل ملف العمل
جهاز غير مُدار ownership: PERSONALLY_OWNED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
N/A
ملف العمل على جهاز مملوك شخصيًا (إحضار الجهاز الشخصي) ownership: PERSONALLY_OWNED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
ownership: PERSONALLY_OWNED
managementMode: PROFILE_OWNER
managementAppPackageName: Package name of the Profile Owner application
workProfileState:
ملف العمل على جهاز تملكه الشركة ownership: COMPANY_OWNED
managementMode: UNMANAGED
managementAppPackageName:N/A
workProfileState:
ownership: COMPANY_OWNED
managementMode: PROFILE_OWNER
managementAppPackageName: Package name of the Profile Owner application
workProfileState:
جهاز مُدار بالكامل N/A ownership: COMPANY_OWNED
managementMode: DEVICE_OWNER
managementAppPackageName: Package name of the Device Owner application
workProfileState: