These roles grant full read/write or read-only access to groups of products.
They are structured around Google Analytics and general product
categories.

Assign these product-category roles to project members using the
[Firebase console](https://console.firebase.google.com/project/_/settings/iam)
or the
[Google Cloud console](https://console.cloud.google.com/iam-admin/iam).

> [!NOTE]
> **Note:** If you want more granular predefined roles for your project members, you can assign [product-level roles](https://firebase.google.com/docs/projects/iam/roles-predefined-product.md.txt).

## Firebase Analytics roles

| Role | Description | Permissions |
|---|---|---|
| **Firebase Analytics Admin** `roles/firebase.analyticsAdmin` | **Full read/write access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) | **Firebase Analytics Admin** permissions firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get firebase.projects.list firebaseanalytics.resources.googleAnalyticsEdit firebaseanalytics.resources.googleAnalyticsReadAndAnalyze firebaseextensions.configs.get firebaseextensions.configs.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list |
| **Firebase Analytics Viewer** `roles/firebase.analyticsViewer` | **Read-only access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) | **Firebase Analytics Viewer** permissions firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get firebase.projects.list firebaseanalytics.resources.googleAnalyticsReadAndAnalyze firebaseextensions.configs.get firebaseextensions.configs.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list |

## Firebase Develop roles

| Role | Description | Permissions |
|---|---|---|
| **Firebase Develop Admin** `roles/firebase.developAdmin` | **Full read/write access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) - [Firebase App Check](https://firebase.google.com/docs/projects/iam/permissions.md.txt#app-check) - [Firebase App Hosting](https://firebase.google.com/docs/projects/iam/permissions.md.txt#app-hosting) - [Firebase Authentication](https://firebase.google.com/docs/projects/iam/permissions.md.txt#auth) - [Firebase Realtime Database](https://firebase.google.com/docs/projects/iam/permissions.md.txt#realtime-database) - [Cloud Firestore](https://cloud.google.com/datastore/docs/access/iam#permissions) - [Cloud Storage for Firebase](https://cloud.google.com/storage/docs/access-control/iam-permissions) - [Firebase Hosting](https://firebase.google.com/docs/projects/iam/permissions.md.txt#hosting) - [Cloud Functions for Firebase](https://cloud.google.com/functions/docs/reference/iam/permissions) (deploying functions requires [special configuration](https://firebase.google.com/docs/projects/iam/permissions.md.txt#functions)) - [Firebase ML](https://firebase.google.com/docs/projects/iam/permissions.md.txt#ml-kit) | **Firebase Develop Admin** permissions apikeys.keys.get apikeys.keys.list apikeys.keys.lookup appengine.applications.get automl.\* clientauthconfig.brands.get clientauthconfig.brands.list clientauthconfig.brands.update clientauthconfig.clients.get clientauthconfig.clients.list cloudfunctions.\* datastore.\* errorreporting.groups.list firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get firebaseanalytics.resources.googleAnalyticsEdit firebaseanalytics.resources.googleAnalyticsReadAndAnalyze firebaseappcheck.\* firebaseapphosting.\* firebaseauth.\* firebasedatabase.\* firebaseextensions.configs.list firebasehosting.\* firebaseinstallations.instances.delete firebaseml.\* firebaserules.\* logging.logEntries.list monitoring.timeSeries.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list runtimeconfig.\* serviceusage.operations.get serviceusage.operations.list serviceusage.quotas.get serviceusage.services.get serviceusage.services.list storage.\* |
| **Firebase Develop Viewer** `roles/firebase.developViewer` | **Read-only access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) - [Firebase App Check](https://firebase.google.com/docs/projects/iam/permissions.md.txt#app-check) - [Firebase App Hosting](https://firebase.google.com/docs/projects/iam/permissions.md.txt#app-hosting) - [Firebase Authentication](https://firebase.google.com/docs/projects/iam/permissions.md.txt#auth) - [Firebase Realtime Database](https://firebase.google.com/docs/projects/iam/permissions.md.txt#realtime-database) - [Cloud Firestore](https://cloud.google.com/datastore/docs/access/iam#permissions) - [Cloud Storage for Firebase](https://cloud.google.com/storage/docs/access-control/iam-permissions) - [Firebase Hosting](https://firebase.google.com/docs/projects/iam/permissions.md.txt#hosting) - [Cloud Functions for Firebase](https://cloud.google.com/functions/docs/reference/iam/permissions) - [Firebase ML](https://firebase.google.com/docs/projects/iam/permissions.md.txt#ml-kit) | **Firebase Develop Viewer** permissions apikeys.keys.get apikeys.keys.list automl.\*.get automl.\*.list clientauthconfig.brands.get clientauthconfig.brands.list cloudfunctions.functions.get cloudfunctions.functions.list cloudfunctions.locations.list cloudfunctions.operations.get cloudfunctions.operations.list datastore.backups.get datastore.backups.list datastore.databases.get datastore.database.getMetadata datastore.databases.getIamPolicy datastore.databases.list datastore.entities.get datastore.entities.list datastore.indexes.get datastore.indexes.list datastore.namespaces.get datastore.namespaces.getIamPolicy datastore.namespaces.list datastore.statistics.get datastore.statistics.list errorreporting.groups.list firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get firebaseanalytics.resources.googleAnalyticsReadAndAnalyze firebaseappcheck.appAttestConfig.get firebaseappcheck.debugTokens.get firebaseappcheck.deviceCheckConfig.get firebaseappcheck.playIntegrityConfig.get firebaseappcheck.recaptchaEnterpriseConfig.get firebaseappcheck.recaptchaV3Config.get firebaseappcheck.safetyNetConfig.get firebaseappcheck.services.get firebaseapphosting.backends.get firebaseapphosting.backends.list firebaseapphosting.builds.get firebaseapphosting.builds.list firebaseapphosting.domains.get firebaseapphosting.domains.list firebaseapphosting.rollouts.get firebaseapphosting.rollouts.list firebaseapphosting.traffic.get firebaseapphosting.traffic.list firebaseauth.configs.get firebaseauth.users.get firebasedatabase.instances.get firebasedatabase.instances.list firebaseextensions.configs.list firebasehosting.sites.get firebasehosting.sites.list firebaseml.compressionjobs.get firebaseml.compressionjobs.list firebaseml.models.get firebaseml.models.list firebaseml.modelversions.get firebaseml.modelversions.list firebaserules.releases.get firebaserules.releases.list firebaserules.rulesets.get firebaserules.rulesets.list logging.logEntries.list monitoring.timeSeries.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list serviceusage.operations.get serviceusage.operations.list serviceusage.quotas.get serviceusage.services.get serviceusage.services.list storage.buckets.get storage.buckets.getIamPolicy storage.buckets.list storage.objects.get storage.objects.getIamPolicy storage.objects.list |

## Firebase Quality roles

| Role | Description | Permissions |
|---|---|---|
| **Firebase Quality Admin** `roles/firebase.qualityAdmin` | **Full read/write access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) - [Firebase App Distribution](https://firebase.google.com/docs/projects/iam/permissions.md.txt#app-distro) - [Firebase Crashlytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#crashlytics) - [Firebase Performance Monitoring](https://firebase.google.com/docs/projects/iam/permissions.md.txt#performance) | **Firebase Quality Admin** permissions apikeys.keys.get apikeys.keys.list firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get [firebaseanalytics.\*](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) [firebaseappdistro.\*](https://firebase.google.com/docs/projects/iam/permissions.md.txt#app-distro) [firebasecrash.\*](https://firebase.google.com/docs/projects/iam/permissions.md.txt#crashlytics) [firebasecrashlytics.\*](https://firebase.google.com/docs/projects/iam/permissions.md.txt#crashlytics) firebaseextensions.configs.list [firebaseperformance.\*](https://firebase.google.com/docs/projects/iam/permissions.md.txt#performance) monitoring.timeSeries.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list serviceusage.operations.get serviceusage.operations.list serviceusage.quotas.get serviceusage.services.get serviceusage.services.list |
| **Firebase Quality Viewer** `roles/firebase.qualityViewer` | **Read-only access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) - [Firebase App Distribution](https://firebase.google.com/docs/projects/iam/permissions.md.txt#app-distro) - [Firebase Crashlytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#crashlytics) - [Firebase Performance Monitoring](https://firebase.google.com/docs/projects/iam/permissions.md.txt#performance) | **Firebase Quality Viewer** permissions apikeys.keys.get apikeys.keys.list firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get firebaseanalytics.resources.googleAnalyticsReadAndAnalyze firebaseappdistro.groups.list firebaseappdistro.releases.list firebaseappdistro.testers.list firebasecrash.reports.get firebasecrashlytics.config.get firebasecrashlytics.data.get firebasecrashlytics.issues.get firebasecrashlytics.issues.list firebasecrashlytics.sessions.get firebaseextensions.configs.list firebaseperformance.data.get monitoring.timeSeries.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list serviceusage.operations.get serviceusage.operations.list serviceusage.quotas.get serviceusage.services.get serviceusage.services.list |

> [!NOTE]
> **Note:** **Access to
> Test Lab is not included in the Firebase Quality predefined roles.** Test Lab requires access to Cloud Storage buckets, so it requires a very specific set of permissions that aren't all included in the standard [Firebase predefined roles](https://firebase.google.com/docs/projects/iam/roles-predefined.md.txt). To grant access to Test Lab, use one of the solutions described in the [Firebase Test Lab
> permissions](https://firebase.google.com/docs/projects/iam/permissions#test-lab) section.

## Firebase Grow roles

| Role | Description | Permissions |
|---|---|---|
| **Firebase Grow Admin** `roles/firebase.growthAdmin` | **Full read/write access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) - [Firebase A/B Testing](https://firebase.google.com/docs/projects/iam/permissions.md.txt#ab-testing) - [Firebase messaging campaigns](https://firebase.google.com/docs/projects/iam/permissions.md.txt#messaging-campaigns) - [Firebase Cloud Messaging](https://firebase.google.com/docs/projects/iam/permissions.md.txt#messaging) - [Firebase In-App Messaging](https://firebase.google.com/docs/projects/iam/permissions.md.txt#inapp-messaging) - [Firebase Remote Config](https://firebase.google.com/docs/projects/iam/permissions.md.txt#remote-config) - [Firebase Dynamic Links](https://firebase.google.com/docs/projects/iam/permissions.md.txt#dynamic-links) | **Firebase Grow Admin** permissions apikeys.keys.get apikeys.keys.list clientauthconfig.clients.get clientauthconfig.clients.list cloudconfig.\* cloudmessaging.messages.create cloudmessaging.topicSubscriptions.create cloudmessaging.topicSubscriptions.delete cloudmessaging.topicSubscriptions.get cloudmessaging.topicSubscriptions.list cloudmessaging.topicSubscriptions.update firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get firebaseabt.\* firebaseanalytics.resources.googleAnalyticsEdit firebaseanalytics.resources.googleAnalyticsReadAndAnalyze firebasedynamiclinks.\* firebaseextensions.configs.list firebaseinappmessaging.\* firebasemessagingcampaigns.\* firebasenotifications.\* monitoring.timeSeries.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list serviceusage.operations.get serviceusage.operations.list serviceusage.quotas.get serviceusage.services.get serviceusage.services.list |
| **Firebase Grow Viewer** `roles/firebase.growthViewer` | **Read-only access to:** - [Google Analytics](https://firebase.google.com/docs/projects/iam/permissions.md.txt#analytics) - [Firebase A/B Testing](https://firebase.google.com/docs/projects/iam/permissions.md.txt#ab-testing) - [Firebase messaging campaigns](https://firebase.google.com/docs/projects/iam/permissions.md.txt#messaging-campaigns) - [Firebase Cloud Messaging](https://firebase.google.com/docs/projects/iam/permissions.md.txt#messaging) - [Firebase In-App Messaging](https://firebase.google.com/docs/projects/iam/permissions.md.txt#inapp-messaging) - [Firebase Remote Config](https://firebase.google.com/docs/projects/iam/permissions.md.txt#remote-config) - [Firebase Dynamic Links](https://firebase.google.com/docs/projects/iam/permissions.md.txt#dynamic-links) | **Firebase Grow Viewer** permissions apikeys.keys.get apikeys.keys.list cloudconfig.configs.get cloudmessaging.topicSubscriptions.get cloudmessaging.topicSubscriptions.list firebase.billingPlans.get firebase.clients.get firebase.clients.list firebase.links.list firebase.playLinks.get firebase.playLinks.list firebase.projects.get firebaseabt.experimentresults.get firebaseabt.experiments.get firebaseabt.experiments.list firebaseabt.projectmetadata.get firebaseanalytics.resources.googleAnalyticsReadAndAnalyze firebasedynamiclinks.domains.get firebasedynamiclinks.domains.list firebasedynamiclinks.destinations.list firebasedynamiclinks.links.get firebasedynamiclinks.links.list firebasedynamiclinks.stats.get firebaseextensions.configs.list firebaseinappmessaging.campaigns.get firebaseinappmessaging.campaigns.list firebasemessagingcampaigns.campaigns.get firebasemessagingcampaigns.campaigns.list firebasenotifications.messages.get firebasenotifications.messages.list monitoring.timeSeries.list resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.list serviceusage.operations.get serviceusage.operations.list serviceusage.quotas.get serviceusage.services.get serviceusage.services.list |