As permissões são concedidas aos membros do seu projeto por meio de funções . Uma função é uma coleção de permissões. Ao atribuir uma função a um membro do projeto, você concede a esse membro do projeto todas as permissões contidas na função.
Esta página descreve as ações habilitadas por permissões que você pode encontrar listadas em uma função compatível com o Firebase. Essas permissões se enquadram em duas categorias:
Permissões necessárias de gerenciamento de identidade e acesso (IAM) para todas as funções ou para ações específicas no Firebase
Permissões necessárias
Firebase IAM inclui permissões que são:
Obrigatório para usar qualquer produto ou serviço do Firebase.
Necessário para realizar algumas ações específicas do serviço do Firebase.
Necessário para realizar algumas ações específicas de gerenciamento do Firebase.
Para obter 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 em Permissões de IAM específicas do produto do Firebase .
Permissões necessárias incluídas em todas as funções
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 uma das funções predefinidas 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 executar comandos da Firebase CLI |
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 realizar algumas ações específicas do serviço do Firebase.
Quando necessário, essas permissões são incluídas automaticamente em cada uma das funções predefinidas do Firebase .
Ação | Permissão necessária |
---|---|
Acesse integrações de projetos do Firebase com ferramentas de colaboração (incluindo Slack, Jira e PagerDuty) | firebaseextensions.configs.* |
Veja o uso e as análises do StackDriver | monitoramento.timeSeries.list |
Execute comandos da CLI do Firebase Para obter mais informações, consulte a documentação do Google Cloud sobre o Runtime Configurator Access . | runtimeconfig.* |
Permissões necessárias para ações específicas de 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 de 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 | gerenciador de recursos.projects.delete |
firebase.projects.update | |
Adicionar recursos do Firebase a um projeto existente do Google Cloud | gerenciador de recursos.projects.get serviceusage.services.enable serviceusage.services.get |
Alterar o nome de um projeto do Firebase | gerenciador de recursos.projects.update |
Adicionar impressões digitais de certificados SHA para aplicativos Android | clientauthconfig.clients.create |
Remover impressões digitais de certificados SHA para aplicativos Android | clientauthconfig.clients.delete |
Atualizar ID da App Store ou Team ID para aplicativos Apple | clientauthconfig.clients.get clientauthconfig.clients.update |
Permissões de IAM específicas do produto 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 funções personalizadas .
Permissões de gerenciamento do Firebase
Observe que algumas das permissões de gerenciamento a seguir exigem permissões adicionais para determinadas ações .
Nome da permissão | Descrição |
---|---|
firebase.billingPlans.get | Recuperar o plano de faturamento atual do Firebase para um projeto |
firebase.billingPlans.update | Alterar o plano de faturamento atual do Firebase para um projeto |
firebase.clients.create | Adicionar novos aplicativos a um projeto |
firebase.clients.delete | Excluir aplicativos existentes de um projeto |
firebase.clients.get | Recuperar detalhes e configurações de aplicativos em um projeto |
firebase.clients.list | Recuperar uma lista de aplicativos em um projeto |
firebase.clients.undelete | Recuperar um aplicativo excluído antes que seus dados sejam excluídos permanentemente |
firebase.clients.update | Atualizar detalhes e configurações de aplicativos em um projeto |
firebase.links.create | Crie novos links para sistemas do Google (Firebase console > Configurações do projeto > Integrações) |
firebase.links.delete | Excluir links para sistemas do Google (Firebase console > Configurações do projeto > Integrações) |
firebase.links.list | Recuperar uma lista de links para sistemas do Google (Firebase console > Configurações do projeto > Integrações) |
firebase.links.update | Atualizar links existentes para sistemas do Google (Firebase console > Configurações do projeto > Integrações) |
firebase.playLinks.get | Recuperar detalhes sobre um link para o Google Play (Firebase console > Configurações do projeto > Integrações > Google Play) |
firebase.playLinks.list | Recuperar uma lista de links para o Google Play (Firebase console > Configurações do projeto > Integrações > Google Play) |
firebase.playLinks.update | Crie novos links e atualize os links existentes para o Google Play (Firebase console > Configurações do projeto > Integrações > Google Play) |
firebase.projects.delete | Excluir projetos existentes |
firebase.projects.get | Recuperar detalhes e recursos do Firebase para um projeto |
firebase.projects.update | Modifique os atributos de um projeto existente Receba alertas sobre produtos e recursos aplicáveis do Firebase ( saiba mais ) |
firebaseinstallations.instances.delete | Exclua um ID de instalação do Firebase e os dados vinculados a essa instalação ( saiba mais ) |
Permissões do Google Analytics
As permissões a seguir concedem acesso à propriedade do Analytics vinculada ao projeto do Firebase. Eles permitem que os membros do projeto Firebase acessem dados do Analytics, incluindo públicos, propriedades do usuário, funis, relatórios, conversões, etc.
Nome da permissão | Descrição |
---|---|
firebaseanalytics.resources.googleAnalytics | Por padrão, concede a função de Editor do Analytics à propriedade vinculada do Analytics |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | Por padrão, concede a função Analytics Marketer à propriedade vinculada do Analytics |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | Por padrão, concede a função de Visualizador do Analytics à propriedade vinculada do Analytics |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | Por padrão, concede a função de Visualizador do Analytics à propriedade vinculada do Analytics sem acesso aos dados de receita e de custo |
Permissões de verificação do aplicativo Firebase
Nome da permissão | Descrição |
---|---|
firebaseappcheck.appAttestConfig.get | Recuperar a configuração do App Attest de um aplicativo |
firebaseappcheck.appAttestConfig.update | Atualizar a configuração do App Attest de um aplicativo |
firebaseappcheck.appCheckTokens.verify | Verifique os tokens do App Check emitidos para um projeto do Firebase |
firebaseappcheck.debugTokens.get | Recuperar tokens de depuração de um aplicativo |
firebaseappcheck.debugTokens.update | Criar, atualizar ou excluir tokens de depuração de um aplicativo |
firebaseappcheck.deviceCheckConfig.get | Recuperar a configuração do DeviceCheck de um aplicativo |
firebaseappcheck.deviceCheckConfig.update | Atualizar a configuração do DeviceCheck de um aplicativo |
firebaseappcheck.playIntegrityConfig.get | Recuperar a configuração do Play Integrity de um app |
firebaseappcheck.playIntegrityConfig.update | Atualizar a configuração do Play Integrity de um app |
firebaseappcheck.recaptchaEnterpriseConfig.get | Recuperar a configuração do reCAPTCHA Enterprise de um aplicativo |
firebaseappcheck.recaptchaEnterpriseConfig.update | Atualizar a configuração do reCAPTCHA Enterprise de um aplicativo |
firebaseappcheck.recaptchaV3Config.get | Recuperar a configuração do reCAPTCHA v3 de um aplicativo |
firebaseappcheck.recaptchaV3Config.update | Atualizar a configuração do reCAPTCHA v3 de um aplicativo |
firebaseappcheck.safetyNetConfig.get | Recuperar a configuração SafetyNet de um aplicativo |
firebaseappcheck.safetyNetConfig.update | Atualizar a configuração SafetyNet de um aplicativo |
firebaseappcheck.services.get | Recuperar configurações de aplicação de serviço de um projeto |
firebaseappcheck.services.update | Atualizar configurações de aplicação de serviço 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 de autenticação do Firebase
Nome da permissão | Descrição |
---|---|
firebaseauth.configs.create | Crie a configuração de autenticação |
firebaseauth.configs.get | Recuperar a configuração de autenticação |
firebaseauth.configs.getHashConfig | Obtenha a configuração do hash de senha e o hash de senha das contas de usuário |
firebaseauth.configs.getSecret | Obtenha o segredo do cliente na configuração de autenticação |
firebaseauth.configs.update | Atualizar a configuração de autenticação existente |
firebaseauth.users.create | Crie novos usuários em autenticação |
firebaseauth.users.createSession | Criar cookie de sessão para um usuário logado |
firebaseauth.users.delete | Exclua usuários existentes na autenticação |
firebaseauth.users.get | Recuperar uma lista de usuários de autenticação existentes |
firebaseauth.users.sendEmail | Envie e-mails para os usuários |
firebaseauth.users.update | Atualizar usuários existentes na autenticação |
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 | Crie novos experimentos |
firebaseabt.experiments.delete | Excluir experimentos existentes |
firebaseabt.experiments.get | Recuperar detalhes de um experimento existente |
firebaseabt.experiments.list | Recuperar uma lista de experimentos existentes |
firebaseabt.experiments.update | Atualizar uma experiência existente |
firebaseabt.projectmetadata.get | Recuperar metadados analíticos para configurar um experimento |
Permissões do Cloud Firestore
Para obter uma lista e descrições das permissões do Cloud Firestore, consulte a documentação do Google Cloud .
Permissões do Cloud Storage
Para obter uma lista e descrições das permissões do Cloud Storage, consulte a documentação do Google Cloud .
Permissões das regras de segurança do Firebase (Cloud Firestore e Cloud Storage)
Nome da permissão | Descrição |
---|---|
firebaserules.releases.create | Criar lançamentos |
firebaserules.releases.delete | Excluir lançamentos |
firebaserules.releases.get | Recuperar lançamentos |
firebaserules.releases.getExecutable | Recuperar as cargas binárias executáveis para lançamentos |
firebaserules.releases.list | Recuperar uma lista de lançamentos |
firebaserules.releases.update | Atualizar referências de conjunto de regras para versões |
firebaserules.rulesets.create | Crie novos conjuntos de regras |
firebaserules.rulesets.delete | Excluir conjunto de regras existente |
firebaserules.rulesets.get | Recuperar conjuntos de regras com origem |
firebaserules.rulesets.list | Encontre metadados do conjunto de regras (sem fonte) |
firebaserules.rulesets.test | Fontes de teste para correção |
Permissões do Cloud Functions para Firebase
Para obter 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 nas funções predefinidas padrão do Firebase . Para implantar funções, use uma das seguintes opções:
Delegar a implantação de funções a um proprietário do projeto.
Se você estiver implantando apenas funções não HTTP, um Editor de projeto poderá implantar suas funções.
Delegue a implantação de funções a um membro do projeto que tenha as duas funções a seguir:
- Função de administrador do Cloud Functions (
roles/cloudfunctions.admin
) - Função de usuário da conta de serviço (
roles/iam.serviceAccountUser
)
O proprietário do projeto pode atribuir essas funções a um membro do projeto usando o console do Google Cloud ou a CLI gcloud . Para obter etapas detalhadas e implicações de segurança para esta configuração de função, consulte a documentação do IAM .
- Função de administrador do Cloud Functions (
Permissões de campanhas de mensagens do Firebase
Essas permissões se aplicam a campanhas do Firebase Cloud Messaging e do Firebase In-App Messaging.
Nome da permissão | Descrição |
---|---|
firebasemessagingcampaigns.campaigns.create | Crie novas campanhas |
firebasemessagingcampaigns.campaigns.delete | Excluir campanhas existentes |
firebasemessagingcampaigns.campaigns.get | Recuperar detalhes de campanhas existentes |
firebasemessagingcampaigns.campaigns.list | Recuperar uma lista de campanhas existentes |
firebasemessagingcampaigns.campaigns.update | Atualizar campanhas existentes |
firebasemessagingcampaigns.campaigns.start | Iniciar campanhas existentes |
firebasemessagingcampaigns.campaigns.stop | Atualizar campanhas existentes |
Permissões do Firebase Cloud Messaging
Nome da permissão | Descrição |
---|---|
nuvemmessaging.messages.create | Envie notificações e mensagens de dados por meio da API HTTP do FCM e do Admin SDK |
Nome da permissão | Descrição |
---|---|
firebasenotifications.messages.create | Crie novas mensagens no compositor de notificações |
firebasenotifications.messages.delete | Exclua mensagens existentes no compositor do Notificações |
firebasenotifications.messages.get | Recuperar detalhes de mensagens existentes no compositor de Notificações |
firebasenotifications.messages.list | Recuperar uma lista de mensagens existentes no compositor de Notificações |
firebasenotifications.messages.update | Atualizar mensagens existentes no compositor de Notificações |
Permissões do Firebase Crashlytics
Nome da permissão | Descrição |
---|---|
firebasecrashlytics.config.get | Recuperar definições de configuração 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 notas anexadas aos problemas |
firebasecrashlytics.issues.list | Recuperar uma lista de problemas do Crashlytics |
firebasecrashlytics.issues.update | Abrir, fechar e silenciar problemas existentes do Crashlytics Notas de atualização anexadas aos problemas |
firebasecrashlytics.sessions.get | Recuperar detalhes sobre sessões de falha do Crashlytics |
Nome da permissão | Descrição |
---|---|
firebasecrash.issues.update | Atualize problemas existentes do Crashlytics, crie notas sobre problemas e defina alertas de velocidade |
firebasecrash.reports.get | Recuperar relatórios existentes do Crashlytics |
Permissões do Firebase Dynamic Links
Nome da permissão | Descrição |
---|---|
firebasedynamiclinks.domains.create | Crie novos domínios de Dynamic Links |
firebasedynamiclinks.domains.delete | Excluir domínios Dynamic Links existentes |
firebasedynamiclinks.domains.get | Recuperar detalhes de domínios Dynamic Links existentes |
firebasedynamiclinks.domains.list | Recuperar uma lista de domínios Dynamic Links existentes |
firebasedynamiclinks.domains.update | Atualizar domínios Dynamic Links existentes |
firebasedynamiclinks.links.create | Crie novos links dinâmicos |
firebasedynamiclinks.links.get | Recuperar detalhes de links dinâmicos existentes |
firebasedynamiclinks.links.list | Recuperar uma lista de links dinâmicos existentes |
firebasedynamiclinks.links.update | Atualizar links dinâmicos existentes |
firebasedynamiclinks.stats.get | Recuperar estatísticas de links dinâmicos |
firebasedynamiclinks.destinations.list | Recuperar destinos de Dynamic Links existentes |
firebasedynamiclinks.destinations.update | Atualizar destinos de Dynamic Links existentes |
Permissões de publicação de extensões do Firebase
Nome da permissão | Descrição |
---|---|
firebaseextensionspublisher.extensions.create | Carregar novas versões de uma extensão |
firebaseextensionspublisher.extensions.delete | Excluir ou descontinuar 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ão enviadas por este projeto de editor |
Permissões do Firebase Hosting
Nome da permissão | Descrição |
---|---|
firebasehosting.sites.create | Crie novos recursos de hospedagem para um projeto do Firebase |
firebasehosting.sites.delete | Excluir recursos de hospedagem existentes para um projeto do Firebase |
firebasehosting.sites.get | Recuperar detalhes de recursos de hospedagem existentes para um projeto do Firebase |
firebasehosting.sites.list | Recuperar uma lista de recursos de hospedagem para um projeto do Firebase |
firebasehosting.sites.update | Atualizar recursos de hospedagem existentes para um projeto do Firebase |
Permissões do Firebase In-App Messaging (beta)
Nome da permissão | Descrição |
---|---|
firebaseinappmessaging.campaigns.create | Crie novas campanhas |
firebaseinappmessaging.campaigns.delete | Excluir campanhas existentes |
firebaseinappmessaging.campaigns.get | Recuperar detalhes de campanhas existentes |
firebaseinappmessaging.campaigns.list | Recuperar uma lista de campanhas existentes |
firebaseinappmessaging.campaigns.update | Atualizar campanhas existentes |
Permissões do Firebase ML (beta)
Nome da permissão | Descrição |
---|---|
firebaseml.models.create | Crie novos modelos de ML |
firebaseml.models.update | Atualizar modelos de ML existentes |
firebaseml.models.delete | Excluir modelos de ML existentes |
firebaseml.models.get | Recuperar detalhes de modelos de ML existentes |
firebaseml.models.list | Recuperar uma lista de modelos de ML existentes |
firebaseml.modelversions.create | Criar novas versões de modelo |
firebaseml.modelversions.get | Recuperar detalhes de versões de modelos existentes |
firebaseml.modelversions.list | Recuperar uma lista de versões de modelos existentes |
firebaseml.modelversions.update | Atualizar versões de modelos existentes |
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 limites de problemas existentes |
firebaseperformance.config.update | Modificar configurações de limites de alertas e problemas existentes |
firebaseperformance.data.get | Visualize todos os dados de desempenho e emita valores limite |
Permissões do Firebase Realtime Database
Nome da permissão | Descrição |
---|---|
firebasedatabase.instances.create | Crie novas instâncias de banco de dados |
firebasedatabase.instances.get | Recuperar os metadados de 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 existentes |
firebasedatabase.instances.update | Acesso total de leitura e gravação aos dados em instâncias de banco de dados existentes Habilitar e desabilitar instâncias de banco de dados Recuperar e modificar regras de segurança para instâncias de banco de dados existentes |
firebasedatabase.instances.disable | Desabilitar instâncias de banco de dados ativas Os dados existentes são mantidos, mas não ficam acessíveis para leitura/gravação. |
firebasedatabase.instances.reenable | Reativar instâncias de banco de dados desativadas Os dados existentes estão novamente acessíveis para leitura/gravação. |
firebasedatabase.instances.delete | Excluir instâncias de banco de dados desabilitadas Os nomes de bancos de dados excluídos não podem ser reutilizados. Os dados em uma instância de banco de dados excluída são excluídos permanentemente após 20 dias. |
firebasedatabase.instances.undelete | Recuperar uma instância de banco de dados excluída antes que seus dados sejam excluídos permanentemente Os dados em uma instância de banco de dados excluída são excluídos permanentemente 20 dias após a exclusão da instância. |
Permissões da Configuração remota do Firebase
Nome da permissão | Descrição |
---|---|
cloudconfig.configs.get | Recuperar dados do Configuração remota |
cloudconfig.configs.update | Atualizar dados do Configuração remota |
Permissões do Firebase Test Lab
O Test Lab requer acesso aos buckets do Cloud Storage, portanto, requer uma configuração específica de permissões que não estão todas incluídas nas funções predefinidas padrão do Firebase . Para conceder acesso ao Test Lab, use uma das seguintes opções:
Para testes iniciados no console do Firebase
Teste seu aplicativo em um projeto separado e dedicado do Firebase.
Adicione membros que precisam de acesso ao Test Lab e atribua a eles funções de projeto legado usando o Firebase console .
- Para permitir que um membro execute testes com o Test Lab, atribua o Editor do projeto ou superior.
- Para permitir que um membro visualize os resultados do teste no Test Lab, atribua o visualizador do projeto ou superior.
Para testes iniciados na CLI gcloud , na API Testing ou em dispositivos gerenciados Gradle enquanto você usa seu próprio bucket do Cloud Storage
Atribua um par de funções predefinidas (que juntas concedem o conjunto necessário de permissões) usando o console do Google Cloud .
Para permitir que um membro execute testes com o Test Lab, atribua ambos:
- Administrador do Firebase Test Lab (
roles/cloudtestservice.testAdmin
) - Visualizador do Firebase Analytics (
roles/firebase.analyticsViewer
)
- Administrador do Firebase Test Lab (
Para permitir que um membro visualize os resultados do teste no Test Lab, atribua ambos:
- Visualizador do Firebase Test Lab (
roles/cloudtestservice.testViewer
) - Visualizador do Firebase Analytics (
roles/firebase.analyticsViewer
)
- Visualizador do Firebase Test Lab (
Nome da permissão | Descrição |
---|---|
cloudtestservice.environmentcatalog.get | Recuperar o catálogo de ambientes de teste suportados para um projeto |
cloudtestservice.matrices.create | Solicitação para executar uma matriz de testes de acordo com as 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 para um histórico |
cloudtoolresults.executions.get | Recuperar uma execução existente |
cloudtoolresults.executions.create | Crie uma nova execução |
cloudtoolresults.executions.update | Atualizar uma execução existente |
cloudtoolresults.histories.list | Recuperar uma lista de históricos |
cloudtoolresults.histories.get | Recuperar um histórico existente |
cloudtoolresults.histories.create | Crie um novo histórico |
cloudtoolresults.settings.create | Criar novas configurações de resultados de ferramentas |
cloudtoolresults.settings.get | Recuperar configurações de resultados de ferramentas existentes |
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 existente |
cloudtoolresults.steps.create | Crie uma nova etapa |
cloudtoolresults.steps.update | Atualizar uma etapa existente |
Integrações com permissões de serviços externos
Nome da permissão | Descrição |
---|---|
firebaseextensions.configs.create | Crie novas configurações de extensão para serviços externos (Firebase console > Configurações do projeto > Integrações) |
firebaseextensions.configs.delete | Excluir configurações de extensão existentes para serviços externos (Firebase console > Configurações do projeto > Integrações) |
firebaseextensions.configs.list | Recuperar uma lista de configurações de extensão para serviços externos (Firebase console > Configurações do projeto > Integrações) |
firebaseextensions.configs.update | Atualizar configurações de extensão existentes para serviços externos (Firebase console > Configurações do projeto > Integrações) |