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

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

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

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

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

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

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

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

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

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

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

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

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

الأذونات التي يتم طلبها أثناء التثبيت

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يجب طلب الحدّ الأدنى من عدد الأذونات.

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

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

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

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

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

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

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

جعل أذونات الوصول إلى النظام صريحة

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

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

لا تُستخدَم الأذونات فقط لطلب وظائف النظام. يمكن أن تحدّ مكونات النظام في تطبيقك من التطبيقات الأخرى التي يمكنها التفاعل مع تطبيقك، كما هو описан في صفحة كيفية حظر التفاعلات مع التطبيقات الأخرى.