Device Trust from Android Enterprise - Available signals

Device Trust from Android Enterprise, Device पर डिवाइस की स्थिति के सिग्नल का एक सेट उपलब्ध कराता है. इसे अनुमति वाले ऐप्लिकेशन ऐक्सेस कर सकते हैं. इनमें अनुमति वाली सूची में शामिल ऐप्लिकेशन और COMPANION_APP की भूमिका वाले ऐप्लिकेशन शामिल हैं. ऐप्लिकेशन की भूमिकाएं मैनेज करना और नीति कॉन्फ़िगरेशन देखें. ये ऐप्लिकेशन, डिवाइस के लिए भरोसे का स्कोर कैलकुलेट करने के लिए, इस सेट को ऐक्सेस कर सकते हैं.

Device और इसके नेस्ट किए गए मॉडल क्लास के हर सिग्नल फ़ील्ड में, Metadata दिखाने वाला get*Metadata() तरीका शामिल होता है. यह सिग्नल को वापस पाने के दौरान मिलने वाली किसी भी Metadata.DataIssue की जानकारी देता है. जैसे, मेनिफ़ेस्ट की अनुमतियां मौजूद न होना.

अपने ऐप्लिकेशन में Android Management API SDK को इंटिग्रेट करने के तरीके के बारे में जानने के लिए, Device Trust from Android Enterprise - इंटिग्रेशन गाइड देखें.

सिग्नल
OS वर्शन
Device#getSoftwareInfo(), SoftwareInfo ऑब्जेक्ट दिखाता है. इसमें ओएस वर्शन की जानकारी होती है. आम तौर पर, ओएस के पुराने वर्शन में ज़्यादा जोखिम होते हैं:
Android डिवाइस से जुड़ी नीति का वर्शन
SoftwareInfo#getAndroidDevicePolicyVersionCode() और SoftwareInfo#getAndroidDevicePolicyVersionName(), Android डिवाइस पर मौजूद Android Device Policy ऐप्लिकेशन का वर्शन कोड और उपयोगकर्ता को दिखने वाले वर्शन का नाम दिखाते हैं.
क्या डिवाइस में ओटीए अपडेट बाकी है
SoftwareInfo#getSystemUpdateInfo(), SoftwareInfo.SystemUpdateInfo दिखाता है. इससे पता चलता है कि डिवाइस के लिए ओएस का कोई अपडेट बाकी है या नहीं. इससे यह भी पता चलता है कि डिवाइस को हैक किया जा सकता है या नहीं:
डिवाइस का सिक्योरिटी पैच लेवल
SoftwareInfo#getDeviceSecurityPatchInfos(), SoftwareInfo.SecurityPatchInfo ऑब्जेक्ट की सूची दिखाता है. साथ ही, getComponent() और getSecurityPatchLevel(), SecurityPatchLevel ऑब्जेक्ट की सूची दिखाते हैं. यह सूची, डिवाइस के मौजूदा सुरक्षा पैच लेवल के लिए, अपडेट किए जा सकने वाले SecurityPatchComponent टाइप के लिए होती है:
पब्लिश किए गए सुरक्षा पैच का लेवल
SoftwareInfo#getPublishedSecurityPatchInfos(), अपडेट किए जा सकने वाले SecurityPatchComponent टाइप के लिए, पब्लिश किए गए मौजूदा सुरक्षा पैच का लेवल के हिसाब से, SoftwareInfo.SecurityPatchInfo ऑब्जेक्ट की सूची दिखाता है. इसमें getComponent() और getSecurityPatchLevel(), SecurityPatchLevel ऑब्जेक्ट की सूची दिखाते हैं:
ऐप्लिकेशन के बारे में ज़रूरी जानकारी
Device#getApplicationReports(), एएमएपीआई से मैनेज किए जा रहे डिवाइस पर, एक्सटेंशन ऐप्लिकेशन और कॉल करने वाले ऐप्लिकेशन को इंस्टॉल किए गए सभी ऐप्लिकेशन की जानकारी दिखाता है. इसके लिए, कॉल करने वाले ऐप्लिकेशन की भूमिका COMPANION_APP होनी चाहिए. इसके बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन की भूमिकाएं मैनेज करना और नीति कॉन्फ़िगरेशन देखें. वर्क प्रोफ़ाइल में कॉल करने पर, रिपोर्ट में सिर्फ़ वर्क प्रोफ़ाइल में इंस्टॉल किए गए ऐप्लिकेशन की जानकारी दिखती है. अन्य सभी कॉलर के लिए (जैसे, अनुमति वाली सूची में शामिल ऐप्लिकेशन), Device#getApplicationReports() सिर्फ़ इन ज़रूरी ऐप्लिकेशन की जानकारी दिखाता है:
  • com.android.chrome
  • com.google.android.gms
  • com.google.android.apps.work.clouddpc
  • com.android.vending
  • डिवाइस का मौजूदा वेबव्यू पैकेज (जैसे, 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 वैल्यू दिखाता है. इससे पता चलता है कि डिवाइस का स्टोरेज एन्क्रिप्ट (सुरक्षित) किया गया है या नहीं.
नेटवर्क की स्थिति को ऐक्सेस करना (नेटवर्क और वाई-फ़ाई की स्थिति)
Device#getNetworkInfo(), NetworkInfo ऑब्जेक्ट दिखाता है और NetworkInfo#getNetworkParams(), NetworkInfo.NetworkParams ऑब्जेक्ट की सूची दिखाता है. इसमें डिवाइस पर मौजूद सभी चालू नेटवर्क की जानकारी होती है:
Google Play Protect VerifyApps
क्या डीएनएस-ओवर-टीएलएस चालू है
NetworkParams#getPrivateDnsState(), PrivateDnsState वैल्यू दिखाता है. इससे पता चलता है कि नेटवर्क पर निजी डीएनएस का इस्तेमाल किया गया है या नहीं.
वेबव्यू पैकेज
SoftwareInfo#getWebviewPackage(), मौजूदा वेबव्यू पैकेज का नाम दिखाता है.
मैनेजमेंट की सेवा देने वाली कंपनी का नाम, जिसे कोई व्यक्ति आसानी से पढ़ सके
AMAPI से मैनेज किए जाने वाले डिवाइसों पर, Device#getManagementProviderInfo(), ManagementProviderInfo ऑब्जेक्ट दिखाता है. इसका getBusinessName() तरीका, मैनेजमेंट की सेवा देने वाली कंपनी का कारोबार का नाम दिखाता है. यह नाम, किसी व्यक्ति के लिए आसानी से पढ़ा जा सकने वाला डेटा होता है. यह फ़ील्ड, मैनेज न किए जा रहे डिवाइसों या कस्टम डीपीसी से मैनेज किए जा रहे डिवाइसों पर सेट नहीं होता.

मैनेजमेंट की स्थिति

मैनेजमेंट सिग्नल के लिए मिलने वाली वैल्यू, उस प्रोफ़ाइल पर निर्भर करती हैं जिसमें आपका ऐप्लिकेशन चल रहा है. अगर आपके ऐप्लिकेशन को निजी प्रोफ़ाइल, मैनेज नहीं किए जा रहे डिवाइस या कस्टम डीपीसी से मैनेज किए जा रहे डिवाइस से सिग्नल ऐक्सेस करने हैं, तो उसे अनुमति वाली सूची में शामिल होना चाहिए. 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: