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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

اطّلِع على مزيد من المعلومات عن كيفية طلب أذونات خاصة.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

جعل عمليات وصول النظام صريحة

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

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

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