تتضمّن بعض واجهات برمجة التطبيقات من Google (التي تقبل نطاقات حسّاسة أو محظورة ) متطلبات يجب استيفاؤها في التطبيقات التي تطلب الإذن بالوصول إلى بيانات المستهلكين. تتطلّب المتطلبات الإضافية للنطاقات المحظورة أن يثبت التطبيق أنّه من نوع التطبيقات المسموح بها وأن يخضع لمراجعات إضافية، بما في ذلك تقييم أمني محتمل.
يعتمد مدى إمكانية تطبيق النطاقات المحظورة ضمن واجهة برمجة التطبيقات في الغالب على درجة الوصول المطلوبة لتوفير ميزة ذات صلة في تطبيقك، مثل القراءة فقط أو الكتابة فقط أو القراءة والكتابة وما إلى ذلك.
عند استخدام بروتوكول OAuth 2.0 للحصول على إذن من حساب Google بالوصول إلى هذه البيانات، يمكنك استخدام سلاسل تُعرف باسم النطاقات لتحديد نوع البيانات التي تريد الوصول إليها ومقدار الوصول الذي تحتاجه. إذا كان تطبيقك يطلب نطاقات حسّاسة أو مقيّدة، عليك إكمال عملية التحقّق ما لم يكن استخدام تطبيقك مؤهَّلاً للحصول على استثناء.
عدد النطاقات المحظورة أقل من عدد النطاقات الحساسة. تحتوي الأسئلة الشائعة حول إثبات ملكية واجهة برمجة تطبيقات OAuth على القائمة الحالية بالنطاقات الحساسة والمقيّدة. توفّر هذه النطاقات إذن وصول واسعًا إلى بيانات مستخدمي Google، وتتطلّب منك إكمال عملية إثبات ملكية النطاق قبل طلب النطاقات من أي حساب على Google. للحصول على معلومات حول هذا الشرط، يُرجى الاطّلاع على سياسة بيانات المستخدمين الخاصة بخدمات Google API والمتطلبات الإضافية لنطاقات محدّدة من واجهات برمجة التطبيقات أو صفحة مطوّري البرامج من Google الخاصة بالمنتج. إذا كنت تخزِّن بيانات النطاق المحدود أو تنقلها على الخوادم، عليك إكمال تقييم الأمان.
فهم النطاقات المحظورة
إذا كان تطبيقك يطلب أي نطاقات محظورة ولا يستوفي شروط أحد الاستثناءات، عليك استيفاء المتطلبات الإضافية لنطاقات واجهات برمجة التطبيقات المحدّدة في "سياسة بيانات المستخدم لخدمات Google API"، أو المتطلبات الخاصة بالمنتج على صفحة Google Developer الخاصة بالمنتج، ما يتطلّب إجراء عملية مراجعة أكثر شمولاً.
فهم استخدامك للنطاق
- راجِع النطاقات التي يستخدمها تطبيقك أو التي تريد استخدامها. للعثور على استخدام النطاق الحالي، ابحث في رمز المصدر لتطبيقك عن أي نطاقات يتم إرسالها مع طلبات التفويض.
- تأكَّد من أنّ كل نطاق مطلوب ضروري للإجراءات المقصودة لميزة تطبيقك، وأنّه يستخدم الحد الأدنى من الامتيازات اللازمة لتوفير الميزة. تتضمّن واجهة Google API عادةً مستندات مرجعية حول نقاط النهاية الخاصة بالمنتج على صفحة المطوّرين على Google، وتشمل هذه المستندات النطاق المطلوب لاستدعاء نقطة النهاية أو خصائص معيّنة ضمنها. لمزيد من المعلومات حول نطاقات الوصول اللازمة لنقاط نهاية واجهة برمجة التطبيقات التي يستدعيها تطبيقك، يُرجى قراءة المستندات المرجعية الخاصة بنقاط النهاية هذه. For example, for an app that only uses Gmail APIs to occasionally send emails on a user's behalf, don't request the scope that provides full access to the user's email data.
- يجب استخدام البيانات التي تتلقّاها من واجهة برمجة تطبيقات Google بما يتوافق مع سياسات واجهة برمجة التطبيقات فقط، وبما يتوافق مع الطريقة التي توضّحها للمستخدمين في إجراءات تطبيقك وفي سياسة الخصوصية.
- راجِع مستندات واجهة برمجة التطبيقات لمعرفة المزيد عن كل نطاق، بما في ذلك sensitive or restricted الحالة المحتملة.
- عليك الإفصاح عن جميع النطاقات المستخدَمة في تطبيقك في Cloud Consoleضمن Data Access page. يتم تجميع النطاقات التي تحدّدها في فئات حسّاسة أو محظورة لتسليط الضوء على أي عملية تحقّق إضافية مطلوبة.
- ابحث عن النطاق الأنسب للبيانات المستخدَمة في عملية الدمج، وافهم طريقة استخدامه، وأعِد التأكيد على أنّ كل شيء لا يزال يعمل في بيئة اختبار، ثم استعد لإرسال طلب التحقّق.
احرص على مراعاة الوقت اللازم لإكمال عملية التحقّق في خطة إطلاق تطبيقك أو أي ميزات جديدة تتطلّب نطاقًا جديدًا. يحدث أحد هذه المتطلبات الإضافية إذا كان التطبيق يصل إلى بيانات مستخدمي Google أو لديه القدرة على الوصول إليها من خادم أو من خلاله. في هذه الحالات، يجب أن يخضع النظام لتقييم أمان سنوي من جهة تقييم خارجية مستقلة معتمَدة من Google. لهذا السبب، قد تستغرق عملية إثبات ملكية النطاقات المحظورة عدة أسابيع حتى تكتمل. يُرجى العِلم أنّه يجب على جميع التطبيقات إكمال خطوة التحقّق من العلامة التجارية أولاً، والتي تستغرق عادةً من يومَين إلى ثلاثة أيام عمل، وذلك في حال تغيّرت معلومات العلامة التجارية منذ آخر عملية تحقّق تمت الموافقة عليها من شاشة طلب الموافقة على OAuth.
أنواع التطبيقات المسموح بها
يمكن لأنواع معيّنة من التطبيقات الوصول إلى نطاقات محدودة لكل منتج. يمكنك العثور على أنواع التطبيقات في صفحة المطوّرين على Google الخاصة بالمنتج (على سبيل المثال، سياسة Gmail API).
وتقع على عاتقك مسؤولية فهم نوع تطبيقك وتحديده. ومع ذلك، إذا لم تكن متأكدًا من نوع تطبيقك، يمكنك عدم تحديد أي خيار من الخيارات المتاحة في السؤال ما هي الميزات التي ستستخدمها؟ عند إرسال التطبيق لإثبات ملكيته. سيحدّد فريق التحقّق في Google API نوع التطبيق.
تقييم الأمان
يجب أن يخضع كل تطبيق يطلب الوصول إلى البيانات المحظورة لمستخدمي Google ولديه إمكانية الوصول إلى البيانات من خادم تابع لجهة خارجية أو من خلاله لتقييم أمان على أيدي فريق تقييم أمني معتمَد من Google. تساعد عملية التقييم هذه في الحفاظ على أمان بيانات مستخدمي Google من خلال التأكّد من أنّ جميع التطبيقات التي تصل إلى بيانات مستخدمي Google لديها القدرة على التعامل مع البيانات بشكل آمن وحذف بيانات المستخدمين بناءً على طلبهم.
لتوحيد معايير تقييم الأمان، نستخدم تحالف App Defense Alliance و إطار تقييم أمان تطبيقات السحابة الإلكترونية (CASA).
كما ذكرنا سابقًا، للحفاظ على إمكانية الوصول إلى أي نطاقات تم التحقّق من أنّها مقيّدة، يجب إعادة التحقّق من امتثال التطبيقات وإكمال تقييم أمان كل 12 شهرًا على الأقل بعد تاريخ الموافقة على "خطاب التقييم" (LOA) الذي أعدّه المقيم. إذا أضاف تطبيقك نطاقًا جديدًا محظورًا، قد تحتاج إلى إعادة تقييم تطبيقك لتغطية النطاق الإضافي إذا لم يكن مضمّنًا في تقييم أمان سابق.
يُرسل فريق المراجعة في Google رسالة إلكترونية إليك عندما يحين وقت إعادة اعتماد تطبيقك. وللتأكّد من إرسال إشعار بهذا الإجراء السنوي إلى أعضاء فريقك المعنيين، اربط حسابات Google إضافية بمشروع Cloud Console بصفتك مالكًا أو محرِّرًا. ويساعد أيضًا في إبقاء عناوين البريد الإلكتروني المخصّصة لدعم المستخدمين والتواصل مع المطوّرين محدّثة، وهي العناوين المحدّدة في Cloud Console OAuth Branding pageمن Google.
خطوات الاستعداد لإثبات الملكية
يجب أن تتّبع جميع التطبيقات التي تستخدم واجهات Google API لطلب الوصول إلى البيانات الخطوات التالية لإكمال عملية إثبات ملكية العلامة التجارية:
- تأكَّد من أنّ تطبيقك لا يندرج ضمن أي من حالات الاستخدام الواردة في قسم استثناءات من متطلبات التحقّق.
- يجب التأكّد من أنّ تطبيقك يلتزم بمتطلبات العلامة التجارية لواجهات برمجة التطبيقات أو المنتجات المرتبطة. على سبيل المثال، يمكنك الاطّلاع على إرشادات وضع العلامة التجارية لنطاقات "تسجيل الدخول باستخدام Google".
- أثبِت ملكية النطاقات المعتمَدة الخاصة بمشروعك ضمن Google Search Console. استخدِم حساب Google مرتبطًا بمشروع API Console كـ "مالك" أو "محرِّر".
- تأكَّد من أنّ جميع معلومات العلامة التجارية المعروضة على شاشة موافقة OAuth، مثل اسم التطبيق والبريد الإلكتروني المخصّص للدعم ومعرّف الموارد المنتظم (URI) للصفحة الرئيسية ومعرّف الموارد المنتظم (URI) لسياسة الخصوصية وما إلى ذلك، تمثّل هوية التطبيق بدقة.
متطلبات الصفحة الرئيسية للتطبيق
يجب التأكّد من أنّ صفحتك الرئيسية تستوفي المتطلبات التالية:
- يجب أن تكون صفحتك الرئيسية متاحة للجميع، وليس فقط للمستخدمين الذين سجّلوا الدخول إلى موقعك الإلكتروني.
- يجب أن تكون صلة الصفحة الرئيسية بالتطبيق الذي يخضع للمراجعة واضحة.
- لا تُعد الروابط المؤدية إلى بطاقة بيانات تطبيقك على "متجر Google Play" أو صفحة تطبيقك على Facebook صفحات رئيسية صالحة للتطبيق.
متطلبات رابط سياسة الخصوصية للتطبيق
يجب التأكّد من أنّ سياسة الخصوصية في تطبيقك تستوفي المتطلبات التالية:
- يجب أن تكون سياسة الخصوصية مرئية للمستخدمين، وأن تتم استضافتها ضمن النطاق نفسه الذي تستضيف فيه الصفحة الرئيسية لتطبيقك، وأن يتم ربطها بشاشة موافقة OAuth الخاصة بـ Google API Console. يُرجى العِلم أنّ الصفحة الرئيسية يجب أن تتضمّن وصفًا لوظائف التطبيق، بالإضافة إلى روابط تؤدي إلى سياسة الخصوصية وبنود الخدمة الاختيارية.
- يجب أن تفصح سياسة الخصوصية عن الطريقة التي يصل بها تطبيقك إلى بيانات مستخدمي Google أو يستخدمها أو يخزّنها أو يشاركها. The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes. يجب أن تقتصر استخداماتك لبيانات مستخدمي Google على الممارسات التي تفصح عنها سياسة الخصوصية المنشورة.
- Review example cases of privacy policies that don't meet the Limited Use requirements.
كيفية إرسال تطبيقك لإثبات ملكيته
يُنظِّم Google Cloud Console المشروع جميع Cloud Console مواردك. يتألف المشروع من مجموعة من حسابات Google المرتبطة التي لديها إذن بتنفيذ عمليات المشروع، ومجموعة من واجهات برمجة التطبيقات المفعّلة، وإعدادات الفوترة والمصادقة والمراقبة لواجهات برمجة التطبيقات هذه. على سبيل المثال، يمكن أن يحتوي المشروع على عميل واحد أو أكثر من عملاء OAuth، ويمكنه ضبط واجهات برمجة التطبيقات التي يستخدمها هؤلاء العملاء، كما يمكنه ضبط شاشة موافقة OAuth التي تظهر للمستخدمين قبل منحهم الإذن بالوصول إلى تطبيقك.
إذا لم يكن أي من عملاء OAuth جاهزًا للإصدار العلني، ننصحك بحذفه من المشروع الذي يطلب إثبات الملكية. يمكنك إجراء ذلك في Clients page.
لإرسال طلب إثبات الملكية، اتّبِع الخطوات التالية:
- يجب التأكّد من أنّ تطبيقك يلتزم ببنود خدمة Google APIs وسياسة بيانات المستخدمين الخاصة بخدمات Google API.
- يجب الحفاظ على تحديث أدوار المالك والمحرّر للحسابات المرتبطة بمشروعك، بالإضافة إلى عنوان البريد الإلكتروني المخصّص لدعم المستخدمين في شاشة طلب الموافقة على OAuth ومعلومات الاتصال الخاصة بالمطوّر، وذلك في Cloud Console. يضمن ذلك إعلام أعضاء فريقك المعنيين بأي متطلبات جديدة.
- انتقِل إلى Cloud Console مركز التحقّق في OAuth.
- انقر على زر أداة اختيار المشروع.
-
في مربّع الحوار الاختيار من الذي يظهر، اختَر مشروعك. إذا لم تتمكّن من العثور على مشروعك ولكنّك تعرف معرّف المشروع، يمكنك إنشاء عنوان URL في المتصفّح بالتنسيق التالي:
https://console.developers.google.com/auth/branding?project=[PROJECT_ID]
استبدِل [PROJECT_ID] بمعرّف المشروع الذي تريد استخدامه.
- انقر على الزر تعديل التطبيق.
- أدخِل المعلومات اللازمة في صفحة شاشة موافقة OAuth، ثم انقر على الزر حفظ ومتابعة.
- استخدِم الزر إضافة نطاقات أو إزالتها للإفصاح عن جميع النطاقات التي يطلبها تطبيقك. يتم ملء مجموعة أولية من النطاقات الضرورية لميزة "تسجيل الدخول باستخدام حساب Google" مسبقًا في قسم النطاقات غير الحسّاسة. يتم تصنيف النطاقات المضافة على أنّها غير حساسة، sensitive, or restricted.
- قدِّم ما يصل إلى ثلاثة روابط تؤدي إلى أي مستندات ذات صلة بالميزات المشابهة في تطبيقك.
-
قدِّم أي معلومات إضافية مطلوبة عن تطبيقك في الخطوات التالية.
- Ensure your app complies with the Additional requirements for specific API scopes, which includes undergoing an annual security assessment if your app accesses restricted scope Google users' data from or through a third-party server.
- Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
- If your app is a task automation platform, your demonstration video must showcase how multiple API workflows are created and automated, and in which directions user data flows.
-
Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.
- Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
- Show that the OAuth consent screen correctly displays the App Name.
- Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
- To show how the data will be used, demonstrate the functionality that's enabled by each sensitive and restricted scope that you request.
- If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
- Select your permitted application type from the "What features will you use?" list.
- Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.
- إذا كانت إعدادات التطبيق التي تقدّمها تتطلّب التحقّق، يمكنك إرسال التطبيق لإجراء عملية التحقّق. املأ الحقول المطلوبة، ثم انقر على إرسال لبدء عملية إثبات الهوية.
بعد إرسال تطبيقك، سيتواصل معك فريق "الأمان والثقة " في Google عبر البريد الإلكتروني للحصول على أي معلومات إضافية أو الخطوات التي يجب إكمالها. راجِع عناوين بريدك الإلكتروني في قسم معلومات الاتصال الخاصة بالمطوّر وعنوان البريد الإلكتروني المخصّص للدعم في شاشة موافقة OAuth بحثًا عن طلبات الحصول على معلومات إضافية. يمكنك أيضًا الاطّلاع على صفحة شاشة موافقة OAuth الخاصة بمشروعك لتأكيد حالة المراجعة الحالية لمشروعك، بما في ذلك ما إذا كانت عملية المراجعة متوقفة مؤقتًا أثناء انتظار ردّك.
استثناءات من متطلبات إثبات الهوية
إذا كان سيتم استخدام تطبيقك في أي من السيناريوهات الموضّحة في الأقسام التالية، لن تحتاج إلى إرساله للمراجعة.
الاستخدام الشخصي
من حالات الاستخدام أن تكون أنت المستخدم الوحيد لتطبيقك أو أن يستخدم تطبيقك عدد قليل من المستخدمين الذين تعرفهم شخصيًا. قد يكون عدد محدود من المستخدمين وأنت على استعداد لتخطّي شاشة التطبيق الذي لم يتم التحقّق منه ومنح حساباتك الشخصية إذن الوصول إلى تطبيقك.
المشاريع المستخدَمة في مستويات التطوير أو الاختبار أو الإعداد
من أجل الامتثال لسياسات Google OAuth 2.0، ننصحك بأن يكون لديك مشاريع مختلفة لبيئات الاختبار والإصدار العلني. ننصحك بعدم إرسال تطبيقك لإجراء عملية التحقّق إلا إذا كنت تريد إتاحته لأي مستخدم لديه حساب على Google. لذلك، إذا كان تطبيقك في مراحل التطوير أو الاختبار أو الإعداد، لن يُطلب منك إثبات ملكيته.
إذا كان تطبيقك في مرحلة التطوير أو الاختبار، يمكنك ترك حالة النشر في الإعداد التلقائي الاختبار. يعني هذا الإعداد أنّ تطبيقك لا يزال قيد التطوير ولا يتوفّر إلا للمستخدمين الذين تضيفهم إلى قائمة المستخدمين التجريبيين. يجب إدارة قائمة حسابات Google المشارِكة في تطوير تطبيقك أو اختباره.
البيانات المملوكة للخدمة فقط
إذا كان تطبيقك يستخدم حساب خدمة للوصول إلى بياناته فقط، ولا يصل إلى أي بيانات مستخدم (مرتبطة بحساب Google)، لن تحتاج إلى إرسال التطبيق لإثبات ملكيته.
للتعرّف على حسابات الخدمة، يُرجى الاطّلاع على حسابات الخدمة في مستندات Google Cloud. للحصول على تعليمات حول كيفية استخدام حساب خدمة، يُرجى الاطّلاع على استخدام OAuth 2.0 لتطبيقات من خادم إلى خادم.
للاستخدام الداخلي فقط
وهذا يعني أنّ التطبيق لا يستخدمه سوى المستخدمين في مؤسستك على Google Workspace أو Cloud Identity. يجب أن يكون المشروع مملوكًا للمؤسسة، ويجب ضبط شاشة موافقة OAuth الخاصة به على نوع مستخدم داخلي. في هذه الحالة، قد يحتاج تطبيقك إلى موافقة من مشرف المؤسسة. لمزيد من المعلومات، يُرجى الاطّلاع على اعتبارات إضافية بشأن Google Workspace.
- مزيد من المعلومات حول التطبيقات العامة والتطبيقات الداخلية
- يمكنك الاطّلاع على كيفية تصنيف تطبيقك على أنّه تطبيق داخلي فقط في الأسئلة الشائعة كيف يمكنني تصنيف تطبيقي على أنّه داخلي فقط؟
التثبيت على مستوى النطاق
إذا كنت تخطّط لأن يستهدف تطبيقك مستخدمي مؤسسة Google Workspace أو Cloud Identity فقط وأن تستخدم التثبيت على مستوى النطاق دائمًا، لن يحتاج تطبيقك إلى إثبات ملكية العلامة التجارية. ومع ذلك، إذا كان تطبيقك يستخدم نطاقات حساسة أو مقيَّدة، يجب إجراء عملية التحقّق من التطبيق. ويرجع ذلك إلى أنّ عملية التثبيت على مستوى النطاق تتيح لمشرف النطاق منح التطبيقات التابعة لجهات خارجية والتطبيقات الداخلية إمكانية الوصول إلى بيانات المستخدمين. إنّ مشرفي المؤسسة هم الحسابات الوحيدة التي يمكنها إضافة التطبيق إلى قائمة التطبيقات المسموح بها لاستخدامه ضمن نطاقاتها.
تعرَّف على كيفية جعل تطبيقك قابلاً للتثبيت على مستوى النطاق في الأسئلة الشائعة يتضمّن تطبيقي مستخدمين لديهم حسابات مؤسسة من نطاق آخر على Google Workspace.