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

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

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

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

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

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

خطوات استخدام الأذونات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

وضع في اعتبارك العناصر الاعتمادية لتطبيقك

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

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

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

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

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

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

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