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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يضبط النظام مستوى الحماية signature لأذونات التوقيع.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مراعاة تبعيات تطبيقك

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

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

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

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

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

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

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