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 comandos da CLI do Firebase.
Para mais informações, consulte a documentação do Google Cloud sobre o 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
Adiciona recursos do Firebase a um projeto 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)

Google Analytics permissões

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 do Analytics à propriedade Analytics vinculada
firebaseanalytics.resources.googleAnalyticsAdditionalAccess Por padrão, concede o papel de profissional de marketing Analytics à propriedade Analytics vinculada
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze Por padrão, concede o papel de leitor do Analytics à propriedade Analytics vinculada
firebaseanalytics.resources.googleAnalyticsRestrictedAccess Por padrão, concede o papel de leitor do Analytics à propriedade do Analytics vinculada sem acesso a dados de receita e de custos

Firebase App Check permissões

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 tokens 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

Firebase App Distribution permissões

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

Firebase Authentication permissões

Nome da permissão Descrição
firebaseauth.configs.create Criar a configuração Authentication
firebaseauth.configs.get Recuperar a configuração de 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 Authentication
firebaseauth.users.create Criar novos usuários em Authentication
firebaseauth.users.createSession Criar um cookie de sessão para um usuário conectado
firebaseauth.users.delete Excluir usuários atuais em Authentication
firebaseauth.users.get Recuperar uma lista de usuários Authentication
firebaseauth.users.sendEmail Enviar e-mails para os usuários
firebaseauth.users.update Atualizar usuários existentes no Authentication

Permissões Firebase A/B Testing (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 Firebase App Hosting (Beta)

Nome da permissão Descrição
firebaseapphosting.backends.create Crie um novo back-end App Hosting para um projeto do Firebase.
firebaseapphosting.backends.delete Exclua um back-end App Hosting de um projeto do Firebase.
firebaseapphosting.backends.get Recuperar informações sobre um back-end App Hosting específico em um projeto do Firebase.
firebaseapphosting.backends.list Lista todos os back-ends App Hosting disponíveis em um projeto do Firebase.
firebaseapphosting.backends.update Modifique a configuração ou as configurações de um back-end App Hosting existente.
firebaseapphosting.builds.create Inicie um novo processo de build para um back-end App Hosting em um projeto do Firebase.
firebaseapphosting.builds.delete Exclua builds em um back-end App Hosting.
firebaseapphosting.builds.get Recuperar detalhes de um build em um back-end App Hosting.
firebaseapphosting.builds.list Lista todos os builds associados a um back-end App Hosting em um projeto do Firebase.
firebaseapphosting.builds.update Modifique a configuração de um build App Hosting não finalizado.
firebaseapphosting.domains.create Crie uma nova associação de domínio para um back-end App Hosting em um projeto do Firebase.
firebaseapphosting.domains.delete Remova uma associação de domínio de um back-end App Hosting.
firebaseapphosting.domains.get Extrair informações sobre um domínio específico associado a um site App Hosting.
firebaseapphosting.domains.list Lista todos os domínios associados a App Hosting.
firebaseapphosting.domains.update Modifique as configurações de um domínio vinculado a um back-end do App Hosting.
firebaseapphosting.rollouts.create Inicie um novo lançamento para promover um build atual à versão veiculada do back-end App Hosting.
firebaseapphosting.rollouts.get Recuperar informações sobre um lançamento específico de App Hosting.
firebaseapphosting.rollouts.list Lista todos os lançamentos associados a um back-end App Hosting.
firebaseapphosting.traffic.get Extraia a política de lançamento e divisão de tráfego atual de um site App Hosting.
firebaseapphosting.traffic.list É idêntica à função "firebaseapphosting.traffic.get", mas com a capacidade adicional de extrair uma lista em todos os back-ends para os quais você tem essa permissão.
firebaseapphosting.traffic.update Modifique a política de lançamento e divisão de tráfego atual para um back-end App Hosting.

Cloud Firestore permissões

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

Cloud Storage permissões

Para conferir uma lista e descrições das permissões 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

Cloud Functions for Firebase permissões

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

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

Permissões das campanhas do Firebase Messaging

Essas permissões são válidas para campanhas do Firebase Cloud Messaging e Firebase In-App Messaging.

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

Firebase Cloud Messaging permissões

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

Firebase Crashlytics permissões

Nome da permissão Descrição
firebasecrashlytics.config.get Recuperar as configurações de Crashlytics
firebasecrashlytics.config.update Atualizar definições de configuração 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 Extrair uma lista de problemas de Crashlytics
firebasecrashlytics.issues.update Abrir, fechar e ignorar problemas atuais do Crashlytics
Atualizar observações anexadas a eles
firebasecrashlytics.sessions.get Extrair detalhes sobre as 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 Crashlytics
Nome da permissão Descrição
firebasedynamiclinks.domains.create Criar novos domínios Dynamic Links
firebasedynamiclinks.domains.delete Excluir domínios Dynamic Links
firebasedynamiclinks.domains.get Recuperar detalhes de domínios Dynamic Links
firebasedynamiclinks.domains.list Recuperar uma lista de domínios Dynamic Links
firebasedynamiclinks.domains.update Atualizar domínios Dynamic Links
firebasedynamiclinks.links.create Criar Dynamic Links novo
firebasedynamiclinks.links.get Recuperar detalhes de Dynamic Links
firebasedynamiclinks.links.list Extrair uma lista de Dynamic Links
firebasedynamiclinks.links.update Fazer upload de Dynamic Links
firebasedynamiclinks.stats.get Extrair estatísticas de Dynamic Links
firebasedynamiclinks.destinations.list Recuperar destinos Dynamic Links
firebasedynamiclinks.destinations.update Atualizar destinos Dynamic Links

Permissões de publicação do Firebase Extensions

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

Firebase Hosting permissões

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 Firebase In-App Messaging (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 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

Firebase Performance Monitoring permissões

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 emitir valores de limite

Firebase Realtime Database permissões

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.

Firebase Remote Config permissões

Nome da permissão Descrição
cloudconfig.configs.get Recuperar os dados do Remote Config
cloudconfig.configs.update Atualizar dados do Remote Config

Firebase Test Lab permissões

Test Lab exige acesso a buckets Cloud Storage. Portanto, é necessário uma configuração específica de permissões que não estão incluídas nos papéis predefinidos do Firebase padrão. Para conceder acesso a Test Lab, use uma das seguintes opçõ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 atribua a eles papéis de projetos legados usando o console do Firebase.

      • Para permitir que um membro execute testes com 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 gcloud CLI, na 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 com 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 visualize os resultados do teste 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)