Device Trust from Android Enterprise - สัญญาณที่ใช้ได้

Device Trust from Android Enterprise มีชุดสัญญาณสถานะของอุปกรณ์ใน Device ที่แอปพลิเคชันที่ได้รับอนุญาต ซึ่งรวมถึงแอปพลิเคชันในรายการที่อนุญาตและแอปที่ได้รับบทบาท COMPANION_APP (ดูหัวข้อจัดการบทบาทของแอปพลิเคชันและการกำหนดค่านโยบาย) สามารถเข้าถึงเพื่อคำนวณคะแนนความน่าเชื่อถือของอุปกรณ์ได้

ฟิลด์สัญญาณแต่ละฟิลด์ใน Device และคลาสโมเดลที่ฝังอยู่จะมีเมธอด get*Metadata() ที่เกี่ยวข้องซึ่งแสดงผล Metadata ซึ่งจะรายงาน Metadata.DataIssue ที่พบเมื่อดึงข้อมูลสัญญาณ (เช่น สิทธิ์ในไฟล์ Manifest ที่ขาดหายไป)

ดูข้อมูลเกี่ยวกับวิธีผสานรวม Android Management API SDK ในแอปพลิเคชันได้ที่Device Trust from Android Enterprise - คู่มือการผสานรวม

สัญญาณ
เวอร์ชันของระบบปฏิบัติการ
Device#getSoftwareInfo() จะแสดงผลออบเจ็กต์ SoftwareInfo ที่มีรายละเอียดเวอร์ชันของระบบปฏิบัติการ (โดยปกติแล้วระบบปฏิบัติการเวอร์ชันเก่าจะมีช่องโหว่มากกว่า) ดังนี้
เวอร์ชัน Android Device Policy
SoftwareInfo#getAndroidDevicePolicyVersionCode() และ SoftwareInfo#getAndroidDevicePolicyVersionName() จะแสดงผล รหัสเวอร์ชันและชื่อเวอร์ชันที่ผู้ใช้เห็นของแอป Android Device Policy ในอุปกรณ์ Android
อุปกรณ์มี 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() จะแสดงรายละเอียดเฉพาะแอปที่สำคัญต่อไปนี้เท่านั้น
  • 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 พร้อมรายละเอียดเกี่ยวกับเครือข่ายที่ใช้งานอยู่ทั้งหมดในอุปกรณ์
VerifyApps ของ Google Play Protect
เปิดใช้ DNS-over-TLS หรือไม่
NetworkParams#getPrivateDnsState() จะแสดงผลค่า PrivateDnsState ซึ่งระบุว่ามีการใช้ DNS ส่วนตัวในเครือข่ายหรือไม่
แพ็กเกจ WebView
SoftwareInfo#getWebviewPackage() จะแสดงชื่อของแพ็กเกจ WebView ปัจจุบัน
ชื่อธุรกิจที่มนุษย์อ่านได้ของผู้ให้บริการการจัดการ
ในอุปกรณ์ที่จัดการโดย AMAPI Device#getManagementProviderInfo() จะแสดงผลออบเจ็กต์ ManagementProviderInfo ซึ่งเมธอด getBusinessName() จะระบุชื่อธุรกิจที่มนุษย์อ่านได้ ของผู้ให้บริการการจัดการ ระบบจะไม่ตั้งค่าช่องนี้ในอุปกรณ์ที่ไม่มีการจัดการหรืออุปกรณ์ที่จัดการโดย DPC ที่กำหนดเอง

สถานะการจัดการ

ค่าที่แสดงผลสำหรับสัญญาณการจัดการจะขึ้นอยู่กับโปรไฟล์ที่แอปพลิเคชันของคุณทำงานอยู่ การเข้าถึงสัญญาณจากภายในโปรไฟล์ส่วนตัว ในอุปกรณ์ที่ไม่มีการจัดการ หรือในอุปกรณ์ที่จัดการโดย DPC ที่กำหนดเองกำหนดให้แอปพลิเคชันของคุณต้องอยู่ในรายการที่อนุญาต ในอุปกรณ์ที่มีการจัดการครบวงจรซึ่งจัดการโดย AMAPI หรือจากภายในโปรไฟล์งาน แอปพลิเคชันที่ได้รับมอบหมายบทบาท COMPANION_APP จะเข้าถึงสัญญาณเหล่านี้ได้โดยไม่ต้องอยู่ในรายการที่อนุญาต (จำกัดเฉพาะสัญญาณจากโปรไฟล์งานเมื่อเรียกใช้ภายในโปรไฟล์งาน)

สถานะการจัดการ สัญญาณเมื่อเรียกใช้จากภายในโปรไฟล์ส่วนตัว สัญญาณเมื่อมีการโทรจากภายในโปรไฟล์งาน
อุปกรณ์ที่ไม่มีการจัดการ ownership: PERSONALLY_OWNED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
N/A
โปรไฟล์งานในอุปกรณ์ส่วนตัว (BYOD) 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: