الأذونات الممنوحة لامتداد Firebase

لكي ينفذ ملحق Firebase إجراءاته المحددة، يمنح 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 حساب الخدمة الذي تم إنشاؤه لهذا المثيل من الملحق. بعد هذا الحذف لحساب الخدمة، لا يمكن تشغيل الامتداد في مشروعك لأنه لم يعد لديه أي حقوق وصول إلى مشروعك أو بياناتك.