تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
لكي تؤدي Firebase Extension الإجراءات المحدّدة لها، تمنح Firebase كل مثيل من إضافة مثبَّتة إذن وصول محدود إلى مشروعك وبياناتك من خلال حساب خدمة.
ما هو حساب الخدمة؟
حساب الخدمة هو نوع خاص من حسابات مستخدمي Google. وهو يمثّل مستخدمًا غير بشري
مخوَّلاً بالوصول إلى البيانات باستخدام Google APIs.
أثناء تثبيت إضافة، ينشئ Firebase حساب خدمة في مشروعك. يحتوي كل مثيل مثبَّت لإحدى الإضافات على حساب خدمة خاص به.
يحدّ Firebase من إمكانية الوصول إلى مشروعك وبياناتك من خلال منح حساب خدمة خاص أدوارًا (مجموعات من الأذونات). تحدّد Firebase الأدوار التي تتطلّبها الإضافة لتعمل، وذلك أثناء عملية تطوير الإضافة. عند التثبيت، يمنح Firebase هذه الأدوار لحساب خدمة الإضافة، ويجب عدم تعديل أي من هذه الأدوار المحدّدة أو إضافة أدوار أخرى أو حذفها (وإلا لن تعمل الإضافة المثبَّتة على النحو المتوقّع). في المقابل، يمكنك إلغاء تثبيت الإضافة، ما يؤدي إلى حذف حساب الخدمة (وأذونات الوصول إليه) بالكامل.
تكون حسابات الخدمة التي تم إنشاؤها للإضافات بالتنسيق:
ext-extension-instance-id@project-id.iam.gserviceaccount.com.
يمكنك الاطّلاع على جميع حسابات الخدمة المرتبطة بمشروعك على Firebase في علامة التبويب حسابات الخدمة ضمن settingsإعدادات المشروع.
الأذونات والأدوار
أثناء تطوير إحدى الإضافات، تحدّد Firebase مستوى الوصول الذي تتطلّبه الإضافة لكي تعمل.
تحدّد Firebase مستوى الوصول هذا من خلال إدراج الأدوار (مجموعات الأذونات) التي يجب أن تعيّنها Firebase لحساب الخدمة الخاص بالإضافة أثناء تثبيتها.
يستند كل دور (والأذونات المضمّنة فيه) إلى منتج أو خدمة محدّدة. تشمل الأمثلة على الأدوار firebasehosting.admin وbigquery.dataEditor وfirebasedatabase.admin. تدرِج Firebase الأدوار المطلوبة لإحدى الإضافات في ملف مواصفات الإضافة (ملف extension.yaml).
بالنسبة إلى إضافات Firebase الرسمية، تراجع Firebase هذه القائمة من الأدوار بدقة للتأكّد من أنّ وصول الإضافة يقتصر تمامًا على نطاق مهامها. يمكنك أيضًا مراجعة وتأكيد إذن الوصول الممنوح لإحدى الإضافات من خلال الاطّلاع على صفحة تفاصيل الإضافة في لوحة بيانات Firebase Extensions أو الاطّلاع على ملف README.
عند إلغاء تثبيت إضافة من مشروعك، يحذف Firebase حساب الخدمة الذي تم إنشاؤه لهذه النسخة من الإضافة. بعد حذف حساب الخدمة هذا، لن تتمكّن الإضافة من العمل في مشروعك لأنّه لن يكون لديها أي حقوق وصول إلى مشروعك أو بياناتك.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["\u003cbr /\u003e\n\nFor a Firebase Extension to perform its specified actions, Firebase\ngrants each instance of an installed extension limited access to your project\nand data via a ***service account***.\n\nWhat's a service account?\n\n**A\n[service account](//cloud.google.com/iam/docs/understanding-service-accounts)\nis a special type of Google user account. It represents a non-human user that's\nauthorized to access data using Google APIs.**\n\nDuring installation of an extension, Firebase creates a service account in your\nproject. Each installed instance of an extension has its own service account.\n\nFirebase limits access to your project and data by assigning an extension's\nservice account specific [***roles*** (bundles of\npermissions)](/docs/projects/iam/roles). The roles that an extension requires to\noperate are determined by Firebase during extension development. At\ninstallation, Firebase assigns these roles to an extension's service account,\nand you shouldn't modify, add to, or delete any of these assigned roles\n(otherwise your installed extension won't work as expected). You can, though,\n[uninstall the extension](#uninstall-extension), which deletes the service\naccount (and its access) altogether.\n\nService accounts created for extensions are in the format:\n**ext-** \u003cvar translate=\"no\"\u003eextension-instance-id\u003c/var\u003e***@*** \u003cvar translate=\"no\"\u003eproject-id\u003c/var\u003e**.iam.gserviceaccount.com**.\n\nYou can view all the service accounts associated with your Firebase project in\nthe\n[*Service accounts*](//console.firebase.google.com/project/_/settings/serviceaccounts/adminsdk)\ntab of your\nsettings *Project settings*.\n\nPermissions and roles\n\nDuring development of an extension, Firebase determines the level of access that\nan extension requires to operate.\n\nFirebase defines this level of access by explicitly listing the ***roles***\n(bundles of permissions) that Firebase should assign to the extension's\n[service account](#service-account) during installation of the extension.\n\nEach role (and its inherent permissions) is based on a specific product or\nservice. Examples of roles are `firebasehosting.admin`, `bigquery.dataEditor`,\nand `firebasedatabase.admin`. Firebase lists the required roles for an extension\nin the extension's specification file (the\n[`extension.yaml` file](/docs/extensions/overview-use-extensions#view-source-code)).\n\nFor official Firebase extensions, Firebase thoroughly reviews this list of\nroles to ensure that an extension's access is strictly limited to the scope of\nthe extension's tasks. You can also review and confirm for yourself the access\ngranted to an extension by viewing the extension's details page in the\n[Firebase Extensions dashboard](https://console.firebase.google.com/project/_/extensions/) or viewing its\n[`README` file](/docs/extensions/overview-use-extensions#view-source-code).\n\nLearn about the permissions included in each role:\n\n- [Firebase product-level roles](/docs/projects/iam/roles-predefined-product)\n- [Google Cloud\n roles](//cloud.google.com/iam/docs/understanding-roles#predefined_roles)\n\nWhat happens when I uninstall an extension?\n\nWhen you\n[uninstall an extension](/docs/extensions/manage-installed-extensions#uninstall)\nfrom your project, Firebase deletes the [service account](#service-account)\ncreated for that instance of the extension. After this deletion of the service\naccount, the extension cannot run in your project because it no longer has any\naccess rights to your project or data."]]