Permissões de IAM do Firebase

As permissões são concedidas aos membros do projeto com o uso de papéis. Um papel representa um conjunto de permissões. Ao atribuir um papel para um membro de um projeto, você concede ao membro todas as permissões contidas no papel.

Nesta página, descrevemos as ações ativadas pelas permissões que estão listadas em um papel suportado pelo Firebase. Essas permissões estão divididas em duas categorias:

Permissões necessárias

O IAM do Firebase inclui permissões que são:

Para ver uma lista geral e uma descrição das permissões específicas de um produto ou serviço do Firebase, consulte a seção apropriada nas Permissões do IAM específicas de produtos do Firebase.

Permissões necessárias incluídas em todos os papéis

As permissões listadas na tabela a seguir são necessárias para usar qualquer produto ou serviço do Firebase.

Essas permissões são incluídas automaticamente em cada um dos papéis predefinidos do Firebase.

Permissão Descrição
Concede permissões para recuperar informações do projeto do Firebase.
Concede permissões para recuperar informações do projeto do Firebase.
Concede permissões para verificar o estado das APIs do Google e para executar comandos da CLI do Firebase.

Permissões necessárias para ações específicas do serviço do Firebase

As permissões listadas na tabela a seguir são necessárias para executar algumas ações específicas do serviço do Firebase.

Quando necessário, essas permissões são incluídas nos papéis predefinidos do Firebase.

Ação Permissão necessária
Acessar integrações de projetos do Firebase com ferramentas de colaboração (incluindo Slack, Jira e PagerDuty) firebaseextensions.configs.*
Ver o uso e a análise do StackDriver monitoring.timeSeries.list
Executar os comandos da CLI do Firebase
Para mais informações, consulte a documentação do Google Cloud sobre Acesso ao Runtime Configurator.
runtimeconfig.*

Permissões necessárias para ações específicas do gerenciamento do Firebase

As permissões listadas na tabela a seguir são permissões adicionais necessárias para executar algumas ações específicas do gerenciamento do Firebase.

Permissão de gerenciamento e ações associadas Permissão adicional necessária
firebase.billingPlans.update
Alterar o plano de faturamento de um projeto do Firebase resourcemanager.projects.createBillingAssignment
resourcemanager.projects.deleteBillingAssignment
firebase.projects.delete
Excluir um projeto do Firebase resourcemanager.projects.delete
firebase.projects.update
Adicionar recursos do Firebase a um projeto existente do Google Cloud resourcemanager.projects.get
serviceusage.services.enable
serviceusage.services.get
Alterar o nome de um projeto do Firebase resourcemanager.projects.update
Adicionar impressões digitais de certificado SHA para aplicativos Android clientauthconfig.clients.create
Remover as impressões digitais do certificado SHA para aplicativos Android clientauthconfig.clients.delete
Atualizar o ID da App Store ou o ID da equipe para apps da Apple clientauthconfig.clients.get
clientauthconfig.clients.update

Permissões do IAM específicas de produtos do Firebase

As tabelas a seguir listam as permissões específicas de um produto ou serviço do Firebase. Você pode usar essas permissões para criar papéis personalizados.

Permissões de gerenciamento do Firebase

Observe que algumas das seguintes permissões de gerenciamento requerem permissões adicionais para determinadas ações.

Nome da permissão Descrição
firebase.billingPlans.get Recuperar o plano de faturamento do Firebase de um projeto
firebase.billingPlans.update Alterar o plano de faturamento do Firebase de um projeto
firebase.clients.create Adicionar novos aplicativos a um projeto
firebase.clients.delete Excluir aplicativos de um projeto
firebase.clients.get Recuperar detalhes e configurações de apps em um projeto
firebase.clients.list Recuperar uma lista dos apps de um projeto
firebase.clients.undelete Cancelar a exclusão de um app antes dos dados dele serem removidos permanentemente
firebase.clients.update Atualizar detalhes e configurações de apps em um projeto
firebase.links.create Criar novos links para os sistemas do Google
(Console do Firebase > Configurações do projeto > Integrações)
firebase.links.delete Excluir links para sistemas do Google
(Console do Firebase > Configurações do projeto > Integrações)
firebase.links.list Recuperar uma lista de links para sistemas do Google
(Console do Firebase > Configurações do projeto > Integrações)
firebase.links.update Atualizar links existentes para sistemas do Google
(Console do Firebase > Configurações do projeto > Integrações)
firebase.playLinks.get Recuperar detalhes sobre um link para o Google Play
(Console do Firebase > Configurações do projeto > Integrações > Google Play)
firebase.playLinks.list Recuperar uma lista de links para o Google Play
(Console do Firebase > Configurações do projeto > Integrações > Google Play)
firebase.playLinks.update Criar novos links e atualizar links existentes para o Google Play
(Console do Firebase > Configurações do projeto > Integrações > Google Play)
firebase.projects.delete Excluir projetos atuais
firebase.projects.get Recuperar os detalhes e recursos do Firebase de um projeto
firebase.projects.update Modificar os atributos de um projeto
Receber alertas para produtos e recursos aplicáveis do Firebase (saiba mais)
firebaseinstallations.instances.delete Excluir um ID de instalação do Firebase e os dados vinculados à instalação (saiba mais)

Permissões do Google Analytics

As permissões a seguir concedem acesso à propriedade do Analytics vinculada ao projeto do Firebase. Elas permitem que os membros do projeto do Firebase acessem dados do Analytics, incluindo públicos, propriedades de usuários, funis, relatórios, conversões etc.

Nome da permissão Descrição
firebaseanalytics.resources.googleAnalyticsEdit Por padrão, concede o papel de editor à propriedade vinculada do Analytics
firebaseanalytics.resources.googleAnalyticsAdditionalAccess Por padrão, concede o papel de profissional de marketing à propriedade vinculada do Analytics
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze Por padrão, concede o papel de leitor à propriedade vinculada do Analytics
firebaseanalytics.resources.googleAnalyticsRestrictedAccess Por padrão, concede o papel de leitor à propriedade do Analytics vinculada sem acesso a dados de receita e de custos

Permissões do Firebase App Check

Nome da permissão Descrição
firebaseappcheck.appAttestConfig.get Recuperar a configuração do App Attest de um app
firebaseappcheck.appAttestConfig.update Atualizar a configuração do App Attest de um app
firebaseappcheck.appCheckTokens.verify Verificar os tokens do App Check emitidos para um projeto do Firebase
firebaseappcheck.debugTokens.get Recuperar os tokens de depuração de um app
firebaseappcheck.debugTokens.update Criar, atualizar ou excluir tokens de depuração de um app
firebaseappcheck.deviceCheckConfig.get Recuperar a configuração do DeviceCheck de um app
firebaseappcheck.deviceCheckConfig.update Atualizar a configuração do DeviceCheck de um app
firebaseappcheck.playIntegrityConfig.get Recuperar a configuração da Play Integrity de um app
firebaseappcheck.playIntegrityConfig.update Atualizar a configuração da Play Integrity de um app
firebaseappcheck.recaptchaEnterpriseConfig.get Recuperar a configuração do reCAPTCHA Enterprise de um app
firebaseappcheck.recaptchaEnterpriseConfig.update Atualizar a configuração do reCAPTCHA Enterprise de um app
firebaseappcheck.recaptchaV3Config.get Recuperar a configuração do reCAPTCHA v3 de um app
firebaseappcheck.recaptchaV3Config.update Atualizar a configuração do reCAPTCHA v3 de um app
firebaseappcheck.safetyNetConfig.get Recuperar a configuração do SafetyNet de um app
firebaseappcheck.safetyNetConfig.update Atualizar a configuração do SafetyNet de um app
firebaseappcheck.services.get Recuperar as configurações de aplicação dos serviços de um projeto
firebaseappcheck.services.update Atualizar as configurações de aplicação dos serviços de um projeto

Permissões do Firebase App Distribution

Nome da permissão Descrição
firebaseappdistro.releases.list Recuperar uma lista de distribuições existentes e links de convite
firebaseappdistro.releases.update Criar, excluir e modificar distribuições
Criar e excluir links de convite
firebaseappdistro.testers.list Recuperar uma lista de testadores existentes em um projeto
firebaseappdistro.testers.update Criar e excluir testadores em um projeto
firebaseappdistro.groups.list Recuperar uma lista de grupos de testadores existentes em um projeto
firebaseappdistro.groups.update Criar e excluir grupos de testadores em um projeto

Permissões do Firebase Authentication

Nome da permissão Descrição
firebaseauth.configs.create Criar a configuração do Authentication
firebaseauth.configs.get Recuperar a configuração do Authentication
firebaseauth.configs.getHashConfig Receber das contas dos usuário o hash de senha e a configuração dele
firebaseauth.configs.getSecret Acessar a chave secreta do cliente na configuração do Authentication
firebaseauth.configs.update Atualizar a configuração atual do Authentication
firebaseauth.users.create Criar novos usuários no Authentication
firebaseauth.users.createSession Criar um cookie de sessão para um usuário conectado
firebaseauth.users.delete Excluir os usuários atuais no Authentication
firebaseauth.users.get Recuperar uma lista dos usuários atuais do Authentication
firebaseauth.users.sendEmail Enviar e-mails para os usuários
firebaseauth.users.update Atualizar os usuários atuais no Authentication

Permissões do Teste A/B do Firebase (Beta)

Nome da permissão Descrição
firebaseabt.experimentresults.get Recuperar os resultados de um experimento
firebaseabt.experiments.create Criar novos experimentos
firebaseabt.experiments.delete Excluir experimentos
firebaseabt.experiments.get Recuperar detalhes de um experimento
firebaseabt.experiments.list Recuperar uma lista de experimentos
firebaseabt.experiments.update Atualizar um experimento
firebaseabt.projectmetadata.get Recuperar metadados de análise para configurar um experimento

Permissões do Cloud Firestore

Para ver uma lista e descrições das permissões do Cloud Firestore, consulte a documentação do Google Cloud.

Permissões do Cloud Storage

Para ver uma lista e descrições das permissões do Cloud Storage, consulte a documentação do Google Cloud.

Permissões de regras de segurança do Firebase (Cloud Firestore e Cloud Storage)

Nome da permissão Descrição
firebaserules.releases.create Criar versões
firebaserules.releases.delete Excluir versões
firebaserules.releases.get Recuperar versões
firebaserules.releases.getExecutable Recuperar payloads binários executáveis para versões
firebaserules.releases.list Recuperar uma lista de versões
firebaserules.releases.update Atualizar referências de conjuntos de regras para versões
firebaserules.rulesets.create Criar novos conjuntos de regras
firebaserules.rulesets.delete Excluir o conjunto de regras atual
firebaserules.rulesets.get Recuperar conjuntos de regras com origem
firebaserules.rulesets.list Encontrar metadados do conjunto de regras (sem origem)
firebaserules.rulesets.test Testar a precisão de origens

Funções de nuvem para permissões do Firebase

Para ver uma lista e descrições das permissões do Cloud Functions, consulte a documentação do IAM.

Esteja ciente de que a implantação de funções requer uma configuração específica de permissões que não estão incluídas nos papéis predefinidos padrão do Firebase. Para implantar papéis, use uma das seguintes opções:

Permissões das campanhas do Firebase Messaging

Estas permissões são válidas para campanhas do Firebase Cloud Messaging e das Mensagens no app do Firebase.

Nome da permissão Descrição
firebasemessagingcampaigns.campaigns.create Criar novas campanhas
firebasemessagingcampaigns.campaigns.delete Excluir campanhas
firebasemessagingcampaigns.campaigns.get Recuperar detalhes de campanhas
firebasemessagingcampaigns.campaigns.list Recuperar uma lista de campanhas
firebasemessagingcampaigns.campaigns.update Atualizar campanhas atuais
firebasemessagingcampaigns.campaigns.start Iniciar campanhas atuais
firebasemessagingcampaigns.campaigns.stop Atualizar campanhas atuais

Permissões do Firebase Cloud Messaging

Nome da permissão Descrição
cloudmessaging.messages.create Enviar notificações e mensagens de dados usando a API FCM HTTP e o SDK Admin
Nome da permissão Descrição
firebasenotifications.messages.create Criar novas mensagens no Editor do Notificações
firebasenotifications.messages.delete Excluir mensagens existentes no Editor do Notificações
firebasenotifications.messages.get Recuperar detalhes de mensagens no Editor do Notificações
firebasenotifications.messages.list Recuperar uma lista de mensagens no Editor do Notificações
firebasenotifications.messages.update Atualizar mensagens no Editor do Notificações

Permissões do Firebase Crashlytics

Nome da permissão Descrição
firebasecrashlytics.config.get Recuperar as configurações do Crashlytics
firebasecrashlytics.config.update Atualizar as configurações do Crashlytics
firebasecrashlytics.data.get Recuperar métricas associadas a problemas e sessões do Crashlytics
firebasecrashlytics.issues.get Recuperar detalhes sobre problemas do Crashlytics, incluindo observações anexadas a eles
firebasecrashlytics.issues.list Recuperar uma lista de problemas do Crashlytics
firebasecrashlytics.issues.update Abrir, fechar e ignorar problemas atuais do Crashlytics
Atualizar observações anexadas a eles
firebasecrashlytics.sessions.get Recuperar detalhes sobre sessões com falha do Crashlytics
Nome da permissão Descrição
firebasecrash.issues.update Atualizar os problemas existentes do Crashlytics, criar observações sobre os problemas e definir alertas de velocidade
firebasecrash.reports.get Recuperar relatórios do Crashlytics
Nome da permissão Descrição
firebasedynamiclinks.domains.create Criar novos domínios de links dinâmicos
firebasedynamiclinks.domains.delete Excluir domínios de links dinâmicos
firebasedynamiclinks.domains.get Recuperar detalhes de domínios de links dinâmicos
firebasedynamiclinks.domains.list Recuperar uma lista de domínios de links dinâmicos
firebasedynamiclinks.domains.update Atualizar domínios de links dinâmicos
firebasedynamiclinks.links.create Criar novos links dinâmicos
firebasedynamiclinks.links.get Recuperar detalhes de links dinâmicos
firebasedynamiclinks.links.list Recuperar uma lista de links dinâmicos
firebasedynamiclinks.links.update Atualizar links dinâmicos
firebasedynamiclinks.stats.get Recuperar estatísticas de links dinâmicos
firebasedynamiclinks.destinations.list Recuperar destinos de links dinâmicos
firebasedynamiclinks.destinations.update Atualizar destinos de links dinâmicos

Permissões de publicação de extensões do Firebase

Nome da permissão Descrição
firebaseextensionspublisher.extensions.create Fazer upload de novas versões de uma extensão
firebaseextensionspublisher.extensions.delete Excluir ou descontinuar as versões de uma extensão
firebaseextensionspublisher.extensions.get Recuperar detalhes sobre uma versão de extensão
firebaseextensionspublisher.extensions.list Listar todas as versões de extensões enviadas por este projeto do editor

Permissões do Firebase Hosting

Nome da permissão Descrição
firebasehosting.sites.create Criar novos recursos do Hosting de um projeto do Firebase
firebasehosting.sites.delete Excluir os recursos do Hosting em um projeto do Firebase
firebasehosting.sites.get Recuperar detalhes de um recurso do Hosting existente de um projeto do Firebase
firebasehosting.sites.list Recuperar uma lista dos recursos do Hosting de um projeto do Firebase
firebasehosting.sites.update Atualizar os recursos do Hosting existentes de um projeto do Firebase.

Permissões do recurso do Firebase "Mensagens no app" (Beta)

Nome da permissão Descrição
firebaseinappmessaging.campaigns.create Criar novas campanhas
firebaseinappmessaging.campaigns.delete Excluir campanhas
firebaseinappmessaging.campaigns.get Recuperar detalhes de campanhas
firebaseinappmessaging.campaigns.list Recuperar uma lista de campanhas
firebaseinappmessaging.campaigns.update Atualizar campanhas atuais

Permissões do Firebase ML (Beta)

Nome da permissão Descrição
firebaseml.models.create Criar novos modelos de ML
firebaseml.models.update Atualizar modelos de ML
firebaseml.models.delete Excluir modelos de ML
firebaseml.models.get Recuperar detalhes de modelos de ML
firebaseml.models.list Recuperar uma lista de modelos de ML
firebaseml.modelversions.create Criar novas versões de modelos
firebaseml.modelversions.get Recuperar detalhes de versões de modelos
firebaseml.modelversions.list Recuperar uma lista de versões de modelos
firebaseml.modelversions.update Atualizar versões de modelos

Permissões do Monitoramento de desempenho do Firebase

Nome da permissão Descrição
firebaseperformance.config.create Criar novas configurações de limite de problemas
firebaseperformance.config.delete Excluir configurações de limite de problemas
firebaseperformance.config.update Modificar alertas e configurações de limite de problemas atuais
firebaseperformance.data.get Ver todos os dados de desempenho e definir valores de limite

Permissões do Firebase Realtime Database

Nome da permissão Descrição
firebasedatabase.instances.create Criar novas instâncias do banco de dados
firebasedatabase.instances.get Recuperar os metadados das instâncias de banco de dados existentes
Acesso somente leitura aos dados em uma instância de banco de dados existente
firebasedatabase.instances.list Recuperar uma lista de instâncias de banco de dados
firebasedatabase.instances.update Acesso total de leitura e gravação aos dados nas instâncias de banco de dados existentes
Ativar e desativar instâncias de bancos de dados
Recuperar e modificar regras de segurança para instâncias de bancos de dados existentes
firebasedatabase.instances.disable Desativar instâncias de banco de dados ativas

Os dados existentes são mantidos, mas não podem ser acessados para leituras/gravações.
firebasedatabase.instances.reenable Reativar instâncias de bancos de dados desativadas

Os dados existentes podem ser acessados novamente para leituras/gravações.
firebasedatabase.instances.delete Excluir instâncias de banco de dados desativadas

Não é possível reutilizar nomes de bancos de dados excluídos.
Os dados em uma instância de banco de dados excluída são excluídos permanentemente após 20 dias.
firebasedatabase.instances.undelete Cancelar a exclusão de uma instância de banco de dados antes que os dados dela sejam excluídos permanentemente

Os dados em uma instância de banco de dados excluída são removidos permanentemente após 20 dias.

Permissões da Configuração remota do Firebase

Nome da permissão Descrição
cloudconfig.configs.get Recuperar dados da Configuração remota
cloudconfig.configs.update Atualizar dados da Configuração remota

Permissões do Firebase Test Lab

O Test Lab exige acesso a buckets do Cloud Storage. Portanto, é necessário um conjunto específico de permissões não incluídas nos papéis predefinidos do Firebase. Para conceder acesso ao Test Lab, use uma das seguintes soluções:

  • Para testes iniciados no Console do Firebase

    • Teste seu aplicativo em um projeto separado dedicado do Firebase.

    • Adicione membros que precisam de acesso ao Test Lab e, em seguida, atribua a eles papéis de projetos legados usando o Console do Firebase.

      • Para permitir que um membro execute testes com o Test Lab, atribua um papel de Editor do projeto ou outro com mais permissões.
      • Para permitir que um membro visualize os resultados do teste no Test Lab, atribua um papel de Leitor do projeto ou outro com mais permissões.
  • Para testes iniciados no CLI do gcloud , API Testing ou Dispositivos gerenciados pelo Gradle ao usar seu próprio bucket do Cloud Storage

    • Atribua dois papéis predefinidos (que juntos concedam o conjunto de permissões necessárias) usando o Console do Google Cloud.

      • Para permitir que um membro execute testes no Test Lab, atribua estes dois papéis:

        • Administrador do Firebase Test Lab (roles/cloudtestservice.testAdmin)
        • Leitor do Firebase Analytics (roles/firebase.analyticsViewer)
      • Para permitir que um membro veja os resultados de testes no Test Lab, atribua estes dois papéis:

        • Leitor do Firebase Test Lab (roles/cloudtestservice.testViewer)
        • Leitor do Firebase Analytics (roles/firebase.analyticsViewer)
Nome da permissão Descrição
cloudtestservice.environmentcatalog.get Recuperar o catálogo de ambientes de teste compatíveis com um projeto
cloudtestservice.matrices.create Solicitar a execução de uma matriz de testes de acordo com especificações fornecidas
cloudtestservice.matrices.get Recuperar o status de uma matriz de teste
cloudtestservice.matrices.update Atualizar uma matriz de teste inacabada
cloudtoolresults.executions.list Recuperar uma lista de execuções de um histórico
cloudtoolresults.executions.get Recuperar uma execução atual
cloudtoolresults.executions.create Criar uma nova execução
cloudtoolresults.executions.update Atualizar uma execução atual
cloudtoolresults.histories.list Recuperar uma lista de históricos
cloudtoolresults.histories.get Recuperar um histórico
cloudtoolresults.histories.create Criar um novo histórico
cloudtoolresults.settings.create Criar novas configurações de resultados da ferramenta
cloudtoolresults.settings.get Recuperar configurações de resultados da ferramenta
cloudtoolresults.settings.update Atualizar configurações de resultados da ferramenta
cloudtoolresults.steps.list Recuperar uma lista de etapas para uma execução
cloudtoolresults.steps.get Recuperar uma etapa atual
cloudtoolresults.steps.create Criar uma nova etapa
cloudtoolresults.steps.update Atualizar uma etapa atual

Integrações com permissões de serviços externos

Nome da permissão Descrição
firebaseextensions.configs.create Criar novas configurações de extensão para serviços externos
(Console do Firebase > Configurações do projeto > Integrações)
firebaseextensions.configs.delete Excluir configurações de extensão para serviços externos
(Console do Firebase > Configurações do projeto > Integrações)
firebaseextensions.configs.list Recuperar uma lista de configurações de extensão para serviços externos
(Console do Firebase > Configurações do projeto > Integrações)
firebaseextensions.configs.update Atualizar configurações de extensão para serviços externos
(Console do Firebase > Configurações do projeto > Integrações)