Los permisos se otorgan a los miembros de su proyecto a través de roles . Un rol es una colección de permisos. Cuando asigna una función a un miembro del proyecto, otorga a ese miembro del proyecto todos los permisos que contiene la función.
En esta página, se describen las acciones habilitadas por los permisos que puede encontrar enumerados en una función compatible con Firebase. Estos permisos se dividen en dos categorías:
Permisos de administración de acceso e identidad (IAM) requeridos para todos los roles o para acciones específicas dentro de Firebase
Permisos requeridos
Firebase IAM incluye permisos que son:
Requerido para usar cualquier producto o servicio de Firebase.
Necesario para realizar algunas acciones específicas del servicio de Firebase.
Necesario para realizar algunas acciones específicas de administración de Firebase.
Para obtener una lista general y una descripción de los permisos específicos de un producto o servicio de Firebase, consulte la sección correspondiente dentro de los permisos de IAM específicos del producto de Firebase .
Permisos requeridos incluidos en todos los roles
Los permisos enumerados en la siguiente tabla son necesarios para usar cualquier producto o servicio de Firebase.
Estos permisos se incluyen automáticamente en cada uno de los roles predefinidos de Firebase .
Permiso | Descripción |
---|---|
Otorga permisos para recuperar información del proyecto de Firebase | |
Otorga permisos para recuperar información del proyecto de Firebase | |
Otorga permisos para verificar el estado de las API de Google y para ejecutar los comandos de la CLI de Firebase. |
Permisos necesarios para acciones específicas del servicio de Firebase
Los permisos que se enumeran en la siguiente tabla son necesarios para realizar algunas acciones específicas del servicio de Firebase.
Cuando es necesario, estos permisos se incluyen automáticamente en cada uno de los roles predefinidos de Firebase .
Acción | Permiso requerido |
---|---|
Acceda a integraciones de proyectos de Firebase con herramientas de colaboración (incluidos Slack, Jira y PagerDuty) | firebaseextensions.configs.* |
Ver uso y análisis de StackDriver | monitorización.timeSeries.list |
Ejecutar comandos de la CLI de Firebase Para obtener más información, consulte la documentación de Google Cloud sobre el acceso al configurador de tiempo de ejecución . | runtimeconfig.* |
Permisos necesarios para acciones específicas de administración de Firebase
Los permisos enumerados en la siguiente tabla son permisos adicionales que se requieren para realizar algunas acciones específicas de administración de Firebase.
Permiso de gestión y acciones asociadas | Permiso adicional requerido |
---|---|
firebase.billingPlans.update | |
Cambiar el plan de facturación de un proyecto de Firebase | resourcemanager.proyectos.createBillingAssignment resourcemanager.projects.deleteBillingAssignment |
firebase.projects.delete | |
Eliminar un proyecto de Firebase | resourcemanager.projects.delete |
firebase.projects.update | |
Agregar recursos de Firebase a un proyecto existente de Google Cloud | resourcemanager.proyectos.get serviceusage.services.enable usoservicio.servicios.get |
Cambiar el nombre de un proyecto de Firebase | resourcemanager.proyectos.actualización |
Agregue huellas digitales de certificado SHA para aplicaciones de Android | clientauthconfig.clients.create |
Eliminar las huellas dactilares del certificado SHA para las aplicaciones de Android | clientauthconfig.clients.delete |
Actualice la ID de la tienda de aplicaciones o la ID del equipo para las aplicaciones de Apple | clientauthconfig.clients.get clientauthconfig.clients.update |
Permisos de IAM específicos del producto de Firebase
Las siguientes tablas enumeran los permisos que son específicos de un producto o servicio de Firebase. Puede utilizar estos permisos para crear funciones personalizadas .
Permisos de administración de Firebase
Tenga 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 para un proyecto |
firebase.billingPlans.update | Cambiar el plan de facturación actual de Firebase para un proyecto |
firebase.clients.create | Agregar nuevas aplicaciones a un proyecto |
firebase.clients.delete | Eliminar aplicaciones existentes de un proyecto |
firebase.clients.get | Recuperar detalles y configuraciones para aplicaciones en un proyecto |
firebase.clients.list | Recuperar una lista de aplicaciones en un proyecto |
firebase.clients.undelete | Recuperar una aplicación eliminada antes de que sus datos se eliminen de forma permanente |
firebase.clients.update | Actualizar detalles y configuraciones para aplicaciones en un proyecto |
firebase.links.create | Crear nuevos enlaces a los sistemas de Google (Firebase console > Configuración del proyecto > Integraciones) |
firebase.links.delete | Eliminar enlaces a los sistemas de Google (Firebase console > Configuración del proyecto > Integraciones) |
firebase.links.list | Recuperar una lista de enlaces a los sistemas de Google (Firebase console > Configuración del proyecto > Integraciones) |
firebase.links.update | Actualizar enlaces existentes a los sistemas de Google (Firebase console > Configuración del proyecto > Integraciones) |
base de fuego.playLinks.get | Recuperar detalles sobre un enlace a Google Play (Firebase console > Configuración del proyecto > Integraciones > Google Play) |
base de fuego.playLinks.list | Recuperar una lista de enlaces a Google Play (Firebase console > Configuración del proyecto > Integraciones > Google Play) |
base de fuego.playLinks.update | Crear nuevos enlaces y actualizar los enlaces existentes a Google Play (Firebase console > Configuración del proyecto > Integraciones > Google Play) |
firebase.projects.delete | Eliminar proyectos existentes |
firebase.proyectos.get | Recupera detalles y recursos de Firebase para un proyecto |
firebase.proyectos.actualización | Modificar los atributos de un proyecto existente Reciba alertas sobre productos y funciones de Firebase aplicables ( más información ) |
firebaseinstallations.instances.delete | Elimine 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, incluidas las audiencias, las propiedades de los usuarios, los embudos, los informes, las conversiones, etc.
nombre del permiso | Descripción |
---|---|
firebaseanalytics.resources.googleAnalyticsEditar | De forma predeterminada, otorga la función de editor de análisis a la propiedad de análisis vinculada. |
firebaseanalytics.resources.googleAnalyticsAcceso adicional | De forma predeterminada, otorga el rol de responsable de marketing de Analytics a la propiedad de Analytics vinculada. |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | De forma predeterminada, otorga el rol de Visor de Analytics a la propiedad de Analytics vinculada. |
firebaseanalytics.resources.googleAnalyticsAcceso restringido | De forma predeterminada, otorga el rol de Visor de análisis a la propiedad de análisis vinculada sin acceso a los datos de ingresos y costos. |
Permisos de comprobación de aplicaciones de Firebase
nombre del permiso | Descripción |
---|---|
firebaseappcheck.appAttestConfig.get | Recuperar la configuración de la certificación de la aplicación de una aplicación |
firebaseappcheck.appAttestConfig.update | Actualizar la configuración de la certificación de la aplicación de una aplicación |
firebaseappcheck.debugTokens.get | Recuperar tokens de depuración de una aplicación |
firebaseappcheck.debugTokens.update | Crear, actualizar o eliminar tokens de depuración de una aplicación |
firebaseappcheck.deviceCheckConfig.get | Recuperar la configuración de DeviceCheck de una aplicación |
firebaseappcheck.deviceCheckConfig.update | Actualizar la configuración de DeviceCheck de una aplicación |
firebaseappcheck.playIntegrityConfig.get | Recuperar la configuración de Play Integrity de una aplicación |
firebaseappcheck.playIntegrityConfig.update | Actualizar la configuración de Play Integrity de una aplicación |
firebaseappcheck.recaptchaEnterpriseConfig.get | Recuperar la configuración de reCAPTCHA Enterprise de una aplicación |
firebaseappcheck.recaptchaEnterpriseConfig.update | Actualizar la configuración de reCAPTCHA Enterprise de una aplicación |
firebaseappcheck.recaptchaV3Config.get | Recuperar la configuración reCAPTCHA v3 de una aplicación |
firebaseappcheck.recaptchaV3Config.update | Actualizar la configuración de reCAPTCHA v3 de una aplicación |
firebaseappcheck.safetyNetConfig.get | Recuperar la configuración de SafetyNet de una aplicación |
firebaseappcheck.safetyNetConfig.update | Actualizar la configuración de SafetyNet de una aplicación |
firebaseappcheck.services.get | Recuperar configuraciones de cumplimiento de servicios de un proyecto |
firebaseappcheck.services.update | Actualizar configuraciones de aplicación de servicio de un proyecto |
Permisos de distribución de aplicaciones de Firebase
nombre del permiso | Descripción |
---|---|
firebaseappdistro.releases.list | Recuperar una lista de distribuciones existentes y enlaces de invitación |
firebaseappdistro.releases.update | Crear, eliminar y modificar distribuciones Crear y eliminar enlaces de invitación |
firebaseappdistro.testers.list | Recuperar una lista de probadores existentes en un proyecto |
firebaseappdistro.testers.update | Crear y eliminar testers en un proyecto |
firebaseappdistro.groups.list | Recuperar una lista de grupos de probadores existentes en un proyecto |
firebaseappdistro.groups.update | Crear y eliminar grupos de probadores en un proyecto |
Permisos de autenticación de Firebase
nombre del permiso | Descripción |
---|---|
firebaseauth.configs.create | Crear la configuración de autenticación |
firebaseauth.configs.get | Recuperar la configuración de Autenticación |
firebaseauth.configs.getHashConfig | Obtenga la configuración de hash de contraseña y el hash de contraseña de las cuentas de usuario |
firebaseauth.configs.getSecret | Obtenga el secreto del cliente en la configuración de Autenticación |
firebaseauth.configs.update | Actualice la configuración de autenticación existente |
firebaseauth.users.create | Crear nuevos usuarios en Autenticación |
firebaseauth.users.createSession | Crear cookie de sesión para un usuario registrado |
firebaseauth.users.delete | Eliminar usuarios existentes en Autenticación |
firebaseauth.users.get | Recuperar una lista de usuarios de autenticación existentes |
firebaseauth.users.sendEmail | Enviar correos electrónicos a los usuarios. |
firebaseauth.users.update | Actualizar usuarios existentes en Autenticación |
Permisos de prueba A/B de Firebase (beta)
nombre del permiso | Descripción |
---|---|
firebaseabt.experimentresults.get | Recuperar los resultados de un experimento. |
firebaseabt.experimentos.crear | Crear nuevos experimentos |
firebaseabt.experimentos.delete | Eliminar experimentos existentes |
firebaseabt.experimentos.get | Recuperar detalles de un experimento existente |
firebaseabt.experimentos.lista | Recuperar una lista de experimentos existentes |
firebaseabt.experimentos.actualización | Actualizar un experimento existente |
firebaseabt.projectmetadata.get | Recuperar metadatos analíticos para configurar un experimento |
Permisos de Cloud Firestore
Para obtener una lista y descripciones de los permisos de Cloud Firestore, consulte la documentación de Google Cloud .
Permisos de almacenamiento en la nube
Para obtener una lista y descripciones de los permisos de Cloud Storage, consulte la documentación de Google Cloud .
Permisos de reglas de seguridad de Firebase (Cloud Firestore y Cloud Storage)
nombre del permiso | Descripción |
---|---|
firebaserules.releases.create | Crear lanzamientos |
firebaserules.releases.delete | Eliminar lanzamientos |
firebaserules.releases.get | Recuperar lanzamientos |
firebaserules.releases.getExecutable | Recuperar las cargas útiles ejecutables binarias para los lanzamientos |
firebaserules.releases.list | Recuperar una lista de lanzamientos |
firebaserules.releases.update | Actualizar las referencias del conjunto de reglas para los lanzamientos |
firebaserules.rulesets.create | Crear nuevos conjuntos de reglas |
firebaserules.rulesets.delete | Eliminar conjunto de reglas existente |
firebaserules.rulesets.get | Recuperar conjuntos de reglas con fuente |
firebaserules.rulesets.list | Buscar metadatos del conjunto de reglas (sin fuente) |
firebaserules.rulesets.test | Fuentes de prueba para la corrección |
Permisos de Cloud Functions para Firebase
Para obtener una lista y descripciones de los permisos de Cloud Functions, consulte la documentación de IAM .
Tenga en cuenta que la implementación de funciones requiere una configuración específica de permisos que no están incluidos en los roles predefinidos estándar de Firebase . Para implementar funciones, utilice una de las siguientes opciones:
Delegar el despliegue de funciones a un Propietario del proyecto.
Si está implementando solo funciones que no son HTTP, un editor de proyectos puede implementar sus funciones.
Delegue la implementación de funciones a un miembro del proyecto que tenga los siguientes dos roles:
- Rol de administrador de Cloud Functions (
roles/cloudfunctions.admin
) - Rol de usuario de cuenta de servicio (
roles/iam.serviceAccountUser
)
El propietario de un proyecto puede asignar estas funciones a un miembro del proyecto mediante Google Cloud Console o gcloud CLI . Para conocer los pasos detallados y las implicaciones de seguridad para la configuración de esta función, consulte la documentación de IAM .
- Rol de administrador de Cloud Functions (
Permisos de mensajería en la nube de Firebase
nombre del permiso | Descripción |
---|---|
cloudmessaging.messages.create | Envíe notificaciones y mensajes de datos a través de la API HTTP de FCM y el SDK de administración |
firebasenotifications.messages.create | Crear nuevos mensajes en el redactor de notificaciones |
firebasenotifications.messages.delete | Eliminar mensajes existentes en el redactor de notificaciones |
firebasenotifications.messages.get | Recuperar detalles de mensajes existentes en el redactor de notificaciones |
firebasenotifications.messages.list | Recuperar una lista de mensajes existentes en el redactor de notificaciones |
firebasenotifications.messages.update | Actualice los mensajes existentes en el redactor de notificaciones |
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 problemas de Crashlytics, incluidas las notas adjuntas a los problemas |
firebasecrashlytics.issues.list | Recuperar una lista de problemas de Crashlytics |
firebasecrashlytics.issues.update | Abrir, cerrar y silenciar problemas existentes de Crashlytics Actualizar notas adjuntas a incidencias |
firebasecrashlytics.sessions.get | Recuperar detalles sobre las sesiones de bloqueo de Crashlytics |
nombre del permiso | Descripción |
---|---|
firebasecrash.problemas.actualización | Actualice problemas existentes de Crashlytics, cree notas sobre problemas y establezca alertas de velocidad |
firebasecrash.informes.get | Recuperar informes de Crashlytics existentes |
Permisos de enlaces dinámicos de Firebase
nombre del permiso | Descripción |
---|---|
firebasedynamiclinks.domains.create | Crear nuevos dominios de Dynamic Links |
firebasedynamiclinks.domains.delete | Eliminar dominios de Dynamic Links existentes |
firebasedynamiclinks.dominios.get | Recuperar detalles de dominios de Dynamic Links existentes |
firebasedynamiclinks.dominios.lista | Recuperar una lista de dominios de Dynamic Links existentes |
firebasedynamiclinks.domains.update | Actualizar dominios de Dynamic Links existentes |
firebasedynamiclinks.links.create | Crear nuevos enlaces dinámicos |
firebasedynamiclinks.links.get | Recuperar detalles de Dynamic Links existentes |
firebasedynamiclinks.links.list | Recuperar una lista de Dynamic Links existentes |
firebasedynamiclinks.links.update | Actualizar vínculos dinámicos existentes |
firebasedynamiclinks.stats.get | Recuperar estadísticas de Dynamic Links |
firebasedynamiclinks.destinations.list | Recuperar destinos de Dynamic Links existentes |
firebasedynamiclinks.destinos.actualizar | Actualizar destinos de Dynamic Links existentes |
Permisos de alojamiento de Firebase
nombre del permiso | Descripción |
---|---|
firebasehosting.sites.create | Crear nuevos recursos de Hosting para un proyecto de Firebase |
firebasehosting.sites.delete | Eliminar recursos de Hosting existentes para un proyecto de Firebase |
firebasehosting.sites.get | Recuperar detalles de recursos de Hosting existentes para un proyecto de Firebase |
firebasehosting.sites.list | Recuperar una lista de recursos de Hosting para un proyecto de Firebase |
firebasehosting.sites.update | Actualizar los recursos de Hosting existentes para un proyecto de Firebase |
Permisos de Firebase In-App Messaging (beta)
nombre del permiso | Descripción |
---|---|
firebaseinappmessaging.campaigns.create | Crear nuevas campañas |
firebaseinappmessaging.campaigns.delete | Eliminar campañas existentes |
firebaseinappmessaging.campaigns.get | Recuperar detalles de campañas existentes |
firebaseinappmessaging.campaigns.list | Recuperar una lista de campañas existentes |
firebaseinappmessaging.campaigns.update | Actualizar campañas existentes |
Permisos de Firebase ML (beta)
nombre del permiso | Descripción |
---|---|
firebaseml.compressionjobs.create | Crear nuevos trabajos de compresión |
firebaseml.compressionjobs.delete | Eliminar trabajos de compresión existentes |
firebaseml.compressionjobs.get | Recuperar detalles de trabajos de compresión existentes |
firebaseml.compressionjobs.list | Recuperar una lista de trabajos de compresión existentes |
firebaseml.compressionjobs.start | Iniciar trabajos de compresión |
firebaseml.compressionjobs.update | Actualizar trabajos de compresión existentes |
firebaseml.models.create | Crear nuevos modelos de aprendizaje automático |
firebaseml.models.update | Actualizar modelos de aprendizaje automático existentes |
firebaseml.models.delete | Eliminar modelos de ML existentes |
firebaseml.models.get | Recuperar detalles de modelos ML existentes |
firebaseml.modelos.lista | Recuperar una lista de modelos de ML existentes |
firebaseml.modelversions.create | Crear nuevas versiones del modelo |
firebaseml.modelversions.get | Recuperar detalles de versiones de modelos existentes |
firebaseml.modelversions.list | Recuperar una lista de versiones de modelos existentes |
firebaseml.modelversions.update | Actualizar versiones de modelos existentes |
Permisos de supervisión del rendimiento de Firebase
nombre del permiso | Descripción |
---|---|
firebaseperformance.config.create | Crear nuevas configuraciones de umbral de emisión |
firebaseperformance.config.delete | Eliminar configuraciones de umbral de problemas existentes |
firebaseperformance.config.update | Modificar las configuraciones de umbrales de alertas y problemas existentes |
firebaseperformance.data.get | Ver todos los datos de rendimiento y emitir valores de umbral |
Permisos de base de datos en tiempo real de Firebase
nombre del permiso | Descripción |
---|---|
firebasedatabase.instances.create | Crear nuevas instancias de base de datos |
firebasedatabase.instances.get | Recuperar los metadatos de 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 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 y deshabilitar instancias de base de datos Recuperar y modificar reglas de seguridad para instancias de bases de datos existentes |
firebasedatabase.instances.disable | Deshabilitar instancias de bases de datos activas Los datos existentes se conservan, pero no son accesibles para lecturas/escrituras. |
firebasedatabase.instances.reenable | Vuelva a habilitar instancias de base de datos deshabilitadas Los datos existentes vuelven a estar accesibles para lecturas/escrituras. |
firebasedatabase.instances.delete | Eliminar instancias de base de datos deshabilitadas Los nombres de bases de datos eliminados no se pueden reutilizar. Los datos en una instancia de base de datos eliminada se eliminan permanentemente después de 20 días. |
firebasedatabase.instances.undelete | Recuperar una instancia de base de datos eliminada antes de que sus datos se eliminen de forma permanente Los datos en una instancia de base de datos eliminada se eliminan permanentemente 20 días después de que se elimine la instancia. |
Permisos de configuración remota de Firebase
nombre del permiso | Descripción |
---|---|
cloudconfig.configs.get | Recuperar datos de configuración remota |
cloudconfig.configs.update | Actualizar datos de configuración remota |
Permisos del laboratorio de pruebas de Firebase
Test Lab requiere acceso a depósitos de Cloud Storage, por lo que requiere una configuración específica de permisos que no están todos incluidos en las funciones estándar predefinidas de Firebase . Para otorgar acceso a Test Lab, use una de las siguientes opciones:
Para pruebas iniciadas desde Firebase console
Pruebe su aplicación en un proyecto de Firebase separado y dedicado.
Agregue miembros que necesiten acceso a Test Lab y, luego, asígneles funciones de proyectos heredados mediante Firebase console .
- Para permitir que un miembro ejecute pruebas con Test Lab, asigne Project Editor o superior.
- Para permitir que un miembro vea los resultados de las pruebas en Test Lab, asigne el Visor de proyectos o superior.
Para pruebas iniciadas desde la CLI de gcloud o la API de prueba mientras usas tu propio depósito de Cloud Storage
Asigne un par de roles predefinidos (que en conjunto otorgan el conjunto de permisos necesarios) mediante Google Cloud Console .
Para permitir que un miembro ejecute pruebas con Test Lab, asigne ambos:
- Administrador de Firebase Test Lab (
roles/cloudtestservice.testAdmin
) - Visor de análisis de Firebase (
roles/firebase.analyticsViewer
)
- Administrador de Firebase Test Lab (
Para permitir que un miembro vea los resultados de las pruebas en Test Lab, asigne ambos:
- Visor de Firebase Test Lab (
roles/cloudtestservice.testViewer
) - Visor de análisis de Firebase (
roles/firebase.analyticsViewer
)
- Visor de Firebase Test Lab (
nombre del permiso | Descripción |
---|---|
cloudtestservice.environmentcatalog.get | Recuperar el catálogo de entornos de prueba admitidos para un proyecto |
cloudtestservice.matrices.create | Solicitud para ejecutar una matriz de pruebas de acuerdo con las especificaciones dadas |
cloudtestservice.matrices.get | Recuperar el estado de una matriz de prueba |
cloudtestservice.matrices.update | Actualizar una matriz de prueba sin terminar |
cloudtoolresults.ejecuciones.lista | Recuperar una lista de ejecuciones para un historial |
cloudtoolresults.ejecuciones.get | Recuperar una ejecución existente |
cloudtoolresults.ejecuciones.crear | Crear una nueva ejecución |
cloudtoolresults.ejecuciones.actualizar | Actualizar una ejecución existente |
cloudtoolresults.histories.list | Recuperar una lista de Historias |
cloudtoolresults.histories.get | Recuperar un historial existente |
cloudtoolresults.histories.create | Crear una nueva Historia |
cloudtoolresults.settings.create | Crear nueva configuración de resultados de herramientas |
cloudtoolresults.settings.get | Recuperar la configuración de resultados de la herramienta existente |
cloudtoolresults.settings.update | Actualizar la configuración de los resultados de la herramienta |
cloudtoolresults.pasos.lista | Recuperar una lista de pasos para una ejecución |
cloudtoolresults.steps.get | Recuperar un paso existente |
cloudtoolresults.steps.create | Crear un nuevo paso |
cloudtoolresults.steps.update | Actualizar un paso existente |
Integraciones con permisos de servicios externos
nombre del permiso | Descripción |
---|---|
firebaseextensions.configs.create | Crear nuevas configuraciones de extensión para servicios externos (Firebase console > Configuración del proyecto > Integraciones) |
firebaseextensions.configs.delete | Eliminar configuraciones de extensión existentes para servicios externos (Firebase console > Configuración del proyecto > Integraciones) |
firebaseextensions.configs.list | Recuperar una lista de configuraciones de extensión para servicios externos (Firebase console > Configuración del proyecto > Integraciones) |
firebaseextensions.configs.update | Actualizar configuraciones de extensión existentes para servicios externos (Firebase console > Configuración del proyecto > Integraciones) |