Android अनुमतियाँ

Android अनुमतियाँ नियंत्रण प्रदान करती हैं जो उपयोगकर्ता की जागरूकता बढ़ाती हैं और संवेदनशील डेटा के लिए ऐप की पहुंच सीमित करती हैं। एंड्रॉइड 8.0 और निचले पर अनुमतियों को कॉन्फ़िगर करना में श्वेतसूची शामिल है, जिसके बिना विशेषाधिकार वाले एप्लिकेशन अक्षम हैं, भले ही वे priv-app पथ में हों। एंड्रॉइड 9 और उच्चतर पर, एक उपकरण जो उन एप्लिकेशन का उपयोग करने की कोशिश करता है जो ठीक से सफ़ेद नहीं होते हैं बूट नहीं करेंगे।

संभावित रूप से हानिकारक ऐप्स (PHAs) के विरुद्ध वृद्धि हुई सुरक्षा में सुधार होता है

  • संभावित हानिकारक अनुप्रयोग व्यवहार में पारदर्शिता।
  • ऐप व्यवहार पर उपयोगकर्ता नियंत्रण।
  • अनुमतियों द्वारा संरक्षित निजी डेटा का उपयोग करते समय ऐप डेवलपर्स का विवेक।

पैकेज स्थापित और अनुमति

एंड्रॉइड 9 और लोअर में, पैकेज इंस्टॉल और अनुमति नियंत्रण फ़ंक्शंस PackageInstaller पैकेज ( //packages/apps/PackageInstaller ) में निहित थे। एंड्रॉइड 10 और उच्चतर में, अनुमति नियंत्रण कार्यक्षमता एक अलग पैकेज, PermissionController ( //packages/apps/PermissionController ) में रहती है। चित्र 1 दिखाता है कि एंड्रॉइड 10 में दो पैकेज कहाँ रहते हैं।

सिस्टम इंस्टॉल के लिए पैकेज इंस्टाल और अनुमति नियंत्रण क्रियाओं का पृथक्करण और जैसा कि उपयोगकर्ता द्वारा स्थापित एप्स द्वारा किया जाता है
चित्र 1. एंड्रॉइड 10 में पैकेज इंस्टॉल और अनुमति-नियंत्रण कार्यक्षमता

श्वेतसूची और पहुंच

एंड्रॉइड 6.0 और उच्चतर में, ऐप्स रनटाइम में खतरनाक अनुमतियों तक पहुंच का अनुरोध करते हैं। एंड्रॉइड 10 गतिविधि मान्यता (एआर) रनटाइम अनुमतियों को जोड़ता है, जो उपयोगकर्ता को खतरनाक अनुमतियों को संशोधित करने या अनुमति देने के लिए संकेत देता है।

एंड्रॉइड 8.0 को आपको सिस्टम कॉन्फ़िगरेशन एक्सएमएल फ़ाइलों में /etc/permissions निर्देशिका में स्पष्ट रूप से श्वेतसूची विशेषाधिकार प्राप्त एप्लिकेशन की आवश्यकता होती है। एंड्रॉइड 9 और उच्चतर में, विशेषाधिकार प्राप्त अनुमतियों को सफेद किया जाना चाहिए या डिवाइस बूट नहीं कर सकता है।

आंतरिक एपीआई दृश्यता को सीमित करने और एप्लिकेशन को गलती से प्लेटफॉर्म पुस्तकालयों तक पहुंचने से रोकने के लिए, एंड्रॉइड 7.0 ने नेटिव लाइब्रेरीज़ के लिए नामस्थानों को पेश किया। यह सिस्टम लाइब्रेरी को एप्लिकेशन लाइब्रेरी से अलग करता है, और डिवाइस निर्माता अपने स्वयं के मूल पुस्तकालयों को जोड़ सकते हैं।

एंड्रॉइड 10 ऐप में शुरू होने पर डिवाइस की स्क्रीन सामग्री तक पहुंचने के लिए हस्ताक्षर की अनुमति और उपयोगकर्ता की सहमति दोनों होनी चाहिए। प्रिविलेज्ड ऐप्स जो कि स्क्रीनशॉट लेने जैसी साइलेंट कैप्चर कार्यक्षमता पर निर्भर करते हैं, को इसके बजाय MediaProjection क्लास का उपयोग करना चाहिए।

पारदर्शिता और गोपनीयता

एंड्रॉइड 6.0 और उच्चतर में, एक उपकरण कारखाना मैक पते को वाई-फाई सेवा प्रदाताओं और पैकेट विश्लेषक द्वारा पहुंच से संरक्षित किया जाता है। जब तक वे विशेषाधिकार प्राप्त अनुमतियों के लिए श्वेत सूची में नहीं आते हैं, तब तक एंड्रॉइड 10 के अतिरिक्त प्रतिबंध अपरिवर्तनीय डिवाइस पहचानकर्ताओं (आईडी) तक पहुंचने से रोकते हैं। ( कनेक्टिविटी सेक्शन डिवाइस पहचानकर्ताओं के बारे में एक संबंधित चर्चा प्रदान करता है, क्योंकि यह वाहक को प्रभावित करता है।)

एंड्रॉइड 9 और उससे कम पर, उपयोगकर्ताओं को एप्लिकेशन के लिए स्थान पहुंच प्रदान करते समय लगातार विकल्प बनाते हैं। एंड्रॉइड 10 में शुरू, एक ट्रिस्टेट स्थान अनुमतियों की सुविधा उपयोगकर्ताओं को डिवाइस के स्थान पर एप्लिकेशन एक्सेस की अनुमति देने के लिए तीन विकल्प देती है। इन अनुमति आवश्यकताओं को लक्ष्य SDK की परवाह किए बिना Android 10 में ऐप्स पर लागू किया जाता है।

एंड्रॉइड 10 में शुरू होने वाली अन्य पारदर्शिता और गोपनीयता सुविधाओं के लिए अनुमतियों को कॉन्फ़िगर करें

सुव्यवस्थित विन्यास

अनुमतियाँ कॉन्फ़िगरेशन Android 6.0 और उच्चतर के लिए सुव्यवस्थित किए गए हैं।

  • init द्वारा शुरू की गई सेवाओं के लिए मुख्य क्षमताएं एकल .rc फ़ाइल में सेवा कॉन्फ़िगरेशन के सभी पहलुओं को रखती हैं। init द्वारा लॉन्च नहीं की गई सेवाओं के लिए क्षमताओं को सेट करते समय, फ़ाइल सिस्टम क्षमताओं को fs_config.c बजाय कॉन्फ़िगर करें।
  • Android 7.x और निचला फ़ाइल सिस्टम क्षमताओं और / या कस्टम डिवाइस-निर्माता android_filesystem_config.h को निर्दिष्ट करने के लिए डिवाइस-विशिष्ट android_filesystem_config.h फ़ाइल का उपयोग करके Android ID (AID) तंत्र का विस्तार करता है। एंड्रॉइड 8.0 और उच्चतर फाइलसिस्टम क्षमताओं का विस्तार करने के लिए एक नई विधि का समर्थन करता है
  • एंड्रॉइड 8.0 में, यूएसबी कमांड को डिवाइस-विशिष्ट init स्क्रिप्ट (एचएएल परतों के लिए प्रतिस्थापन) और एक देशी यूएसबी डेमन में स्थानांतरित किया गया। USB HAL इंटरफ़ेस Android 8.0 और उच्चतर पर लॉन्च होने वाले प्रत्येक उपकरण पर लागू किया जाना चाहिए।