मैनेज की जा रही प्रोफ़ाइलों के लिए कम से कम सहायता पाने के लिए, OEM डिवाइसों में ये ज़रूरी एलिमेंट होने चाहिए:
- प्रोफ़ाइल का मालिक (जैसा कि मैनेज की जा रही प्रोफ़ाइलों के साथ काम करने की सुविधा उपलब्ध कराने के बारे में जानकारी में बताया गया है)
- डिवाइस का मालिक
ज़रूरी शर्तों की पूरी सूची के लिए, डिवाइस मैनेजमेंट लागू करना देखें. डिवाइस मैनेजमेंट की सुविधाओं की जांच करने के लिए, डिवाइस के मालिक यहां बताए गए TestDPC ऐप्लिकेशन का इस्तेमाल कर सकते हैं.
जांच के लिए डिवाइस के मालिक को सेट अप करना
डिवाइस के मालिक के लिए टेस्टिंग एनवायरमेंट सेट अप करने के लिए, इन निर्देशों का पालन करें.
- टारगेट डिवाइस को फ़ैक्ट्री रीसेट करें.
- पक्का करें कि डिवाइस में कोई उपयोगकर्ता खाता न हो. उदाहरण के लिए, ऑनलाइन सेवाओं में लॉग इन करने के लिए इस्तेमाल किए जाने वाले खाते. पुष्टि करने के लिए, सेटिंग > खाते पर जाएं.
- टेस्टिंग ऐप्लिकेशन को सेट अप करने के लिए, इनमें से कोई एक तरीका अपनाएं:
- TestDPC ऐप्लिकेशन डाउनलोड करें. यह ऐप्लिकेशन Google Play पर उपलब्ध है.
- TestDPC ऐप्लिकेशन बनाएं. यह ऐप्लिकेशन github.com पर उपलब्ध है.
- नीचे दिए गए निर्देश का इस्तेमाल करके, TestDPC ऐप्लिकेशन को डिवाइस के मालिक के तौर पर सेट करें:
adb shell dpm set-device-owner "com.afwsamples.testdpc/.DeviceAdminReceiver"
- डिवाइस पर, डिवाइस के मालिक के लिए सेटअप करें (एन्क्रिप्ट करें, वाई-फ़ाई चुनें).
डिवाइस के मालिक के सेटअप की पुष्टि करना
यह पुष्टि करने के लिए कि डिवाइस के मालिक ने सही तरीके से सेटअप किया है, सेटिंग > सुरक्षा > डिवाइस एडमिन पर जाएं और पुष्टि करें कि TestDPC सूची में शामिल है. पुष्टि करें कि इसे बंद नहीं किया जा सकता (इससे पता चलता है कि वह डिवाइस का मालिक है).
गड़बड़ी की रिपोर्ट और लॉग
Android 7.0 के बाद, डिवाइस के मालिक के पास डिवाइस नीति क्लाइंट (डीपीसी) की मदद से, मैनेज किए जा रहे डिवाइस पर गड़बड़ी की रिपोर्ट पाने और एंटरप्राइज़ प्रोसेस के लॉग देखने का विकल्प होता है.
गड़बड़ी की रिपोर्ट को ट्रिगर करने के लिए, DevicePolicyController.requestBugReport
का इस्तेमाल करें. यह रिपोर्ट, adb bugreport
से इकट्ठा किया गया डेटा होता है. इसमें dumpsys
, dumpstate, और logcat डेटा शामिल होता है. बग रिपोर्ट इकट्ठा होने के बाद, उपयोगकर्ता से बग रिपोर्ट का डेटा भेजने के लिए सहमति देने के लिए कहा जाता है. नतीजे DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined]
को मिलते हैं. गड़बड़ी की रिपोर्ट के कॉन्टेंट के बारे में जानकारी पाने के लिए, गड़बड़ी की रिपोर्ट पढ़ना लेख पढ़ें.
इसके अलावा, डिवाइस के मालिक के तौर पर डीपीसी, मैनेज किए जा रहे डिवाइस पर उपयोगकर्ता की कार्रवाइयों से जुड़े लॉग भी इकट्ठा कर सकते हैं. Enterprise प्रोसेस लॉगिंग, उन सभी डिवाइसों के लिए ज़रूरी है जो device_admin की रिपोर्ट करते हैं. साथ ही, यह सिर्फ़ सिस्टम सर्वर के ज़रिए पढ़े जा सकने वाले नए लॉग सुरक्षा बफ़र की मदद से चालू होती है. इसका मतलब है कि $ adb logcat -b security
, बफ़र को नहीं पढ़ सकता. ActivityManager सेवा और Keyguard कॉम्पोनेंट, सुरक्षा बफ़र में ये इवेंट लॉग करते हैं:
- आवेदन की प्रोसेस शुरू होना
- Keyguard की कार्रवाइयां (उदाहरण के लिए, अनलॉक न हो पाना और अनलॉक हो जाना)
adb
डिवाइस को दिए गए निर्देश
रीबूट (कोल्ड बूट नहीं) के दौरान लॉग को सेव रखने और डिवाइस के मालिक के डीपीसी के लिए ये लॉग उपलब्ध कराने के लिए, डिवाइस में pstore
और pmsg
चालू वाला कर्नेल होना चाहिए. साथ ही, रीबूट के सभी चरणों में डीआरएएम चालू और रीफ़्रेश किया जाना चाहिए, ताकि मेमोरी में सेव किए गए लॉग में कोई गड़बड़ी न हो. सहायता पाने की सुविधा चालू करने के लिए, frameworks/base/core/res/res/values/config.xml
में जाकर config_supportPreRebootSecurityLogs
सेटिंग का इस्तेमाल करें.