تساعد أذونات التطبيقات في الحفاظ على خصوصية المستخدم من خلال حماية الوصول إلى ما يلي:
- البيانات المحظورة، مثل حالة النظام ومعلومات الاتصال بالمستخدمين
- الإجراءات المحظورة، مثل الاتصال بجهاز مقترن وتسجيل الصوت
تقدّم هذه الصفحة نظرة عامة على آلية عمل أذونات Android، بما في ذلك عملية سير العمل على مستوى عالٍ لاستخدام الأذونات وأوصاف الأنواع المختلفة من الأذونات وبعض أفضل الممارسات لاستخدام الأذونات في تطبيقك. توضّح صفحات أخرى كيفية تقليل طلبات الأذونات التي يقدّمها تطبيقك والإفصاح عن الأذونات وطلب تصاريح IDE وتقييد كيفية تعامل التطبيقات الأخرى مع مكونات تطبيقك.
للاطّلاع على قائمة كاملة بأذونات تطبيقات Android، انتقِل إلى صفحة مرجع واجهة برمجة التطبيقات للأذونات.
للاطّلاع على بعض نماذج التطبيقات التي توضّح سير عمل الأذونات، يُرجى الانتقال إلى مستودع نماذج أذونات Android على GitHub.
سير العمل لاستخدام الأذونات
إذا كان تطبيقك يوفّر وظائف قد تتطلّب الوصول إلى بيانات أو إجراءات محظورة، حدِّد ما إذا كان بإمكانك الحصول على المعلومات أو تنفيذ الإجراءات بدون الحاجة إلى الإفصاح عن الأذونات. يمكنك تنفيذ العديد من حالات الاستخدام في تطبيقك، مثل التقاط الصور وإيقاف تشغيل الوسائط مؤقتًا وعرض الإعلانات ذات الصلة، بدون الحاجة إلى الإفصاح عن أي أذونات.
إذا قرّرت أنّ تطبيقك يجب أن يصل إلى بيانات محظورة أو ينفّذ إجراءات محظورة لتحقيق حالة استخدام معيّنة، يجب الإفصاح عن الأذونات المناسبة. تتم منح بعض الأذونات تلقائيًا عند تثبيت تطبيقك، وتُعرف هذه الأذونات باسم أذونات وقت التثبيت. أما الأذونات الأخرى، والمعروفة باسم أذونات التشغيل، فتتطلّب من تطبيقك اتّخاذ خطوة إضافية و طلب الإذن أثناء التشغيل.
يوضّح الشكل 1 سير العمل لاستخدام أذونات التطبيقات:
أنواع الأذونات
يصنِّف نظام التشغيل Android الأذونات إلى أنواع مختلفة، بما في ذلك أذونات وقت ال التثبيت وأذونات وقت التشغيل والأذونات الخاصة. يشير نوع كل إذن إلى نطاق البيانات المحظورة التي يمكن لتطبيقك الوصول إليها، ونطاق الإجراءات المحظورة التي يمكن لتطبيقك تنفيذها، وذلك عندما يمنح النظام تطبيقك هذا الإذن. يستند مستوى الحماية لكل إذن إلى نوعه، ويتم عرضه في صفحة مرجع واجهة برمجة التطبيقات للأذونات.
الأذونات التي يتم طلبها أثناء التثبيت
تمنح أذونات وقت التثبيت تطبيقك إذن وصول محدودًا إلى البيانات المحظورة أو تسمح له بتنفيذ إجراءات محظورة تؤثر بشكلٍ بسيط في النظام أو التطبيقات الأخرى. عند الإفصاح عن الأذونات التي يطلبها تطبيقك في وقت التثبيت، يعرض متجر التطبيقات إشعارًا بالحصول على الأذونات في وقت التثبيت للمستخدم عند اطّلاعه على صفحة تفاصيل التطبيق، كما هو موضّح في الشكل 2. يمنح التلقائيًا النظام أذونات تطبيقك عندما ثبِّت المستخدم تطبيقك.
يتضمّن نظام التشغيل Android عدة أنواع فرعية من الأذونات التي يتم طلبها أثناء التثبيت، بما في ذلك الأذونات العادية وأذونات التوقيع.
الأذونات العادية
تسمح هذه الأذونات بالوصول إلى البيانات والإجراءات التي تتجاوز نطاق "مساحة التطبيق المحصورة"، ولكنها لا تشكل خطرًا كبيرًا على "خصوصية" المستخدم وتشغيل التطبيقات الأخرى.
يحدِّد النظام مستوى الحماية normal
للأذونات العادية.
أذونات التوقيع
لا يمنح النظام إذن التوقيع لأحد التطبيقات إلا عندما يكون التطبيق موقَّعًا بالشهادة نفسها التي يستخدمها التطبيق أو نظام التشغيل الذي يحدِّد الإذن.
وتستخدم أيضًا التطبيقات التي توفّر خدمات مميّزة، مثل خدمات الملء التلقائي أو VPN، أذونات التوقيع. وتتطلّب هذه التطبيقات أذونات توقيع ربط الخدمات لكي يتمكّن النظام فقط من الربط بالخدمات.
يمنح النظام مستوى الحماية signature
لأذونات التوقيع.
أذونات وقت التشغيل
تمنح أذونات التشغيل، المعروفة أيضًا باسم الأذونات الخطيرة، تطبيقك إمكانية وصول إضافية إلى البيانات المحظورة أو تسمح لتطبيقك بتنفيذ إجراءات محظورة تؤثر بشكل أكبر في النظام والتطبيقات الأخرى. لذلك، عليك طلب أذونات وقت التشغيل في تطبيقك قبل أن تتمكّن من الوصول إلى البيانات المحظورة أو تنفيذ الإجراءات المحظورة. لا تفترض أنّه سبق أن تم منح هذه الأذونات، بل تحقّق منها، واطلبها قبل كل عملية وصول إذا لزم الأمر.
عندما يطلب تطبيقك إذن وقت التشغيل، يعرض النظام طلب إذن وقت التشغيل، كما هو موضّح في الشكل 3.
تحصل العديد من أذونات وقت التشغيل على بيانات المستخدمين الخاصة، وهي نوع خاص من البيانات المحظورة التي تتضمّن معلومات قد تكون حسّاسة. تشمل أمثلة بيانات المستخدمين الخاصة الموقع الجغرافي ومعلومات الاتصال.
يمنح الميكروفون والكاميرا إمكانية الوصول إلى معلومات حسّاسة بشكل خاص. لذلك، يساعدك النظام في توضيح سبب وصول تطبيقك إلى هذه المعلومات.
يمنح النظام مستوى الحماية dangerous
لأذونات وقت التشغيل.
الأذونات الخاصة
تتوافق الأذونات الخاصة مع عمليات معيّنة في التطبيق. يمكن فقط للمنصة وشركات المصنّعين الأصليّين للأجهزة تحديد الأذونات الخاصة. بالإضافة إلى ذلك، تحدِّد المنصة والمصنّعون الأصليون للأجهزة عادةً أذونات خاصة عندما يريدون حماية الوصول إلى إجراءات قوية بشكل خاص، مثل الرسم على تطبيقات أخرى.
تحتوي صفحة إمكانية الوصول الخاصة إلى التطبيقات في إعدادات النظام على مجموعة من العمليات التي يمكن للمستخدم تفعيلها أو إيقافها. يتم تنفيذ العديد من هذه العمليات على أنّها أذونات خاصة.
مزيد من المعلومات حول كيفية طلب أذونات خاصة
يمنح النظام مستوى الحماية appop
للأذونات الخاصة.
مجموعات أذونات
يمكن أن تنتمي الأذونات إلى مجموعات أذونات. تتألف مجموعات الأذونات من مجموعة من الأذونات ذات الصلة منطقيًا. على سبيل المثال، قد تنتمي الأذونات لإرسال رسائل SMS وتلقّيها إلى المجموعة نفسها، لأنّ كلاهما مرتبط بالتفاعل مع رسائل SMS في التطبيق.
تساعد مجموعات الأذونات النظام في تقليل عدد مربّعات حوار النظام التي يتم عرضها على المستخدم عندما يطلب أحد التطبيقات أذونات ذات صلة وثيقة. عندما تظهر رسالة للمستخدم تطلب منه منح أذونات لتطبيق معيّن، يتم عرض الأذونات التي تنتمي إلى المجموعة نفسها في الواجهة نفسها. ومع ذلك، يمكن أن تتغيّر مجموعات الأذونات بدون إشعار، لذا لا تفترض أنّه تم تجميع إذن معيّن مع أي إذن آخر.
أفضل الممارسات
تستند أذونات التطبيقات إلى ميزات أمان النظام وتساعد Android في تحقيق الأهداف التالية المتعلّقة بخصوصية المستخدم:
- التحكّم: يمكن للمستخدم التحكّم في البيانات التي يشاركها مع التطبيقات.
- الشفافية: يفهم المستخدم البيانات التي يستخدمها التطبيق والغرض من وصوله إليها.
- تضييق نطاق جمع البيانات: لا يصل التطبيق إلى البيانات إلا إذا كانت مطلوبة لمهمة أو إجراء معيّنَين ينفّذهما المستخدم.
يقدّم هذا القسم مجموعة من أفضل الممارسات الأساسية لاستخدام الأذونات بفعالية في تطبيقك. لمزيد من التفاصيل حول كيفية التعامل مع الأذونات على Android، يُرجى الانتقال إلى صفحة أفضل الممارسات المتعلّقة بأذونات التطبيقات.
طلب الحد الأدنى من الأذونات
عندما يطلب المستخدم إجراءً معيّنًا في تطبيقك، يجب أن يطلب تطبيقك فقط الأذونات التي يحتاجها لإكمال هذا الإجراء. استنادًا إلى كيفية استخدامك للأذونات، قد تتوفّر طريقة بديلة لتحقيق سيناريو استخدام تطبيقك بدون الاعتماد على الوصول إلى المعلومات الحسّاسة.
ربط أذونات التشغيل بإجراءات محدّدة
اطلب الأذونات في وقت متأخر قدر الإمكان من مسار حالات استخدام تطبيقك. على سبيل المثال، إذا كان تطبيقك يتيح للمستخدمين إرسال رسائل صوتية إلى الآخرين، انتظِر إلى أن ينتقل المستخدم إلى شاشة المراسلة ويضغط على الزر إرسال رسالة صوتية. بعد أن يضغط المستخدم على الزر، يمكن لتطبيقك عندئذٍ طلب الوصول إلى الميكروفون.
مراعاة التبعيات في تطبيقك
عند تضمين مكتبة، تحصل أيضًا على متطلبات الأذونات الخاصة بها. يجب معرفة الأذونات التي تتطلّبها كل تبعية والغرض من استخدامها.
التحلّي بالشفافية
عند تقديم طلب للحصول على أذونات، يجب توضيح ما الذي تريد الوصول إليه، وسبب طلبك، والوظائف التي ستتأثر في حال رفض الأذونات، كي يتمكّن المستخدمون من اتخاذ قرارات مدروسة.
جعل أذونات الوصول إلى النظام صريحة
عند الوصول إلى بيانات أو أجهزة حسّاسة، مثل الكاميرا أو الميكروفون، قدِّم مؤشرًا مستمرًا في تطبيقك إذا لم يكن النظام يقدّم بدوره هذه المؤشرات. يساعد هذا التذكير المستخدمين في معرفة الحالات التي يصل فيها تطبيقك إلى data المحظورة أو ينفّذ إجراءات محظورة.
الأذونات في مكونات النظام
لا تُستخدَم الأذونات فقط لطلب وظائف النظام. يمكن أن تحدّ مكونات النظام في تطبيقك من التطبيقات الأخرى التي يمكنها التفاعل مع تطبيقك، كما هو описан في صفحة كيفية حظر التفاعلات مع التطبيقات الأخرى.