الأذونات على Android

تساعد أذونات التطبيقات في الحفاظ على خصوصية المستخدم من خلال حماية الوصول إلى ما يلي:

  • البيانات المحظورة، مثل حالة النظام ومعلومات الاتصال بالمستخدمين
  • الإجراءات المحظورة، مثل الربط بجهاز مقترِن وتسجيل الصوت

تقدّم هذه الصفحة نظرة عامة على طريقة عمل أذونات Android، بما في ذلك سير عمل رفيع المستوى لاستخدام الأذونات، وأوصاف لأنواع مختلفة من الأذونات، وبعض أفضل الممارسات لاستخدام الأذونات في تطبيقك. وتوضّح صفحات أخرى كيفية تقليل طلبات تطبيقك للحصول على الأذونات والإفصاح عن الأذونات وطلب أذونات وقت التشغيل وتقييد طريقة تفاعل التطبيقات الأخرى مع مكوّنات تطبيقك.

للاطّلاع على قائمة كاملة بأذونات تطبيقات Android، انتقِل إلى صفحة مرجع واجهة برمجة التطبيقات الخاصة بالأذونات.

للاطّلاع على بعض نماذج التطبيقات التي توضّح عملية الأذونات، انتقِل إلى مستودع نماذج أذونات Android على GitHub.

سير العمل لاستخدام الأذونات

إذا كان تطبيقك يوفّر وظائف قد تتطلّب الوصول إلى بيانات حسّاسة أو إجراءات مقيّدة، عليك تحديد ما إذا كان بإمكانك الحصول على المعلومات أو تنفيذ الإجراءات بدون الحاجة إلى الإفصاح عن الأذونات. يمكنك تنفيذ العديد من حالات الاستخدام في تطبيقك، مثل التقاط الصور وإيقاف تشغيل الوسائط مؤقتًا وعرض الإعلانات ذات الصلة، بدون الحاجة إلى الإفصاح عن أي أذونات.

إذا قرّرت أنّ تطبيقك يجب أن يصل إلى بيانات محظورة أو ينفّذ إجراءات محظورة لتلبية حالة استخدام معيّنة، عليك تضمين الأذونات المناسبة في نموذج البيان. يتم منح بعض الأذونات، المعروفة باسم أذونات وقت التثبيت، تلقائيًا عند تثبيت تطبيقك. تتطلّب الأذونات الأخرى، المعروفة باسم أذونات التشغيل، أن يتّخذ تطبيقك خطوة إضافية ويطلب الحصول على الإذن أثناء التشغيل.

يوضّح الشكل 1 سير العمل الخاص باستخدام أذونات التطبيق:

الشكل 1. عملية استخدام الأذونات على Android

أنواع الأذونات

يصنّف نظام التشغيل Android الأذونات إلى أنواع مختلفة، بما في ذلك الأذونات التي يتم منحها أثناء التثبيت والأذونات التي يتم منحها أثناء التشغيل والأذونات الخاصة. يشير نوع كل إذن إلى نطاق البيانات المحظورة التي يمكن لتطبيقك الوصول إليها، ونطاق الإجراءات المحظورة التي يمكن لتطبيقك تنفيذها، وذلك عندما يمنح النظام تطبيقك هذا الإذن. يستند مستوى الحماية لكل إذن إلى نوعه ويظهر في صفحة مرجع واجهة برمجة التطبيقات للأذونات.

أذونات وقت التثبيت

تعرض الصورة على اليمين قائمة بأذونات التطبيق وقت التثبيت. تعرض الصورة على اليسار مربّع حوار منبثقًا يحتوي على خيارَين: "السماح" و"الرفض".
الشكل 2. قائمة بأذونات وقت التثبيت الخاصة بالتطبيق، والتي تظهر في متجر التطبيقات

تمنح أذونات وقت التثبيت تطبيقك إذنًا محدودًا بالوصول إلى البيانات المحظورة أو تسمح له بتنفيذ إجراءات محظورة تؤثّر بشكل محدود في النظام أو التطبيقات الأخرى. عندما تفصح عن الأذونات التي تُمنح أثناء التثبيت في تطبيقك، يعرض متجر التطبيقات إشعارًا بشأن الأذونات التي تُمنح أثناء التثبيت للمستخدم عندما يطّلع على صفحة تفاصيل التطبيق، كما هو موضّح في الشكل 2. يمنح النظام تطبيقك الأذونات تلقائيًا عندما يثبّت المستخدم تطبيقك.

يتضمّن نظام التشغيل Android العديد من الأنواع الفرعية لأذونات وقت التثبيت، بما في ذلك الأذونات العادية وأذونات التوقيع.

الأذونات العادية

تسمح هذه الأذونات بالوصول إلى البيانات والإجراءات التي تتجاوز نطاق الحماية الخاص بتطبيقك، ولكنّها لا تشكّل خطرًا كبيرًا على خصوصية المستخدم وتشغيل التطبيقات الأخرى.

يحدّد النظام مستوى الحماية normal للأذونات العادية.

أذونات التوقيع

يمنح النظام إذن التوقيع لأحد التطبيقات فقط عندما يكون التطبيق موقَّعًا بالشهادة نفسها التي تم توقيع التطبيق أو نظام التشغيل الذي يحدّد الإذن بها.

تستخدم التطبيقات التي تنفّذ خدمات ذات امتيازات، مثل خدمات الملء التلقائي أو VPN، أذونات التوقيع أيضًا. تتطلّب هذه التطبيقات أذونات توقيع ربط الخدمة لكي يتمكّن النظام فقط من الربط بالخدمات.

يحدّد النظام مستوى الحماية signature لأذونات التوقيع.

أذونات وقت التشغيل

مربّع حوار منبثق يحتوي على خيارَين: السماح والحظر.
الشكل 3. رسالة طلب إذن النظام التي تظهر عندما يطلب تطبيقك إذنًا بالتشغيل.

تمنح أذونات وقت التشغيل، المعروفة أيضًا باسم الأذونات الخطيرة، تطبيقك إذنًا إضافيًا بالوصول إلى البيانات المحظورة أو تسمح له بتنفيذ إجراءات محظورة تؤثر بشكل كبير في النظام والتطبيقات الأخرى. لذلك، عليك طلب أذونات وقت التشغيل في تطبيقك قبل أن تتمكّن من الوصول إلى البيانات المحظورة أو تنفيذ الإجراءات المحظورة. لا تفترض أنّ هذه الأذونات قد تم منحها سابقًا، بل تحقّق منها واطلبها إذا لزم الأمر قبل كل عملية وصول.

عندما يطلب تطبيقك إذنًا بالوصول إلى البيانات في وقت التشغيل، يعرض النظام طلبًا للحصول على هذا الإذن، كما هو موضّح في الشكل 3.

تتيح العديد من أذونات وقت التشغيل الوصول إلى بيانات المستخدمين الخاصة، وهي نوع خاص من البيانات المحظورة التي تتضمّن معلومات حساسة محتملة. تشمل أمثلة بيانات المستخدمين الخاصة معلومات الموقع الجغرافي ومعلومات الاتصال.

يوفّر الميكروفون والكاميرا إمكانية الوصول إلى معلومات حساسة بشكل خاص. لذلك، يساعدك النظام في توضيح سبب وصول تطبيقك إلى هذه المعلومات.

يحدّد النظام مستوى الحماية dangerous لأذونات وقت التشغيل.

الأذونات الخاصة

تتطابق الأذونات الخاصة مع عمليات تطبيقات معيّنة. يمكن للمنصة ومصنّعي المعدات الأصلية فقط تحديد الأذونات الخاصة. بالإضافة إلى ذلك، تحدّد المنصة والشركات المصنّعة للمعدات الأصلية عادةً أذونات خاصة عندما تريد حماية الوصول إلى إجراءات قوية بشكل خاص، مثل الرسم فوق تطبيقات أخرى.

تحتوي صفحة الوصول الخاص إلى التطبيقات في إعدادات النظام على مجموعة من العمليات التي يمكن للمستخدم تفعيلها أو إيقافها. يتم تنفيذ العديد من هذه العمليات كأذونات خاصة.

مزيد من المعلومات حول كيفية طلب أذونات خاصة

يحدّد النظام مستوى الحماية appop للأذونات الخاصة.

مجموعات أذونات

يمكن أن تنتمي الأذونات إلى مجموعات أذونات. تتألف مجموعات الأذونات من مجموعة من الأذونات ذات الصلة منطقيًا. على سبيل المثال، قد تنتمي أذونات إرسال رسائل SMS وتلقّيها إلى المجموعة نفسها، لأنّ كلاهما مرتبط بتفاعل التطبيق مع رسائل SMS.

تساعد مجموعات الأذونات النظام في تقليل عدد مربّعات حوار النظام التي تظهر للمستخدم عندما يطلب تطبيق أذونات ذات صلة وثيقة. عندما تظهر للمستخدم رسالة تطلب منه منح أذونات لأحد التطبيقات، يتم عرض الأذونات التي تنتمي إلى المجموعة نفسها في الواجهة نفسها. ومع ذلك، يمكن أن تغيّر الأذونات المجموعات بدون إشعار، لذا لا تفترض أنّ إذنًا معيّنًا مجمّع مع أي إذن آخر.

أفضل الممارسات

تستند أذونات التطبيقات إلى ميزات أمان النظام وتساعد Android في تحقيق الأهداف التالية المتعلّقة بخصوصية المستخدم:

  • التحكّم: يمكن للمستخدم التحكّم في البيانات التي يشاركها مع التطبيقات.
  • الشفافية: يفهم المستخدم البيانات التي يستخدمها التطبيق وسبب وصول التطبيق إلى هذه البيانات.
  • تضييق نطاق جمع البيانات: لا يصل التطبيق إلى البيانات ولا يستخدمها إلا إذا كانت مطلوبة لإنجاز مهمة أو إجراء محدّد يطلبه المستخدم.

يعرض هذا القسم مجموعة من أفضل الممارسات الأساسية لاستخدام الأذونات بفعالية في تطبيقك. لمزيد من التفاصيل حول كيفية التعامل مع الأذونات على Android، يُرجى الانتقال إلى صفحة أفضل الممارسات المتعلّقة بأذونات التطبيقات.

طلب الحدّ الأدنى من الأذونات

عندما يطلب المستخدم إجراءً معيّنًا في تطبيقك، يجب أن يطلب تطبيقك الأذونات اللازمة لإكمال هذا الإجراء فقط. استنادًا إلى طريقة استخدامك للأذونات، قد تتوفّر طريقة بديلة لتنفيذ حالة الاستخدام في تطبيقك بدون الاعتماد على الوصول إلى المعلومات الحساسة.

ربط أذونات التشغيل بإجراءات محدّدة

يجب طلب الأذونات في وقت متأخر قدر الإمكان من مسار حالات استخدام تطبيقك. على سبيل المثال، إذا كان تطبيقك يتيح للمستخدمين إرسال رسائل صوتية إلى مستخدمين آخرين، عليك الانتظار إلى أن ينتقل المستخدم إلى شاشة المراسلة وينقر على الزر إرسال رسالة صوتية. بعد أن ينقر المستخدم على الزر، يمكن لتطبيقك عندئذٍ طلب الوصول إلى الميكروفون.

مراعاة العناصر التي يعتمد عليها تطبيقك

عند تضمين مكتبة، يتم أيضًا تطبيق متطلبات الأذونات الخاصة بها. يجب أن تكون على دراية بالأذونات التي يتطلبها كل عنصر من العناصر التابعة والغرض من استخدام هذه الأذونات.

التحلّي بالشفافية

عند تقديم طلب للحصول على أذونات، يجب توضيح البيانات التي تريد الوصول إليها وسبب ذلك والوظائف التي ستتأثر في حال رفض الأذونات، حتى يتمكّن المستخدمون من اتخاذ قرارات مدروسة.

توضيح أذونات الوصول إلى النظام

عند الوصول إلى بيانات حساسة أو أجهزة، مثل الكاميرا أو الميكروفون، يجب تقديم مؤشر مستمر في تطبيقك إذا لم يكن النظام يوفّر هذه المؤشرات. يساعد هذا التذكير المستخدمين على معرفة الوقت الذي يصل فيه تطبيقك إلى البيانات المحظورة أو ينفّذ إجراءات محظورة.

الأذونات في مكونات النظام

لا تُستخدم الأذونات لطلب وظائف النظام فقط. يمكن لمكوّنات نظام تطبيقك أن تحدّد التطبيقات الأخرى التي يمكنها التفاعل مع تطبيقك، كما هو موضّح في الصفحة حول كيفية حظر التفاعلات مع التطبيقات الأخرى.