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

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

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

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

أثناء تثبيت إضافة، تنشئ 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 الرسمية، تراجع Google بدقة قائمة الأدوار هذه للتأكّد من أنّ إذن الوصول للإضافة يقتصر تمامًا على نطاق مهامها. يمكنك أيضًا مراجعة إذن الوصول الممنوح لإضافة والتأكّد منه بنفسك من خلال الاطّلاع على صفحة تفاصيل الإضافة في لوحة بيانات Firebase Extensions أو الاطّلاع على ملف README الخاص بها.

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

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

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