يتم منح الأذونات لأعضاء مشروعك عبر الأدوار . الدور عبارة عن مجموعة من الأذونات. عند تعيين دور لعضو في المشروع ، فإنك تمنح هذا العضو جميع الأذونات التي يحتوي عليها الدور.
تصف هذه الصفحة الإجراءات التي تم تمكينها بواسطة الأذونات التي قد تجدها مدرجة في دور مدعوم من Firebase. تنقسم هذه الأذونات إلى فئتين:
أذونات إدارة الهوية والوصول المطلوبة (IAM) لجميع الأدوار أو لإجراءات محددة داخل Firebase
الأذونات المطلوبة
تتضمن Firebase IAM أذونات هي:
للحصول على قائمة عامة ووصف للأذونات الخاصة بمنتج أو خدمة Firebase ، راجع القسم المناسب ضمن أذونات IAM الخاصة بمنتج Firebase .
الأذونات المطلوبة متضمنة في جميع الأدوار
الأذونات المدرجة في الجدول التالي مطلوبة لاستخدام أي منتج أو خدمة Firebase.
يتم تضمين هذه الأذونات تلقائيًا في كل من أدوار Firebase المحددة مسبقًا .
إذن | وصف |
---|---|
يمنح أذونات لاسترداد معلومات مشروع Firebase | |
يمنح أذونات لاسترداد معلومات مشروع Firebase | |
يمنح أذونات للتحقق من حالة Google APIs وتشغيل أوامر Firebase CLI |
الأذونات المطلوبة للإجراءات الخاصة بخدمة Firebase
الأذونات المدرجة في الجدول التالي مطلوبة لتنفيذ بعض الإجراءات الخاصة بخدمة Firebase.
عند الحاجة ، يتم تضمين هذه الأذونات تلقائيًا في كل من أدوار Firebase المحددة مسبقًا .
فعل | الإذن المطلوب |
---|---|
الوصول إلى عمليات تكامل مشروع Firebase باستخدام أدوات التعاون (بما في ذلك Slack و Jira و PagerDuty) | firebaseextensions.configs. * |
عرض الاستخدام والتحليلات من StackDriver | مراقبة. timeSeries.list |
قم بتشغيل أوامر Firebase CLI لمزيد من المعلومات ، راجع وثائق Google Cloud حول Runtime Configurator Access . | runtimeconfig. * |
الأذونات المطلوبة للإجراءات الخاصة بإدارة Firebase
الأذونات المدرجة في الجدول التالي هي أذونات إضافية مطلوبة لتنفيذ بعض الإجراءات الخاصة بإدارة Firebase.
إذن الإدارة والإجراءات المرتبطة بها | مطلوب إذن إضافي |
---|---|
firebase.billingPlans.update | |
قم بتغيير خطة الفوترة لمشروع Firebase | resourcemanager.projects.createBillingAssignment resourcemanager.projects.deleteBillingAssignment |
firebase.projects.delete | |
احذف مشروع Firebase | إدارة الموارد. المشاريع. حذف |
firebase.projects.update | |
أضف موارد Firebase إلى مشروع Google Cloud موجود | resourcemanager.projects.get serviceusage.services.enable serviceusage.services.get |
غيّر اسم مشروع Firebase | مدير الموارد |
أضف بصمات شهادة SHA لتطبيقات Android | clientauthconfig.clients.create |
قم بإزالة بصمات شهادة SHA لتطبيقات Android | clientauthconfig.clients.delete |
قم بتحديث معرف متجر التطبيقات أو معرف الفريق لتطبيقات Apple | clientauthconfig.clients.get clientauthconfig.clients.update |
أذونات IAM الخاصة بمنتج Firebase
تسرد الجداول التالية الأذونات الخاصة بمنتج أو خدمة Firebase. يمكنك استخدام هذه الأذونات لإنشاء أدوار مخصصة .
أذونات إدارة Firebase
لاحظ أن بعض أذونات الإدارة التالية تتطلب أذونات إضافية لإجراءات معينة .
اسم الإذن | وصف |
---|---|
firebase.billingPlans.get | استرجع خطة فوترة Firebase الحالية لمشروع ما |
firebase.billingPlans.update | قم بتغيير خطة فوترة Firebase الحالية لمشروع |
firebase.clients.create | أضف تطبيقات جديدة إلى مشروع |
firebase.clients.delete | حذف التطبيقات الموجودة من المشروع |
firebase.clients.get | استرجع التفاصيل والتكوينات للتطبيقات في المشروع |
firebase.clients.list | استرجع قائمة بالتطبيقات في المشروع |
firebase.clients.undelete | قم بإلغاء حذف التطبيق المحذوف قبل حذف بياناته نهائيًا |
firebase.clients.update | تحديث التفاصيل والتكوينات للتطبيقات في المشروع |
firebase.links.create | إنشاء روابط جديدة لأنظمة جوجل (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebase.links.delete | حذف الروابط لأنظمة جوجل (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebase.links.list | استرجع قائمة الروابط لأنظمة Google (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebase.links.update | تحديث الروابط الحالية لأنظمة Google (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebase.playLinks.get | استرجع تفاصيل حول ارتباط إلى Google Play (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل> Google Play) |
firebase.playLinks.list | استرجع قائمة الروابط إلى Google Play (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل> Google Play) |
firebase.playLinks.update | إنشاء روابط جديدة وتحديث الروابط الحالية إلى Google Play (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل> Google Play) |
firebase.projects.delete | حذف المشاريع الموجودة |
firebase.projects.get | استرجع التفاصيل وموارد Firebase لمشروع ما |
firebase.projects.update | تعديل سمات مشروع قائم تلقي تنبيهات لمنتجات وميزات Firebase السارية ( مزيد من المعلومات ) |
firebaseinstallations.instances.delete | احذف معرّف تثبيت Firebase والبيانات المرتبطة بهذا التثبيت ( معرفة المزيد ) |
أذونات Google Analytics
تمنح الأذونات التالية حق الوصول إلى موقع Analytics المرتبط بمشروع Firebase. تسمح لأعضاء مشروع Firebase بالوصول إلى بيانات Analytics ، بما في ذلك الجماهير وخصائص المستخدمين ومسارات التحويل والتقارير والتحويلات وما إلى ذلك.
اسم الإذن | وصف |
---|---|
firebaseanalytics.resources.googleAnalyticsEdit | بشكل افتراضي ، يمنح دور محرر Analytics لموقع Analytics المرتبط |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | بشكل افتراضي ، يمنح دور Analytics Marketer لموقع Analytics المرتبط |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | بشكل افتراضي ، يمنح دور عارض Analytics لموقع Analytics المرتبط |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | بشكل افتراضي ، يمنح دور عارض Analytics إلى موقع Analytics المرتبط مع عدم إمكانية الوصول إلى بيانات الإيرادات وبيانات التكلفة |
التحقق من أذونات تطبيق Firebase
اسم الإذن | وصف |
---|---|
firebaseappcheck.appAttestConfig.get | استرجع تكوين App Attest لأحد التطبيقات |
firebaseappcheck.appAttestConfig.update | قم بتحديث تكوين App Attest لأحد التطبيقات |
firebaseappcheck.appCheckTokens.verify | تحقق من رموز التحقق من التطبيق الصادرة لمشروع Firebase |
firebaseappcheck.debugTokens.get | استرداد الرموز المميزة لتصحيح الأخطاء للتطبيق |
firebaseappcheck.debugTokens.update | إنشاء أو تحديث أو حذف الرموز المميزة لتصحيح الأخطاء للتطبيق |
firebaseappcheck.deviceCheckConfig.get | استرجع تكوين DeviceCheck لأحد التطبيقات |
firebaseappcheck.deviceCheckConfig.update | قم بتحديث تكوين DeviceCheck لأحد التطبيقات |
firebaseappcheck.playIntegrityConfig.get | استرجع تكوين Play Integrity لأحد التطبيقات |
firebaseappcheck.playIntegrityConfig.update | قم بتحديث تكوين Play Integrity لأحد التطبيقات |
firebaseappcheck.recaptchaEnterpriseConfig.get | استرجع تكوين reCAPTCHA Enterprise لأحد التطبيقات |
firebaseappcheck.recaptchaEnterpriseConfig.update | قم بتحديث تكوين reCAPTCHA Enterprise لأحد التطبيقات |
firebaseappcheck.recaptchaV3Config.get | استرجع تكوين reCAPTCHA v3 لأحد التطبيقات |
firebaseappcheck.recaptchaV3Config.update | قم بتحديث تكوين reCAPTCHA v3 لأحد التطبيقات |
firebaseappcheck.safetyNetConfig.get | استرجع تكوين SafetyNet لأحد التطبيقات |
firebaseappcheck.safetyNetConfig.update | قم بتحديث تكوين SafetyNet لأحد التطبيقات |
firebaseappcheck.services.get | استرداد تكوينات فرض الخدمة لمشروع |
firebaseappcheck.services.update | تحديث تكوينات فرض الخدمة للمشروع |
أذونات توزيع تطبيقات Firebase
اسم الإذن | وصف |
---|---|
firebaseappdistro.releases.list | استرجع قائمة التوزيعات الحالية ودعوة الروابط |
firebaseappdistro.releases.update | إنشاء وحذف وتعديل التوزيعات إنشاء وحذف دعوة الروابط |
firebaseappdistro.testers.list | استرجع قائمة المختبرين الموجودين في المشروع |
firebaseappdistro.testers.update | إنشاء وحذف المختبرين في المشروع |
firebaseappdistro.groups.list | استرجع قائمة مجموعات المختبرين الموجودة في المشروع |
firebaseappdistro.groups.update | إنشاء وحذف مجموعات المختبرين في المشروع |
أذونات مصادقة Firebase
اسم الإذن | وصف |
---|---|
إنشاءات firebaseauth.configs.create | قم بإنشاء تكوين المصادقة |
firebaseauth.configs.get | استرجع تكوين المصادقة |
firebaseauth.configs.getHashConfig | احصل على تكوين تجزئة كلمة المرور وتجزئة كلمة المرور لحسابات المستخدمين |
firebaseauth.configs.getSecret | احصل على سر العميل في تكوين المصادقة |
firebaseauth.configs.update | قم بتحديث تكوين المصادقة الحالي |
firebaseauth.users.create. إنشاء | قم بإنشاء مستخدمين جدد في المصادقة |
firebaseauth.users.createSession. الجلسة | قم بإنشاء ملف تعريف ارتباط جلسة لمستخدم قام بتسجيل الدخول |
firebaseauth.users.delete | احذف المستخدمين الموجودين في المصادقة |
firebaseauth.users.get | استرجع قائمة بمستخدمي المصادقة الحاليين |
firebaseauth.users.send البريد الإلكتروني | إرسال رسائل البريد الإلكتروني إلى المستخدمين |
firebaseauth.users.update | تحديث المستخدمين الحاليين في المصادقة |
أذونات اختبار Firebase A / B (تجريبي)
اسم الإذن | وصف |
---|---|
firebaseabt.experimentresults.get | استرجع نتائج التجربة |
firebaseabt.experiments.create | قم بإنشاء تجارب جديدة |
firebaseabt.experiments.delete | احذف التجارب الحالية |
firebaseabt.experiments.get | استرداد تفاصيل تجربة موجودة |
firebaseabt.experiments.list | استرجع قائمة التجارب الموجودة |
firebaseabt.experiments.update | تحديث تجربة موجودة |
firebaseabt.projectmetadata.get | استرداد البيانات الوصفية للتحليلات لإعداد تجربة |
أذونات Cloud Firestore
للحصول على قائمة وأوصاف أذونات Cloud Firestore ، راجع وثائق Google Cloud .
أذونات التخزين السحابي
للحصول على قائمة وأوصاف أذونات Cloud Storage ، راجع وثائق Google Cloud .
أذونات قواعد أمان Firebase (Cloud Firestore والتخزين السحابي)
اسم الإذن | وصف |
---|---|
firebaserules.releases.create | إنشاء إصدارات |
firebaserules.releases.delete | حذف الإصدارات |
firebaserules.releases.get | استرجاع الإصدارات |
firebaserules.releases.getExecutable | استرجع الحمولات الثنائية القابلة للتنفيذ للإصدارات |
firebaserules.releases.list | استرجع قائمة الإصدارات |
Firebaserules.releases.update | تحديث مراجع مجموعة القواعد للإصدارات |
firebaserules.rulesets.create | أنشئ مجموعات قواعد جديدة |
firebaserules.rulesets.delete | حذف مجموعة القواعد الموجودة |
firebaserules.rulesets.get | استرجاع مجموعات القواعد مع المصدر |
firebaserules.rulesets.list | البحث عن البيانات الوصفية لمجموعة القواعد (بدون مصدر) |
firebaserules.rulesets.test | مصادر الاختبار من أجل صحتها |
وظائف السحابة لأذونات Firebase
للحصول على قائمة وأوصاف أذونات وظائف السحابة ، راجع وثائق IAM .
اعلم أن نشر الوظائف يتطلب تكوينًا محددًا للأذونات غير المضمنة في أدوار Firebase القياسية المحددة مسبقًا . لنشر الوظائف ، استخدم أحد الخيارات التالية:
تفويض نشر الوظائف إلى مالك المشروع.
إذا كنت تنشر وظائف بخلاف HTTP فقط ، فيمكن لمحرر المشروع نشر وظائفك.
تفويض نشر الوظائف لعضو في المشروع لديه الدورين التاليين:
- دور مسؤول وظائف السحابة (
roles/cloudfunctions.admin
) - دور مستخدم حساب الخدمة (
roles/iam.serviceAccountUser
)
يمكن لمالك المشروع تعيين هذه الأدوار لعضو في المشروع باستخدام Google Cloud Console أو gcloud CLI . للحصول على خطوات مفصلة وتأثيرات الأمان لتكوين الدور هذا ، راجع وثائق IAM .
- دور مسؤول وظائف السحابة (
أذونات حملات مراسلة Firebase
تنطبق هذه الأذونات على حملات Firebase Cloud Messaging و Firebase In-App Messaging.
اسم الإذن | وصف |
---|---|
Firebasemessagingcampaigns.campaigns.create | إنشاء حملات جديدة |
Firebasemessagingcampaigns.campaigns.delete | احذف الحملات الموجودة |
firebasemessagingcampaigns.campaigns.get | استرجع تفاصيل الحملات الحالية |
firebasemessagingcampaigns.campaigns.list | استرجع قائمة الحملات الموجودة |
Firebasemessagingcampaigns.campaigns.update | تحديث الحملات الموجودة |
Firebasemessagingcampaigns.campaigns.start | ابدأ الحملات الحالية |
Firebasemessagingcampaigns.campaigns.stop | تحديث الحملات الموجودة |
أذونات Firebase Cloud Messaging
اسم الإذن | وصف |
---|---|
cloudmessaging.messages.create | إرسال الإخطارات ورسائل البيانات من خلال FCM HTTP API و Admin SDK |
اسم الإذن | وصف |
---|---|
إخطارات الحريق | أنشئ رسائل جديدة في منشئ الإشعارات |
firebasenotifications.messages.delete | احذف الرسائل الموجودة في منشئ الإشعارات |
firebasenotifications.messages.get | استرجع تفاصيل الرسائل الموجودة في منشئ الإشعارات |
firebasenotifications.messages.list | استرجع قائمة بالرسائل الموجودة في منشئ الإشعارات |
إخطارات الحريق. الرسائل. تحديث | قم بتحديث الرسائل الموجودة في منشئ الإشعارات |
أذونات Firebase Crashlytics
اسم الإذن | وصف |
---|---|
firebasecrashlytics.config.get | استرجع إعدادات تكوين Crashlytics |
firebasecrashlytics.config.update | قم بتحديث إعدادات تكوين Crashlytics |
firebasecrashlytics.data.get | استرجع المقاييس المرتبطة بقضايا وجلسات Crashlytics |
firebasecrashlytics.issues.get | استرجع تفاصيل حول مشكلات Crashlytics ، بما في ذلك الملاحظات المرفقة بالمشكلات |
firebasecrashlytics.issues.list | استرجع قائمة بمشكلات Crashlytics |
firebasecrashlytics.issues.update | فتح وإغلاق وكتم مشكلات Crashlytics الحالية تحديث الملاحظات المرفقة بالمسائل |
firebasecrashlytics.sessions.get | استرداد تفاصيل حول جلسات تعطل Crashlytics |
اسم الإذن | وصف |
---|---|
firebasecrash.issues.update | قم بتحديث مشكلات Crashlytics الحالية وإنشاء ملاحظات حول المشكلات وتعيين تنبيهات السرعة |
firebasecrash.reports.get | استرداد تقارير Crashlytics الحالية |
أذونات روابط Firebase الديناميكية
اسم الإذن | وصف |
---|---|
firebasedynamiclinks.domains.create | إنشاء مجالات روابط ديناميكية جديدة |
firebasedynamiclinks.domains.delete | احذف مجالات الروابط الديناميكية الحالية |
firebasedynamiclinks.domains.get | استرجع تفاصيل نطاقات الروابط الديناميكية الحالية |
firebasedynamiclinks.domains.list | استرجع قائمة بنطاقات الروابط الديناميكية الحالية |
firebasedynamiclinks.domains.update | تحديث مجالات الروابط الديناميكية الحالية |
الروابط الديناميكية النارية | قم بإنشاء روابط ديناميكية جديدة |
firebasedynamiclinks.links.get | استرجع تفاصيل الروابط الديناميكية الحالية |
firebasedynamiclinks.links.list | استرجع قائمة الروابط الديناميكية الحالية |
روابط ديناميكية Firebasedynamiclinks.links.update | تحديث الروابط الديناميكية الحالية |
firebasedynamiclinks.stats.get | استرجاع إحصائيات الروابط الديناميكية |
firebasedynamiclinks.destinations.list | استرجع وجهات الروابط الديناميكية الحالية |
روابط ديناميكية تستند إلى Firebased | تحديث وجهات الروابط الديناميكية الحالية |
أذونات نشر ملحقات Firebase
اسم الإذن | وصف |
---|---|
firebaseextensionspublisher.extensions.create | تحميل إصدارات جديدة من الامتداد |
firebaseextensionspublisher.extensions.delete | حذف أو إهمال إصدارات الإضافة |
firebaseextensionspublisher.extensions.get | استرجع تفاصيل حول إصدار ملحق |
firebaseextensionspublisher.extensions.list | قائمة بجميع إصدارات الامتداد التي تم تحميلها بواسطة مشروع الناشر هذا |
أذونات استضافة Firebase
اسم الإذن | وصف |
---|---|
firebasehosting.sites.create | أنشئ موارد استضافة جديدة لمشروع Firebase |
firebasehosting.sites.delete | احذف موارد الاستضافة الحالية لمشروع Firebase |
firebasehosting.sites.get | استرجع تفاصيل موارد الاستضافة الحالية لمشروع Firebase |
firebasehosting.sites.list | استرجع قائمة موارد الاستضافة لمشروع Firebase |
firebasehosting.sites.update | تحديث موارد الاستضافة الحالية لمشروع Firebase |
أذونات Firebase In-App Messaging (تجريبي)
اسم الإذن | وصف |
---|---|
firebaseinappmessaging.campaigns.create | إنشاء حملات جديدة |
firebaseinappmessaging.campaigns.delete | احذف الحملات الموجودة |
firebaseinappmessaging.campaigns.get | استرجع تفاصيل الحملات الحالية |
firebaseinappmessaging.campaigns.list | استرجع قائمة الحملات الموجودة |
firebaseinappmessaging.campaigns.update | تحديث الحملات الموجودة |
أذونات Firebase ML (تجريبي)
اسم الإذن | وصف |
---|---|
firebaseml.models.create | إنشاء نماذج ML جديدة |
firebaseml.models.update | تحديث نماذج ML الحالية |
firebaseml.models.delete | حذف نماذج ML الموجودة |
firebaseml.models.get | استرجع تفاصيل نماذج ML الحالية |
firebaseml.models.list | استرجع قائمة نماذج ML الحالية |
firebaseml.modelversions.create | إنشاء إصدارات نموذجية جديدة |
firebaseml.modelversions.get | استرجاع تفاصيل إصدارات النموذج الحالية |
firebaseml.modelversions.list | استرجع قائمة إصدارات النموذج الموجودة |
firebaseml.modelversions.update | تحديث إصدارات النموذج الحالية |
أذونات مراقبة أداء Firebase
اسم الإذن | وصف |
---|---|
firebaseperformance.config.create | إنشاء تكوينات عتبة إصدار جديدة |
firebaseperformance.config.delete | حذف تكوينات عتبة المشكلة الحالية |
firebaseperformance.config.update | تعديل التنبيه وتكوينات عتبة المشكلة الحالية |
firebaseperformance.data.get | عرض جميع بيانات الأداء وقيم عتبة الإصدار |
أذونات Firebase Realtime Database
اسم الإذن | وصف |
---|---|
firebasedatabase.instances.create | إنشاء طبعات قاعدة بيانات جديدة |
firebasedatabase.instances.get | استرجع بيانات التعريف لطبعات قاعدة البيانات الموجودة وصول للقراءة فقط إلى البيانات في طبعة قاعدة بيانات موجودة |
firebasedatabase.instances.list | استرداد قائمة طبعات قاعدة البيانات الموجودة |
firebasedatabase.instances.update | الوصول الكامل للقراءة والكتابة إلى البيانات في طبعات قاعدة البيانات الموجودة تمكين وتعطيل طبعات قاعدة البيانات استرداد وتعديل قواعد الأمان لطبعات قاعدة البيانات الموجودة |
firebasedatabase.instances.disable | تعطيل طبعات قاعدة البيانات النشطة يتم الاحتفاظ بالبيانات الموجودة ولكن لا يمكن الوصول إليها للقراء / عمليات الكتابة. |
firebasedatabase.instances.reenable | أعد تمكين طبعات قاعدة البيانات المعطلة يمكن الوصول إلى البيانات الموجودة مرة أخرى للقراءة / الكتابة. |
firebasedatabase.instances.delete | حذف طبعات قاعدة البيانات المعطلة لا يمكن إعادة استخدام أسماء قواعد البيانات المحذوفة. يتم حذف البيانات الموجودة في نسخة قاعدة البيانات المحذوفة نهائيًا بعد 20 يومًا. |
firebasedatabase.instances.undelete | قم بإلغاء حذف طبعة قاعدة البيانات المحذوفة قبل حذف بياناتها نهائيًا يتم حذف البيانات الموجودة في نسخة قاعدة البيانات المحذوفة نهائيًا بعد 20 يومًا من حذف المثيل. |
أذونات Firebase Remote Config
اسم الإذن | وصف |
---|---|
cloudconfig.configs.get | استرجع بيانات Remote Config |
cloudconfig.configs.update | تحديث بيانات التكوين عن بعد |
أذونات Firebase Test Lab
يتطلب Test Lab الوصول إلى حاويات التخزين السحابي ، لذلك يتطلب تكوينًا محددًا للأذونات التي لم يتم تضمينها جميعًا في أدوار Firebase القياسية المحددة مسبقًا . لمنح حق الوصول إلى Test Lab ، استخدم أحد الخيارات التالية:
للاختبارات التي بدأت من وحدة تحكم Firebase
اختبر تطبيقك في مشروع Firebase منفصل مخصص.
أضف الأعضاء الذين يحتاجون إلى الوصول إلى Test Lab ، ثم عيّن لهم أدوار المشروع القديمة باستخدام وحدة تحكم Firebase .
- للسماح لعضو بإجراء الاختبارات باستخدام Test Lab ، قم بتعيين محرر المشروع أو إصدار أعلى.
- للسماح لعضو بعرض نتائج الاختبار في Test Lab ، قم بتعيين عارض المشروع أو أعلى.
للاختبارات التي بدأت من gcloud CLI أو واجهة برمجة تطبيقات الاختبار أو الأجهزة المُدارة من Gradle أثناء استخدام حاوية التخزين السحابي الخاصة بك
قم بتعيين زوج من الأدوار المحددة مسبقًا (والتي تمنح معًا مجموعة الأذونات المطلوبة) باستخدام Google Cloud Console .
للسماح لعضو بإجراء الاختبارات باستخدام Test Lab ، عيّن كلاهما:
- مدير Firebase Test Lab (
roles/cloudtestservice.testAdmin
) - عارض Firebase Analytics (
roles/firebase.analyticsViewer
)
- مدير Firebase Test Lab (
للسماح لعضو بعرض نتائج الاختبار في Test Lab ، قم بتعيين كل من:
- عارض Firebase Test Lab (
roles/cloudtestservice.testViewer
) - عارض Firebase Analytics (
roles/firebase.analyticsViewer
)
- عارض Firebase Test Lab (
اسم الإذن | وصف |
---|---|
cloudtestservice.environmentcatalog.get | استرجع كتالوج بيئات الاختبار المدعومة لمشروع ما |
cloudtestservice.matrices.create | طلب إجراء مصفوفة الاختبارات حسب المواصفات المحددة |
cloudtestservice.matrices.get | استرجع حالة مصفوفة الاختبار |
cloudtestservice.matrices.update | قم بتحديث مصفوفة اختبار غير مكتملة |
cloudtoolresults.executions.list | استرجع قائمة عمليات الإعدام للتاريخ |
cloudtoolresults.executions.get | استرداد تنفيذ موجود |
Cloudtoolresults.executions.create | إنشاء تنفيذ جديد |
cloudtoolresults.executions.update | تحديث تنفيذ موجود |
cloudtoolresults.histories.list | استرجع قائمة التواريخ |
cloudtoolresults.histories.get | استرجاع محفوظات موجودة |
cloudtoolresults.histories.create | إنشاء تاريخ جديد |
cloudtoolresults.settings.create | إنشاء إعدادات نتائج الأداة الجديدة |
cloudtoolresults.settings.get | استرداد إعدادات نتائج الأداة الحالية |
cloudtoolresults.settings.update | تحديث إعدادات نتائج الأداة |
cloudtoolresults.steps.list | استرجع قائمة خطوات التنفيذ |
cloudtoolresults.steps.get | استرجع خطوة موجودة |
Cloudtoolresults.steps.create | قم بإنشاء خطوة جديدة |
Cloudtoolresults.steps.update | قم بتحديث خطوة موجودة |
التكامل مع أذونات الخدمات الخارجية
اسم الإذن | وصف |
---|---|
firebaseextensions.configs.create | إنشاء تكوينات تمديد جديدة للخدمات الخارجية (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebaseextensions.configs.delete | احذف تكوينات الامتداد الحالية للخدمات الخارجية (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebaseextensions.configs.list | استرجع قائمة تكوينات الامتدادات للخدمات الخارجية (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebaseextensions.configs.update | قم بتحديث تكوينات الامتداد الحالية للخدمات الخارجية (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
يتم منح الأذونات لأعضاء مشروعك عبر الأدوار . الدور عبارة عن مجموعة من الأذونات. عند تعيين دور لعضو في المشروع ، فإنك تمنح هذا العضو جميع الأذونات التي يحتوي عليها الدور.
تصف هذه الصفحة الإجراءات التي تم تمكينها بواسطة الأذونات التي قد تجدها مدرجة في دور مدعوم من Firebase. تنقسم هذه الأذونات إلى فئتين:
أذونات إدارة الهوية والوصول المطلوبة (IAM) لجميع الأدوار أو لإجراءات محددة داخل Firebase
الأذونات المطلوبة
تتضمن Firebase IAM أذونات هي:
للحصول على قائمة عامة ووصف للأذونات الخاصة بمنتج أو خدمة Firebase ، راجع القسم المناسب ضمن أذونات IAM الخاصة بمنتج Firebase .
الأذونات المطلوبة متضمنة في جميع الأدوار
الأذونات المدرجة في الجدول التالي مطلوبة لاستخدام أي منتج أو خدمة Firebase.
يتم تضمين هذه الأذونات تلقائيًا في كل من أدوار Firebase المحددة مسبقًا .
إذن | وصف |
---|---|
يمنح أذونات لاسترداد معلومات مشروع Firebase | |
يمنح أذونات لاسترداد معلومات مشروع Firebase | |
يمنح أذونات للتحقق من حالة Google APIs وتشغيل أوامر Firebase CLI |
الأذونات المطلوبة للإجراءات الخاصة بخدمة Firebase
الأذونات المدرجة في الجدول التالي مطلوبة لتنفيذ بعض الإجراءات الخاصة بخدمة Firebase.
عند الحاجة ، يتم تضمين هذه الأذونات تلقائيًا في كل من أدوار Firebase المحددة مسبقًا .
فعل | الإذن المطلوب |
---|---|
الوصول إلى عمليات تكامل مشروع Firebase باستخدام أدوات التعاون (بما في ذلك Slack و Jira و PagerDuty) | firebaseextensions.configs. * |
عرض الاستخدام والتحليلات من StackDriver | مراقبة. timeSeries.list |
قم بتشغيل أوامر Firebase CLI لمزيد من المعلومات ، راجع وثائق Google Cloud حول Runtime Configurator Access . | runtimeconfig. * |
الأذونات المطلوبة للإجراءات الخاصة بإدارة Firebase
الأذونات المدرجة في الجدول التالي هي أذونات إضافية مطلوبة لتنفيذ بعض الإجراءات الخاصة بإدارة Firebase.
إذن الإدارة والإجراءات المرتبطة بها | مطلوب إذن إضافي |
---|---|
firebase.billingPlans.update | |
قم بتغيير خطة الفوترة لمشروع Firebase | resourcemanager.projects.createBillingAssignment resourcemanager.projects.deleteBillingAssignment |
firebase.projects.delete | |
احذف مشروع Firebase | إدارة الموارد. المشاريع. حذف |
firebase.projects.update | |
أضف موارد Firebase إلى مشروع Google Cloud موجود | resourcemanager.projects.get serviceusage.services.enable serviceusage.services.get |
غيّر اسم مشروع Firebase | مدير الموارد |
أضف بصمات شهادة SHA لتطبيقات Android | clientauthconfig.clients.create |
قم بإزالة بصمات شهادة SHA لتطبيقات Android | clientauthconfig.clients.delete |
قم بتحديث معرف متجر التطبيقات أو معرف الفريق لتطبيقات Apple | clientauthconfig.clients.get clientauthconfig.clients.update |
أذونات IAM الخاصة بمنتج Firebase
تسرد الجداول التالية الأذونات الخاصة بمنتج أو خدمة Firebase. يمكنك استخدام هذه الأذونات لإنشاء أدوار مخصصة .
أذونات إدارة Firebase
لاحظ أن بعض أذونات الإدارة التالية تتطلب أذونات إضافية لإجراءات معينة .
اسم الإذن | وصف |
---|---|
firebase.billingPlans.get | استرجع خطة فوترة Firebase الحالية لمشروع ما |
firebase.billingPlans.update | قم بتغيير خطة فوترة Firebase الحالية لمشروع |
firebase.clients.create | أضف تطبيقات جديدة إلى مشروع |
firebase.clients.delete | حذف التطبيقات الموجودة من المشروع |
firebase.clients.get | استرجع التفاصيل والتكوينات للتطبيقات في المشروع |
firebase.clients.list | استرجع قائمة بالتطبيقات في المشروع |
firebase.clients.undelete | قم بإلغاء حذف التطبيق المحذوف قبل حذف بياناته نهائيًا |
firebase.clients.update | تحديث التفاصيل والتكوينات للتطبيقات في المشروع |
firebase.links.create | إنشاء روابط جديدة لأنظمة جوجل (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebase.links.delete | حذف الروابط لأنظمة جوجل (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebase.links.list | استرجع قائمة الروابط لأنظمة Google (وحدة تحكم Firebase> إعدادات المشروع> عمليات التكامل) |
firebase.links.update | Update existing links to Google systems (Firebase console > Project Settings > Integrations) |
firebase.playLinks.get | Retrieve details about a link to Google Play (Firebase console > Project Settings > Integrations > Google Play) |
firebase.playLinks.list | Retrieve a list of links to Google Play (Firebase console > Project Settings > Integrations > Google Play) |
firebase.playLinks.update | Create new links and update existing links to Google Play (Firebase console > Project Settings > Integrations > Google Play) |
firebase.projects.delete | Delete existing projects |
firebase.projects.get | Retrieve details and Firebase resources for a project |
firebase.projects.update | Modify the attributes of an existing project Receive alerts for applicable Firebase products and features ( learn more ) |
firebaseinstallations.instances.delete | Delete a Firebase installation ID and the data tied to that installation ( learn more ) |
Google Analytics permissions
The following permissions grant access to the Analytics property linked to the Firebase project. They allow Firebase project members to access Analytics data, including audiences, user properties, funnels, reports, conversions, etc.
Permission name | Description |
---|---|
firebaseanalytics.resources.googleAnalyticsEdit | By default, grants the Analytics Editor role to the linked Analytics property |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | By default, grants the Analytics Marketer role to the linked Analytics property |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | By default, grants the Analytics Viewer role to the linked Analytics property |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | By default, grants the Analytics Viewer role to the linked Analytics property with no access to revenue data and cost data |
Firebase App Check permissions
Permission name | Description |
---|---|
firebaseappcheck.appAttestConfig.get | Retrieve the App Attest configuration of an app |
firebaseappcheck.appAttestConfig.update | Update the App Attest configuration of an app |
firebaseappcheck.appCheckTokens.verify | Verify App Check tokens issued for a Firebase project |
firebaseappcheck.debugTokens.get | Retrieve debug tokens of an app |
firebaseappcheck.debugTokens.update | Create, update, or delete debug tokens of an app |
firebaseappcheck.deviceCheckConfig.get | Retrieve the DeviceCheck configuration of an app |
firebaseappcheck.deviceCheckConfig.update | Update the DeviceCheck configuration of an app |
firebaseappcheck.playIntegrityConfig.get | Retrieve the Play Integrity configuration of an app |
firebaseappcheck.playIntegrityConfig.update | Update the Play Integrity configuration of an app |
firebaseappcheck.recaptchaEnterpriseConfig.get | Retrieve the reCAPTCHA Enterprise configuration of an app |
firebaseappcheck.recaptchaEnterpriseConfig.update | Update the reCAPTCHA Enterprise configuration of an app |
firebaseappcheck.recaptchaV3Config.get | Retrieve the reCAPTCHA v3 configuration of an app |
firebaseappcheck.recaptchaV3Config.update | Update the reCAPTCHA v3 configuration of an app |
firebaseappcheck.safetyNetConfig.get | Retrieve the SafetyNet configuration of an app |
firebaseappcheck.safetyNetConfig.update | Update the SafetyNet configuration of an app |
firebaseappcheck.services.get | Retrieve service enforcement configurations of a project |
firebaseappcheck.services.update | Update service enforcement configurations of a project |
Firebase App Distribution permissions
Permission name | Description |
---|---|
firebaseappdistro.releases.list | Retrieve a list of existing distributions and Invite Links |
firebaseappdistro.releases.update | Create, delete, and modify distributions Create and delete Invite Links |
firebaseappdistro.testers.list | Retrieve a list of existing testers in a project |
firebaseappdistro.testers.update | Create and delete testers in a project |
firebaseappdistro.groups.list | Retrieve a list of existing tester groups in a project |
firebaseappdistro.groups.update | Create and delete tester groups in a project |
Firebase Authentication permissions
Permission name | Description |
---|---|
firebaseauth.configs.create | Create the Authentication configuration |
firebaseauth.configs.get | Retrieve the Authentication configuration |
firebaseauth.configs.getHashConfig | Get the password hash config and password hash of user accounts |
firebaseauth.configs.getSecret | Get the client secret in the Authentication configuration |
firebaseauth.configs.update | Update the existing Authentication configuration |
firebaseauth.users.create | Create new users in Authentication |
firebaseauth.users.createSession | Create session cookie for a logged-in user |
firebaseauth.users.delete | Delete existing users in Authentication |
firebaseauth.users.get | Retrieve a list of existing Authentication users |
firebaseauth.users.sendEmail | Send emails to the users |
firebaseauth.users.update | Update existing users in Authentication |
Firebase A/B Testing permissions (beta)
Permission name | Description |
---|---|
firebaseabt.experimentresults.get | Retrieve the results of an experiment |
firebaseabt.experiments.create | Create new experiments |
firebaseabt.experiments.delete | Delete existing experiments |
firebaseabt.experiments.get | Retrieve details of an existing experiment |
firebaseabt.experiments.list | Retrieve a list of existing experiments |
firebaseabt.experiments.update | Update an existing experiment |
firebaseabt.projectmetadata.get | Retrieve analytics metadata for setting up an experiment |
Cloud Firestore permissions
For a list and descriptions of Cloud Firestore permissions, refer to the Google Cloud documentation .
Cloud Storage permissions
For a list and descriptions of Cloud Storage permissions, refer to the Google Cloud documentation .
Firebase Security Rules (Cloud Firestore and Cloud Storage) permissions
Permission name | Description |
---|---|
firebaserules.releases.create | Create releases |
firebaserules.releases.delete | Delete releases |
firebaserules.releases.get | Retrieve releases |
firebaserules.releases.getExecutable | Retrieve the binary executable payloads for releases |
firebaserules.releases.list | Retrieve a list of releases |
firebaserules.releases.update | Update ruleset references for releases |
firebaserules.rulesets.create | Create new rulesets |
firebaserules.rulesets.delete | Delete existing ruleset |
firebaserules.rulesets.get | Retrieve rulesets with source |
firebaserules.rulesets.list | Find ruleset metadata (no source) |
firebaserules.rulesets.test | Test sources for correctness |
Cloud Functions for Firebase permissions
For a list and descriptions of Cloud Functions permissions, refer to the IAM documentation .
Be aware that the deployment of functions requires a specific configuration of permissions that aren't included in the standard Firebase predefined roles . To deploy functions, use one of the following options:
Delegate the deployment of functions to a project Owner .
If you're deploying only non-HTTP functions, then a project Editor can deploy your functions.
Delegate deployment of functions to a project member who has the following two roles:
- Cloud Functions Admin role (
roles/cloudfunctions.admin
) - Service Account User role (
roles/iam.serviceAccountUser
)
A project Owner can assign these roles to a project member using the Google Cloud Console or gcloud CLI . For detailed steps and security implications for this role configuration, refer to the IAM documentation .
- Cloud Functions Admin role (
Firebase messaging campaigns permissions
These permissions apply to campaigns for Firebase Cloud Messaging and Firebase In-App Messaging.
Permission name | Description |
---|---|
firebasemessagingcampaigns.campaigns.create | Create new campaigns |
firebasemessagingcampaigns.campaigns.delete | Delete existing campaigns |
firebasemessagingcampaigns.campaigns.get | Retrieve details of existing campaigns |
firebasemessagingcampaigns.campaigns.list | Retrieve a list of existing campaigns |
firebasemessagingcampaigns.campaigns.update | Update existing campaigns |
firebasemessagingcampaigns.campaigns.start | Start existing campaigns |
firebasemessagingcampaigns.campaigns.stop | Update existing campaigns |
Firebase Cloud Messaging permissions
Permission name | Description |
---|---|
cloudmessaging.messages.create | Send notifications and data messages through the FCM HTTP API and Admin SDK |
Permission name | Description |
---|---|
firebasenotifications.messages.create | Create new messages in the Notifications composer |
firebasenotifications.messages.delete | Delete existing messages in the Notifications composer |
firebasenotifications.messages.get | Retrieve details of existing messages in the Notifications composer |
firebasenotifications.messages.list | Retrieve a list of existing messages in the Notifications composer |
firebasenotifications.messages.update | Update existing messages in the Notifications composer |
Firebase Crashlytics permissions
Permission name | Description |
---|---|
firebasecrashlytics.config.get | Retrieve Crashlytics configuration settings |
firebasecrashlytics.config.update | Update Crashlytics configuration settings |
firebasecrashlytics.data.get | Retrieve metrics associated with Crashlytics issues and sessions |
firebasecrashlytics.issues.get | Retrieve details about Crashlytics issues, including notes attached to issues |
firebasecrashlytics.issues.list | Retrieve a list of Crashlytics issues |
firebasecrashlytics.issues.update | Open, close, and mute existing Crashlytics issues Update notes attached to issues |
firebasecrashlytics.sessions.get | Retrieve details about Crashlytics crash sessions |
Permission name | Description |
---|---|
firebasecrash.issues.update | Update existing Crashlytics issues, create notes on issues, and set velocity alerts |
firebasecrash.reports.get | Retrieve existing Crashlytics reports |
Firebase Dynamic Links permissions
Permission name | Description |
---|---|
firebasedynamiclinks.domains.create | Create new Dynamic Links domains |
firebasedynamiclinks.domains.delete | Delete existing Dynamic Links domains |
firebasedynamiclinks.domains.get | Retrieve details of existing Dynamic Links domains |
firebasedynamiclinks.domains.list | Retrieve a list of existing Dynamic Links domains |
firebasedynamiclinks.domains.update | Update existing Dynamic Links domains |
firebasedynamiclinks.links.create | Create new Dynamic Links |
firebasedynamiclinks.links.get | Retrieve details of existing Dynamic Links |
firebasedynamiclinks.links.list | Retrieve a list of existing Dynamic Links |
firebasedynamiclinks.links.update | Update existing Dynamic Links |
firebasedynamiclinks.stats.get | Retrieve Dynamic Links statistics |
firebasedynamiclinks.destinations.list | Retrieve existing Dynamic Links destinations |
firebasedynamiclinks.destinations.update | Update existing Dynamic Links destinations |
Firebase Extensions publishing permissions
Permission name | Description |
---|---|
firebaseextensionspublisher.extensions.create | Upload new versions of an extension |
firebaseextensionspublisher.extensions.delete | Delete or deprecate versions of an extension |
firebaseextensionspublisher.extensions.get | Retrieve details about an extension version |
firebaseextensionspublisher.extensions.list | List all extension versions uploaded by this publisher project |
Firebase Hosting permissions
Permission name | Description |
---|---|
firebasehosting.sites.create | Create new Hosting resources for a Firebase project |
firebasehosting.sites.delete | Delete existing Hosting resources for a Firebase project |
firebasehosting.sites.get | Retrieve details of an existing Hosting resources for a Firebase project |
firebasehosting.sites.list | Retrieve a list of Hosting resources for a Firebase project |
firebasehosting.sites.update | Update existing Hosting resources for a Firebase project |
Firebase In-App Messaging permissions (beta)
Permission name | Description |
---|---|
firebaseinappmessaging.campaigns.create | Create new campaigns |
firebaseinappmessaging.campaigns.delete | Delete existing campaigns |
firebaseinappmessaging.campaigns.get | Retrieve details of existing campaigns |
firebaseinappmessaging.campaigns.list | Retrieve a list of existing campaigns |
firebaseinappmessaging.campaigns.update | Update existing campaigns |
Firebase ML permissions (beta)
Permission name | Description |
---|---|
firebaseml.models.create | Create new ML models |
firebaseml.models.update | Update existing ML models |
firebaseml.models.delete | Delete existing ML models |
firebaseml.models.get | Retrieve details of existing ML models |
firebaseml.models.list | Retrieve a list of existing ML models |
firebaseml.modelversions.create | Create new model versions |
firebaseml.modelversions.get | Retrieve details of existing model versions |
firebaseml.modelversions.list | Retrieve a list of existing model versions |
firebaseml.modelversions.update | Update existing model versions |
Firebase Performance Monitoring permissions
Permission name | Description |
---|---|
firebaseperformance.config.create | Create new issue threshold configurations |
firebaseperformance.config.delete | Delete existing issue threshold configurations |
firebaseperformance.config.update | Modify alert and existing issue threshold configurations |
firebaseperformance.data.get | View all performance data and issue threshold values |
Firebase Realtime Database permissions
Permission name | Description |
---|---|
firebasedatabase.instances.create | Create new database instances |
firebasedatabase.instances.get | Retrieve the metadata of existing database instances Read-only access to the data in an existing database instance |
firebasedatabase.instances.list | Retrieve a list of existing database instances |
firebasedatabase.instances.update | Full read and write access to the data in existing database instances Enable and disable database instances Retrieve and modify security rules for existing database instances |
firebasedatabase.instances.disable | Disable active database instances Existing data is kept but is not accessible for reads/writes. |
firebasedatabase.instances.reenable | Re-enable disabled database instances Existing data is again accessible for reads/writes. |
firebasedatabase.instances.delete | Delete disabled database instances Deleted database names cannot be reused. The data in a deleted database instance is permanently deleted after 20 days. |
firebasedatabase.instances.undelete | Undelete a deleted database instance before its data is permanently deleted The data in a deleted database instance is permanently deleted 20 days after the instance is deleted. |
Firebase Remote Config permissions
Permission name | Description |
---|---|
cloudconfig.configs.get | Retrieve Remote Config data |
cloudconfig.configs.update | Update Remote Config data |
Firebase Test Lab permissions
Test Lab requires access to Cloud Storage buckets, so it requires a specific configuration of permissions that aren't all included in the standard Firebase predefined roles . To grant access to Test Lab, use one of the following options:
For tests started from Firebase console
Test your app in a dedicated separate Firebase project.
Add members who need Test Lab access, then assign them legacy project roles using the Firebase console .
- To allow a member to run tests with Test Lab, assign project Editor or above.
- To allow a member to view test results in Test Lab, assign project Viewer or above.
For tests started from the gcloud CLI , the Testing API , or Gradle Managed Devices while using your own Cloud Storage bucket
Assign a pair of predefined roles (which together grant the required set of permissions) using the Google Cloud Console .
To allow a member to run tests with Test Lab, assign both:
- Firebase Test Lab Admin (
roles/cloudtestservice.testAdmin
) - Firebase Analytics Viewer (
roles/firebase.analyticsViewer
)
- Firebase Test Lab Admin (
To allow a member to view test results in Test Lab, assign both:
- Firebase Test Lab Viewer (
roles/cloudtestservice.testViewer
) - Firebase Analytics Viewer (
roles/firebase.analyticsViewer
)
- Firebase Test Lab Viewer (
Permission name | Description |
---|---|
cloudtestservice.environmentcatalog.get | Retrieve the catalog of supported test environments for a project |
cloudtestservice.matrices.create | Request to run a matrix of tests according to the given specifications |
cloudtestservice.matrices.get | Retrieve the status of a test matrix |
cloudtestservice.matrices.update | Update an unfinished test matrix |
cloudtoolresults.executions.list | Retrieve a list of Executions for a History |
cloudtoolresults.executions.get | Retrieve an existing Execution |
cloudtoolresults.executions.create | Create a new Execution |
cloudtoolresults.executions.update | Update an existing Execution |
cloudtoolresults.histories.list | Retrieve a list of Histories |
cloudtoolresults.histories.get | Retrieve an existing History |
cloudtoolresults.histories.create | Create a new History |
cloudtoolresults.settings.create | Create new tool results settings |
cloudtoolresults.settings.get | Retrieve existing tool results settings |
cloudtoolresults.settings.update | Update tool results settings |
cloudtoolresults.steps.list | Retrieve a list of Steps for an Execution |
cloudtoolresults.steps.get | Retrieve an existing Step |
cloudtoolresults.steps.create | Create a new Step |
cloudtoolresults.steps.update | Update an existing Step |
Integrations with external services permissions
Permission name | Description |
---|---|
firebaseextensions.configs.create | Create new extension configurations for external services (Firebase console > Project Settings > Integrations) |
firebaseextensions.configs.delete | Delete existing extension configurations for external services (Firebase console > Project Settings > Integrations) |
firebaseextensions.configs.list | Retrieve a list of extension configurations for external services (Firebase console > Project Settings > Integrations) |
firebaseextensions.configs.update | Update existing extension configurations for external services (Firebase console > Project Settings > Integrations) |