با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
برای اینکه یک Firebase Extension اقدامات مشخص شده خود را انجام دهد، Firebase به هر نمونه از یک برنامه افزودنی نصب شده دسترسی محدودی به پروژه و داده شما از طریق یک حساب سرویس اعطا می کند.
حساب سرویس چیست؟
حساب سرویس نوع خاصی از حساب کاربری گوگل است. این نشان دهنده یک کاربر غیر انسانی است که مجاز به دسترسی به داده ها با استفاده از API های Google است.
در طول نصب یک برنامه افزودنی، 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."]]