الأذونات الممنوحة لإضافة Firebase

لكي تؤدي Firebase Extension الإجراءات المحدّدة لها، تمنح Firebase كل مثيل من إضافة مثبَّتة إذن وصول محدود إلى مشروعك وبياناتك من خلال حساب خدمة.

ما هو حساب الخدمة؟

حساب الخدمة هو نوع خاص من حسابات مستخدمي Google. وهو يمثّل مستخدمًا غير بشري مخوَّلاً بالوصول إلى البيانات باستخدام Google APIs.

أثناء تثبيت إضافة، ينشئ Firebase حساب خدمة في مشروعك. يحتوي كل مثيل مثبَّت لإحدى الإضافات على حساب خدمة خاص به.

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

تكون حسابات الخدمة التي تم إنشاؤها للإضافات بالتنسيق: ext-extension-instance-id@project-id.iam.gserviceaccount.com.

يمكنك الاطّلاع على جميع حسابات الخدمة المرتبطة بمشروعك على Firebase في علامة التبويب حسابات الخدمة ضمن إعدادات المشروع.

الأذونات والأدوار

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

تحدّد Firebase مستوى الوصول هذا من خلال إدراج الأدوار (مجموعات الأذونات) التي يجب أن تعيّنها Firebase لحساب الخدمة الخاص بالإضافة أثناء تثبيتها.

يستند كل دور (والأذونات المضمّنة فيه) إلى منتج أو خدمة محدّدة. تشمل الأمثلة على الأدوار firebasehosting.admin وbigquery.dataEditor وfirebasedatabase.admin. تدرِج Firebase الأدوار المطلوبة لإحدى الإضافات في ملف مواصفات الإضافة (ملف extension.yaml).

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

تعرَّف على الأذونات المضمّنة في كل دور:

ماذا يحدث عند إلغاء تثبيت إضافة؟

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