Permisos de Firebase IAM

Los permisos se otorgan a los miembros de los proyectos a través de las funciones. Un rol es un conjunto de permisos y cuando asignas uno a un miembro del proyecto, le otorgas todos los permisos que este conlleva.

En esta página, se describen las acciones que permiten realizar los permisos y que puedes encontrar en los roles compatibles con Firebase. Estos permisos se dividen en dos categorías:

Permisos necesarios

Firebase IAM incluye los permisos necesarios para realizar las siguientes acciones:

Consulta la sección correspondiente de Permisos de IAM de productos específicos de Firebase a fin de ver una lista general con descripciones de los permisos específicos de los productos o servicios de Firebase.

Permisos necesarios incluidos en todos los roles

En la siguiente tabla, se muestran los permisos que son obligatorios para usar cualquier producto o servicio de Firebase.

Los roles predefinidos de Firebase incluyen automáticamente estos permisos.

Permiso Descripción
Otorga permisos para recuperar la información del proyecto de Firebase
Otorga permisos para recuperar la información del proyecto de Firebase
Otorga permisos para verificar el estado de las API de Google y ejecutar comandos de Firebase CLI

Permisos necesarios para acciones específicas de los servicios de Firebase

En la siguiente tabla se muestran los permisos necesarios para realizar algunas acciones específicas de los servicios de Firebase.

Los roles predefinidos de Firebase incluyen estos permisos de manera automática cuando es necesario.

Acción Permiso necesario
Acceder a integraciones del proyecto de Firebase con herramientas de colaboración (como Slack, Jira y PagerDuty) firebaseextensions.configs.*
Ver el uso y las estadísticas de Stackdriver monitoring.timeSeries.list
Ejecuta comandos de Firebase CLI
Si quieres obtener más detalles, consulta la documentación de Google Cloud sobre el acceso de Runtime Configurator.
runtimeconfig.*

Permisos necesarios para acciones específicas de la administración de Firebase

Los permisos que se muestran en la siguiente tabla son adicionales y necesarios para realizar algunas acciones específicas de la administración de Firebase.

Permiso de administración y acciones asociadas Permiso adicional obligatorio
firebase.billingPlans.update
Cambiar el plan de facturación de un proyecto de Firebase resourcemanager.projects.createBillingAssignment
resourcemanager.projects.deleteBillingAssignment
firebase.projects.delete
Borrar un proyecto de Firebase resourcemanager.projects.delete
firebase.projects.update
Agregar recursos de Firebase a un proyecto de Google Cloud existente resourcemanager.projects.get
serviceusage.services.enable
serviceusage.services.get
Cambiar el nombre de un proyecto de Firebase resourcemanager.projects.update
Agregar las huellas digitales del certificado de SHA en las apps para Android clientauthconfig.clients.create
Quitar las huellas digitales del certificado de SHA en las apps para Android clientauthconfig.clients.delete
Actualizar el ID de la App Store o el ID de equipo en las apps para Apple clientauthconfig.clients.get
clientauthconfig.clients.update

Permisos de IAM de productos específicos de Firebase

En las siguientes tablas se muestran los permisos específicos para los productos o servicios de Firebase. Puedes usarlos para crear roles personalizados.

Permisos de administración de Firebase

Ten en cuenta que algunos de los siguientes permisos de administración requieren permisos adicionales para determinadas acciones.

Nombre del permiso Descripción
firebase.billingPlans.get Recuperar el plan de facturación actual de Firebase de un proyecto
firebase.billingPlans.update Modificar el plan de facturación actual de Firebase de un proyecto
firebase.clients.create Agregar apps nuevas a un proyecto
firebase.clients.delete Borrar las apps existentes de un proyecto
firebase.clients.get Recuperar detalles y configuraciones de las apps de un proyecto
firebase.clients.list Recuperar una lista de las apps de un proyecto
firebase.clients.undelete Recuperar una aplicación eliminada antes de que sus datos se borren de forma permanente
firebase.clients.update Actualizar detalles y configuraciones de las apps de un proyecto
firebase.links.create Crear vínculos nuevos a los sistemas de Google
(Firebase console > Configuración del proyecto > Integraciones)
firebase.links.delete Borrar vínculos a los sistemas de Google
(Firebase console > Configuración del proyecto > Integraciones)
firebase.links.list Recuperar una lista de vínculos a los sistemas de Google
(Firebase console > Configuración del proyecto > Integraciones)
firebase.links.update Actualizar los vínculos existentes a los sistemas de Google
(Firebase console > Configuración del proyecto > Integraciones)
firebase.playLinks.get Recuperar detalles sobre un vínculo a Google Play
(Firebase console > Configuración del proyecto > Integraciones > Google Play)
firebase.playLinks.list Recuperar una lista de vínculos a Google Play
(Firebase console > Configuración del proyecto > Integraciones > Google Play)
firebase.playLinks.update Crear vínculos nuevos y actualizar los existentes a Google Play
(Firebase console > Configuración del proyecto > Integraciones > Google Play)
firebase.projects.delete Borrar proyectos existentes
firebase.projects.get Recuperar los recursos de Firebase y los detalles de un proyecto
firebase.projects.update Modificar los atributos de un proyecto existente
Recibir alertas sobre las funciones y los productos de Firebase aplicables (más información)
firebaseinstallations.instances.delete Borrar un ID de instalación de Firebase y los datos vinculados a esa instalación (más información)

Permisos de Google Analytics

Los siguientes permisos otorgan acceso a la propiedad de Analytics vinculada al proyecto de Firebase. Permiten que los miembros del proyecto de Firebase accedan a los datos de Analytics, incluidos los públicos, las propiedades del usuario, los embudos, los informes, las conversiones, etcétera.

Nombre del permiso Descripción
firebaseanalytics.resources.googleAnalyticsEdit De forma predeterminada, otorga el rol de Editor de Analytics a la propiedad vinculada de Analytics.
firebaseanalytics.resources.googleAnalyticsAdditionalAccess De forma predeterminada, otorga el rol de Especialista en marketing de Analytics a la propiedad vinculada de Analytics.
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze De forma predeterminada, otorga el rol de Visualizador de Analytics a la propiedad vinculada de Analytics.
firebaseanalytics.resources.googleAnalyticsRestrictedAccess De forma predeterminada, otorga el rol de Visualizador de Analytics a la propiedad vinculada de Analytics sin acceso a los datos de ingresos y de costos.

Permisos de la Verificación de aplicaciones de Firebase

Nombre del permiso Descripción
firebaseappcheck.appAttestConfig.get Recupera la configuración de App Attest de una app
firebaseappcheck.appAttestConfig.update Actualiza la configuración de App Attest de una app
firebaseappcheck.appCheckTokens.verify Verifica los tokens de la Verificación de aplicaciones que se emitieron para un proyecto de Firebase
firebaseappcheck.debugTokens.get Recupera tokens de depuración de una app
firebaseappcheck.debugTokens.update Crea, actualiza o borra tokens de depuración de una app
firebaseappcheck.deviceCheckConfig.get Recupera la configuración de DeviceCheck de una app
firebaseappcheck.deviceCheckConfig.update Actualiza la configuración de DeviceCheck de una app
firebaseappcheck.playIntegrityConfig.get Recupera la configuración de Play Integrity de una app
firebaseappcheck.playIntegrityConfig.update Actualiza la configuración de Play Integrity de una app
firebaseappcheck.recaptchaEnterpriseConfig.get Recupera la configuración de reCAPTCHA Enterprise de una app
firebaseappcheck.recaptchaEnterpriseConfig.update Actualiza la configuración de reCAPTCHA Enterprise de una app
firebaseappcheck.recaptchaV3Config.get Recupera la configuración de reCAPTCHA v3 de una app
firebaseappcheck.recaptchaV3Config.update Actualiza la configuración de reCAPTCHA v3 de una app
firebaseappcheck.safetyNetConfig.get Recupera la configuración de SafetyNet de una app
firebaseappcheck.safetyNetConfig.update Actualiza la configuración de SafetyNet de una app
firebaseappcheck.services.get Recupera la configuración de aplicación de servicios de un proyecto
firebaseappcheck.services.update Actualiza parámetros de configuración de aplicación de servicios de un proyecto

Permisos de Firebase App Distribution

Nombre del permiso Descripción
firebaseappdistro.releases.list Recuperar una lista de distribuciones existentes y vínculos de invitación
firebaseappdistro.releases.update Crear, borrar y modificar distribuciones
Crear y borrar vínculos de invitación
firebaseappdistro.testers.list Recuperar una lista de verificadores existentes en un proyecto
firebaseappdistro.testers.update Crear y borrar verificadores en un proyecto
firebaseappdistro.groups.list Recuperar una lista de grupos de verificadores existentes en un proyecto
firebaseappdistro.groups.update Crear y borrar grupos de verificadores en un proyecto

Permisos de Firebase Authentication

Nombre del permiso Descripción
firebaseauth.configs.create Crear la configuración de Authentication
firebaseauth.configs.get Recuperar la configuración de Authentication
firebaseauth.configs.getHashConfig Obtener la configuración de hash de contraseñas y los hash de las contraseñas de las cuentas de los usuarios
firebaseauth.configs.getSecret Obtener el secreto de cliente en la configuración de Authentication
firebaseauth.configs.update Actualizar la configuración actual de Authentication
firebaseauth.users.create Crear usuarios nuevos en Authentication
firebaseauth.users.createSession Crear la cookie de sesión de un usuario autenticado
firebaseauth.users.delete Borrar los usuarios existentes de Authentication
firebaseauth.users.get Recuperar una lista de los usuarios existentes de Authentication
firebaseauth.users.sendEmail Enviar correos electrónicos a los usuarios
firebaseauth.users.update Actualizar los usuarios existentes de Authentication

Permisos de Firebase A/B Testing (beta)

Nombre del permiso Descripción
firebaseabt.experimentresults.get Recuperar los resultados de un experimento
firebaseabt.experiments.create Crear experimentos nuevos
firebaseabt.experiments.delete Borrar experimentos existentes
firebaseabt.experiments.get Recuperar los detalles de un experimento existente
firebaseabt.experiments.list Recuperar una lista de experimentos existentes
firebaseabt.experiments.update Actualizar experimentos existentes
firebaseabt.projectmetadata.get Recuperar los metadatos de estadísticas para configurar un experimento

Permisos de Cloud Firestore

Consulta la documentación de Google Cloud para obtener una lista con descripciones de los permisos de Cloud Firestore.

Permisos de Cloud Storage

Consulta la documentación de Google Cloud para obtener una lista con descripciones de los permisos de Cloud Storage.

Permisos de reglas de seguridad de Firebase (Cloud Firestore y Cloud Storage)

Nombre del permiso Descripción
firebaserules.releases.create Crear actualizaciones
firebaserules.releases.delete Borrar actualizaciones
firebaserules.releases.get Recuperar actualizaciones
firebaserules.releases.getExecutable Recuperar las cargas útiles ejecutables de los objetos binarios de las actualizaciones
firebaserules.releases.list Recuperar una lista de actualizaciones
firebaserules.releases.update Actualizar las referencias del conjunto de reglas de las actualizaciones
firebaserules.rulesets.create Crear conjuntos de reglas nuevos
firebaserules.rulesets.delete Borrar el conjunto de reglas existente
firebaserules.rulesets.get Recuperar conjuntos de reglas (con fuentes)
firebaserules.rulesets.list Buscar los metadatos de los conjuntos de reglas (sin fuentes)
firebaserules.rulesets.test Probar la precisión de las fuentes

Permisos de Cloud Functions para Firebase

Para obtener una lista con descripciones de los permisos de Cloud Functions, consulta la documentación de IAM.

Ten en cuenta que la implementación de funciones requiere una configuración específica de permisos que no se incluyen en los roles predefinidos estándar de Firebase. Usa una de las siguientes opciones para implementar las funciones:

Permisos de las campañas de Firebase Messaging

Estos permisos se aplican a las campañas de Firebase Cloud Messaging y Firebase In-App Messaging.

Nombre del permiso Descripción
firebasemessagingcampaigns.campaigns.create Crear campañas nuevas
firebasemessagingcampaigns.campaigns.delete Borrar campañas existentes
firebasemessagingcampaigns.campaigns.get Recuperar los detalles de las campañas existentes
firebasemessagingcampaigns.campaigns.list Recuperar una lista de las campañas existentes
firebasemessagingcampaigns.campaigns.update Actualizar campañas existentes
firebasemessagingcampaigns.campaigns.start Iniciar campañas existentes
firebasemessagingcampaigns.campaigns.stop Actualizar campañas existentes

Permisos de Firebase Cloud Messaging

Nombre del permiso Descripción
cloudmessaging.messages.create Enviar notificaciones y mensajes de datos a través de la API de HTTP para FCM y el SDK de Admin
Nombre del permiso Descripción
firebasenotifications.messages.create Crear mensajes nuevos en el Compositor de Notifications
firebasenotifications.messages.delete Borrar mensajes existentes en el Compositor de Notifications
firebasenotifications.messages.get Recuperar detalles de mensajes existentes en el Compositor de Notifications
firebasenotifications.messages.list Recuperar una lista de los mensajes existentes en el Compositor de Notifications
firebasenotifications.messages.update Actualizar los mensajes existentes en el Compositor de Notifications

Permisos de Firebase Crashlytics

Nombre del permiso Descripción
firebasecrashlytics.config.get Recuperar los ajustes de configuración de Crashlytics
firebasecrashlytics.config.update Actualizar los ajustes de configuración de Crashlytics
firebasecrashlytics.data.get Recuperar métricas asociadas con problemas y sesiones de Crashlytics
firebasecrashlytics.issues.get Recuperar detalles sobre los problemas de Crashlytics, incluidas las notas adjuntas a ellos
firebasecrashlytics.issues.list Recuperar una lista de problemas de Crashlytics
firebasecrashlytics.issues.update Abrir, cerrar y silenciar problemas existentes de Crashlytics.
Actualizar las notas adjuntas a ellos
firebasecrashlytics.sessions.get Recuperar detalles sobre las sesiones de fallas de Crashlytics
Nombre del permiso Descripción
firebasecrash.issues.update Actualizar los problemas existentes de Crashlytics, crear notas sobre los problemas y configurar las alertas de velocidad
firebasecrash.reports.get Recuperar los informes de Crashlytics existentes
Nombre del permiso Descripción
firebasedynamiclinks.domains.create Crear dominios de Dynamic Links nuevos
firebasedynamiclinks.domains.delete Borrar dominios de Dynamic Links existentes
firebasedynamiclinks.domains.get Recuperar los detalles de los dominios de Dynamic Links existentes
firebasedynamiclinks.domains.list Recuperar una lista de los dominios de Dynamic Links existentes
firebasedynamiclinks.domains.update Actualizar los dominios de Dynamic Links existentes
firebasedynamiclinks.links.create Crear Dynamic Links nuevos
firebasedynamiclinks.links.get Recuperar los detalles de los Dynamic Links existentes
firebasedynamiclinks.links.list Recuperar una lista de los Dynamic Links existentes
firebasedynamiclinks.links.update Actualizar Dynamic Links existentes
firebasedynamiclinks.stats.get Recuperar las estadísticas de Dynamic Links
firebasedynamiclinks.destinations.list Recuperar los destinos de Dynamic Links existentes
firebasedynamiclinks.destinations.update Actualizar los destinos de Dynamic Links existentes

Permisos de publicación de Extensiones de Firebase

Nombre del permiso Descripción
firebaseextensionspublisher.extensions.create Sube nuevas versiones de una extensión
firebaseextensionspublisher.extensions.delete Borra o da de baja versiones de una extensión
firebaseextensionspublisher.extensions.get Recupera detalles sobre la versión de una extensión
firebaseextensionspublisher.extensions.list Muestra una lista de todas las versiones de extensión que subió este proyecto de publicador

Permisos de Firebase Hosting

Nombre del permiso Descripción
firebasehosting.sites.create Crea recursos de Hosting nuevos para un proyecto de Firebase.
firebasehosting.sites.delete Borra recursos de Hosting existentes en un proyecto de Firebase.
firebasehosting.sites.get Recupera los detalles de un recurso de Hosting existente en un proyecto de Firebase.
firebasehosting.sites.list Recupera una lista de los recursos de Hosting en un proyecto de Firebase.
firebasehosting.sites.update Actualiza los recursos de Hosting existentes de un proyecto de Firebase.

Permisos de Firebase In‑App Messaging (beta)

Nombre del permiso Descripción
firebaseinappmessaging.campaigns.create Crear campañas nuevas
firebaseinappmessaging.campaigns.delete Borrar campañas existentes
firebaseinappmessaging.campaigns.get Recuperar los detalles de las campañas existentes
firebaseinappmessaging.campaigns.list Recuperar una lista de las campañas existentes
firebaseinappmessaging.campaigns.update Actualizar campañas existentes

Permisos del AA de Firebase (beta)

Nombre del permiso Descripción
firebaseml.models.create Crear modelos de AA nuevos
firebaseml.models.update Actualizar modelos de AA existentes
firebaseml.models.delete Borrar modelos de AA existentes
firebaseml.models.get Recuperar detalles de los modelos de AA existentes
firebaseml.models.list Recuperar una lista de los modelos de AA existentes
firebaseml.modelversions.create Crear versiones de modelos nuevas
firebaseml.modelversions.get Recuperar detalles de las versiones de modelos existentes
firebaseml.modelversions.list Recuperar una lista de las versiones de modelos existentes
firebaseml.modelversions.update Actualizar versiones de modelos existentes

Permisos de Firebase Performance Monitoring

Nombre del permiso Descripción
firebaseperformance.config.create Crear configuraciones nuevas para el límite de problemas
firebaseperformance.config.delete Borrar las configuraciones actuales del límite de problemas
firebaseperformance.config.update Modificar la configuración de alertas y del límite de problemas existente
firebaseperformance.data.get Ver todos los datos de rendimiento y los valores del límite de problemas

Permisos de Firebase Realtime Database

Nombre del permiso Descripción
firebasedatabase.instances.create Crear instancias de bases de datos nuevas
firebasedatabase.instances.get Recuperar los metadatos de las instancias de bases de datos existentes
Acceso de solo lectura a los datos en una instancia de base de datos existente
firebasedatabase.instances.list Recuperar una lista de las instancias de bases de datos existentes
firebasedatabase.instances.update Acceso completo de lectura y escritura a los datos en instancias de bases de datos existentes
Habilitar e inhabilitar instancias de bases de datos
Recuperar y modificar reglas de seguridad para instancias de bases de datos existentes
firebasedatabase.instances.disable Inhabilitar las instancias de bases de datos activas

Los datos existentes se conservan, pero no se puede acceder a ellos mediante operaciones de lectura ni escritura.
firebasedatabase.instances.reenable Volver a habilitar las instancias de bases de datos inhabilitadas

Se puede volver a acceder a los datos existentes para operaciones de lectura y escritura.
firebasedatabase.instances.delete Borrar instancias de bases de datos inhabilitadas

Los nombres de bases de datos borrados no se pueden volver a usar.
Los datos de una instancia de base de datos eliminada se borran de forma permanente después de 20 días.
firebasedatabase.instances.undelete Recuperar una instancia de base de datos eliminada antes de que se borren sus datos de forma permanente

Los datos de una instancia de base de datos eliminada desaparecen de forma permanente 20 días después de borrar la instancia.

Permisos de Firebase Remote Config

Nombre del permiso Descripción
cloudconfig.configs.get Recuperar los datos de Remote Config
cloudconfig.configs.update Actualizar los datos de Remote Config

Permisos de Firebase Test Lab

Test Lab requiere acceso a los buckets de Cloud Storage, por lo que se debe aplicar una configuración específica de permisos, y no todos se incluyen en los roles predefinidos de Firebase. Usa una de las siguientes opciones para otorgar acceso a Test Lab:

  • Para pruebas iniciadas desde Firebase console

    • Prueba tu app en un proyecto de Firebase independiente y dedicado.

    • Agrega a los miembros que necesitan acceso a Test Lab y asígnales los roles de proyecto heredados con Firebase console.

      • Para permitir que un miembro ejecute pruebas con Test Lab, asígnale un rol de Editor del proyecto o superior.
      • Para permitir que un miembro vea los resultados de las pruebas en Test Lab, asígnale un rol de Visualizador del proyecto o superior.
  • Para las pruebas que iniciaron desde la CLI de gcloud, la API de Testing o los dispositivos administrados por Gradle mientras usabas tu propio bucket de Cloud Storage

    • Asigna pares de roles predefinidos (que juntos otorguen el conjunto de permisos necesarios) con la consola de Google Cloud.

      • Para permitir que un miembro ejecute pruebas con Test Lab, asígnale los siguientes roles:

        • Administrador de Firebase Test Lab (roles/cloudtestservice.testAdmin)
        • Visualizador de Firebase Analytics (roles/firebase.analyticsViewer)
      • Para permitir que un miembro vea los resultados de las pruebas de Test Lab, asígnale los siguientes roles:

        • Visualizador de Firebase Test Lab (roles/cloudtestservice.testViewer)
        • Visualizador de Firebase Analytics (roles/firebase.analyticsViewer)
Nombre del permiso Descripción
cloudtestservice.environmentcatalog.get Recuperar el catálogo de los entornos de prueba compatibles de un proyecto
cloudtestservice.matrices.create Solicitar la ejecución de una matriz de pruebas según las especificaciones correspondientes
cloudtestservice.matrices.get Recuperar el estado de la matriz de prueba
cloudtestservice.matrices.update Actualizar una matriz de prueba sin terminar
cloudtoolresults.executions.list Recuperar una lista de las ejecuciones de un historial
cloudtoolresults.executions.get Recuperar una ejecución existente
cloudtoolresults.executions.create Crear una ejecución nueva
cloudtoolresults.executions.update Actualizar una ejecución existente
cloudtoolresults.histories.list Recuperar una lista de historiales
cloudtoolresults.histories.get Recuperar un historial existente
cloudtoolresults.histories.create Crear un historial nuevo
cloudtoolresults.settings.create Crear configuraciones nuevas para los resultados de las herramientas
cloudtoolresults.settings.get Recuperar las configuraciones actuales de los resultados de las herramientas
cloudtoolresults.settings.update Actualizar las configuraciones de los resultados de las herramientas
cloudtoolresults.steps.list Recuperar una lista de pasos de una ejecución
cloudtoolresults.steps.get Recuperar un paso existente
cloudtoolresults.steps.create Crear un paso nuevo
cloudtoolresults.steps.update Actualizar un paso existente

Integraciones con permisos de servicios externos

Nombre del permiso Descripción
firebaseextensions.configs.create Crear configuraciones de extensiones nuevas para servicios externos
(Firebase console > Configuración del proyecto > Integraciones)
firebaseextensions.configs.delete Borrar configuraciones de extensiones existentes para servicios externos
(Firebase console > Configuración del proyecto > Integraciones)
firebaseextensions.configs.list Recuperar una lista de configuraciones de extensiones para servicios externos
(Firebase console > Configuración del proyecto > Integraciones)
firebaseextensions.configs.update Actualizar la configuración de las extensiones existentes para los servicios externos
(Firebase console > Configuración del proyecto > Integraciones)