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