معلومات عن المصادقة والتفويض

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

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

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

نظرة عامة على العملية

يوضّح المخطّط التالي الخطوات ذات المستوى العالي للمصادقة وتفويض واجهات برمجة التطبيقات في Google Workspace:

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

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

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

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

  5. إرسال طلب الموافَق عليه للحصول على الموارد: إذا وافق المستخدم على نطاقات الوصول، سيجمع تطبيقك بيانات الاعتماد ونطاقات الوصول التي وافق عليها المستخدم في الطلب. يتم إرسال الطلب إلى خادم تفويض Google للحصول على رمز الدخول.

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

  7. الوصول إلى الموارد المطلوبة: يستخدم تطبيقك رمز الدخول من Google لاستدعاء واجهات برمجة التطبيقات ذات الصلة والوصول إلى الموارد.

  8. الحصول على رمز مميّز لإعادة التحميل (اختياري): إذا كان تطبيقك بحاجة إلى الوصول إلى واجهة برمجة تطبيقات Google بعد مرور فترة صلاحية رمز دخول واحد، يمكنه الحصول على رمز مميّز لإعادة التحميل.

  9. طلب المزيد من المراجع: إذا كانت هناك حاجة إلى إمكانية وصول إضافية، يطلب تطبيقك من المستخدم منح نطاقات وصول جديدة، ما يؤدي إلى طلب جديد للحصول على رمز الدخول (الخطوات من 3 إلى 6).

المصطلحات المهمة

في ما يلي قائمة بالعبارات ذات الصلة بالمصادقة والتفويض:

المصادقة

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

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

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

بيانات الاعتماد

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

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

سلسلة معرّف الموارد المنتظم (URI) لبروتوكول OAuth 2.0 التي تحدّد مستوى الوصول إلى الموارد أو الإجراءات التي يتم منحها إلى تطبيق. بالنسبة إلى Google Workspace، تتضمن معرّفات الموارد المنتظمة (URI) لنطاق التفويض اسم تطبيق Google Workspace ونوع البيانات التي تصل إليها ومستوى الوصول. يمكن لمستخدمي تطبيقك مراجعة النطاقات المطلوبة واختيار نوع الإذن بالوصول الذي تريد منحه، ثم يعرض خادم المصادقة من Google النطاقات المسموح بها لتطبيقك في رمز الدخول. لمزيد من التفاصيل، راجِع كيفية اختيار النطاقات لتطبيقك.

خادم التفويض

خادم Google لمنح الإذن بالوصول، باستخدام رمز الدخول، إلى البيانات والعمليات المطلوبة لأحد التطبيقات.

رمز التفويض

رمز يتم إرساله من خادم التفويض المستخدَم للحصول على رمز الدخول. لا يلزم استخدام الرمز إلا عندما يكون نوع التطبيق تطبيق خادم ويب أو تطبيقًا مثبّتًا.

رمز الدخول

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

خادم الموارد

الخادم الذي يستضيف واجهة برمجة التطبيقات التي يريد تطبيقك طلبها

إطار عمل OAuth 2.0

معيار يمكن لتطبيقك استخدامه لتوفير "إمكانية الوصول الآمن" أو الوصول إلى البيانات والعمليات نيابةً عن مستخدم التطبيق تمثّل آليات المصادقة والتفويض التي تستخدمها في تطبيقك عملية تنفيذ إطار عمل OAuth 2.0.

رئيسي

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

نوع البيانات

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

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

خطوة تفويض تتطلب من مستخدم التطبيق تفويض التطبيق بالوصول إلى البيانات وتنفيذ العمليات نيابةً عنه.

نوع التطبيق

نوع التطبيق الذي تريد إنشاءه. عند إنشاء بيانات اعتماد باستخدام Google Cloud Console، سيُطلب منك اختيار نوع تطبيقك. أنواع التطبيقات هي: تطبيق الويب (JavaScript) ونظام التشغيل Android وتطبيق Chrome وiOS وأجهزة التلفزيون وأجهزة الإدخال المحدود وتطبيق التطبيقات المتوافقة مع الكمبيوتر المكتبي (يُعرف أيضًا باسم "التطبيقات المثبّتة") وUniversal Windows Platform (UWP).

حساب الخدمة

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

تفويض السلطة على مستوى النطاق

ميزة إدارية يمكنها تفويض تطبيق للوصول إلى بيانات المستخدمين نيابةً عن المستخدمين في مؤسسة Google Workspace. يمكن استخدام التفويض على مستوى النطاق لتنفيذ المهام المتعلقة بالمشرف على بيانات المستخدم. ولتفويض التفويض بهذه الطريقة، يستخدم مشرفو Google Workspace حسابات الخدمة مع OAuth 2.0. وبسبب قوة هذه الميزة، يمكن للمشرفين المتميزين فقط تفعيل تفويض على مستوى النطاق. للتعرُّف على المزيد من التفاصيل، يُرجى الرجوع إلى تفويض التفويض على مستوى النطاق لحساب خدمة.

الخطوة التالية

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