อุปกรณ์ OEM ต้องมีองค์ประกอบสำคัญต่อไปนี้เพื่อให้รองรับโปรไฟล์ที่มีการจัดการได้อย่างน้อย
- เจ้าของโปรไฟล์ (ตามที่อธิบายไว้ในหัวข้อการตรวจสอบความเข้ากันได้กับโปรไฟล์ที่มีการจัดการ)
- เจ้าของอุปกรณ์
โปรดดูรายการข้อกำหนดทั้งหมดที่หัวข้อใช้การจัดการอุปกรณ์ หากต้องการทดสอบฟีเจอร์การจัดการอุปกรณ์ เจ้าของอุปกรณ์สามารถใช้แอปพลิเคชัน TestDPC ที่อธิบายไว้ด้านล่าง
ตั้งค่าเจ้าของอุปกรณ์สำหรับการทดสอบ
ใช้วิธีการต่อไปนี้เพื่อตั้งค่าสภาพแวดล้อมการทดสอบสำหรับเจ้าของอุปกรณ์
- รีเซ็ตอุปกรณ์เป้าหมายเป็นค่าเริ่มต้น
- ตรวจสอบว่าอุปกรณ์ไม่มีบัญชีผู้ใช้ (เช่น บัญชีที่ใช้เข้าสู่ระบบบริการออนไลน์) ตรวจสอบได้โดยไปที่การตั้งค่า > บัญชี
- ตั้งค่าแอปพลิเคชันทดสอบโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- ดาวน์โหลดแอปพลิเคชัน TestDPC (มีให้บริการใน Google Play)
- สร้างแอปพลิเคชัน TestDPC (มีให้ดาวน์โหลดจาก github.com)
- ตั้งค่าแอป TestDPC เป็นเจ้าของอุปกรณ์โดยใช้คําสั่งต่อไปนี้
adb shell dpm set-device-owner "com.afwsamples.testdpc/.DeviceAdminReceiver"
- ดำเนินการตั้งค่าเจ้าของอุปกรณ์ในอุปกรณ์ (เข้ารหัส เลือก Wi-Fi)
ยืนยันการตั้งค่าเจ้าของอุปกรณ์
หากต้องการยืนยันว่าเจ้าของอุปกรณ์ได้รับการตั้งค่าอย่างถูกต้อง ให้ไปที่การตั้งค่า > ความปลอดภัย > ผู้ดูแลระบบอุปกรณ์ และตรวจสอบว่า TestDPC อยู่ในรายการ ยืนยันว่าปิดใช้ไม่ได้ (ซึ่งหมายความว่าอุปกรณ์ดังกล่าวเป็นเจ้าของอุปกรณ์)
รายงานข้อบกพร่องและบันทึก
ตั้งแต่ Android 7.0 เป็นต้นไป ไคลเอ็นต์นโยบายด้านอุปกรณ์ (DPC) ของเจ้าของอุปกรณ์จะดูรายงานข้อบกพร่องและดูบันทึกสำหรับกระบวนการขององค์กรในอุปกรณ์ที่มีการจัดการได้
หากต้องการเรียกให้แสดงรายงานข้อบกพร่อง (นั่นคือข้อมูลที่เทียบเท่าซึ่งรวบรวมโดย adb bugreport
ที่มีข้อมูล dumpsys
, dumpstate และ logcat) ให้ใช้ DevicePolicyController.requestBugReport
หลังจากรวบรวมรายงานข้อบกพร่องแล้ว ระบบจะแจ้งให้ผู้ใช้ให้ความยินยอมในการส่งข้อมูลรายงานข้อบกพร่อง DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined]
ได้รับผลลัพธ์แล้ว ดูรายละเอียดเกี่ยวกับเนื้อหาของรายงานข้อบกพร่องได้ที่การอ่านรายงานข้อบกพร่อง
นอกจากนี้ DPC ของเจ้าของอุปกรณ์ยังรวบรวมบันทึกที่เกี่ยวข้องกับการดำเนินการที่ผู้ใช้ทำในอุปกรณ์ที่มีการจัดการได้ด้วย จำเป็นต้องใช้การบันทึกกระบวนการขององค์กรสำหรับอุปกรณ์ทั้งหมดที่รายงาน device_admin และเปิดใช้โดยบัฟเฟอร์ความปลอดภัยของบันทึกใหม่ซึ่งอ่านได้โดยเซิร์ฟเวอร์ระบบเท่านั้น (นั่นคือ $ adb logcat -b security
อ่านบัฟเฟอร์ไม่ได้) บริการ ActivityManager และคอมโพเนนต์ Keyguard จะบันทึกเหตุการณ์ต่อไปนี้ลงในบัฟเฟอร์ความปลอดภัย
- กระบวนการสมัครกำลังเริ่มต้น
- การดำเนินการของ Keyguard (เช่น ปลดล็อกไม่สำเร็จและสำเร็จ)
adb
คำสั่งที่ส่งไปยังอุปกรณ์
หากต้องการเก็บบันทึกไว้เมื่อรีบูต (ไม่ใช่การบูตจากเครื่องเย็น) และทำให้ DPC ของเจ้าของอุปกรณ์เข้าถึงบันทึกเหล่านี้ได้ อุปกรณ์จะต้องมีเคอร์เนลที่เปิดใช้ pstore
และ pmsg
รวมถึง DRAM ที่เปิดเครื่องและรีเฟรชตลอดทุกระยะของการรีบูตเพื่อหลีกเลี่ยงการทำให้บันทึกที่เก็บไว้ในหน่วยความจำเสียหาย หากต้องการเปิดใช้การสนับสนุน ให้ใช้การตั้งค่า config_supportPreRebootSecurityLogs
ใน frameworks/base/core/res/res/values/config.xml