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 que a função contém.
Esta página descreve as ações habilitadas por permissões que você pode encontrar listadas em uma função com suporte do Firebase. Essas permissões se enquadram em duas categorias:
Permissões de gerenciamento de identidade e acesso (IAM) necessárias para todas as funções ou para ações específicas no Firebase
Permissões necessárias
O Firebase IAM inclui permissões que são:
Necessário para executar algumas ações específicas do serviço Firebase.
Necessário para executar algumas ações específicas de gerenciamento do Firebase.
Para obter uma lista geral e uma descrição de permissões específicas para um produto ou serviço Firebase, consulte a seção apropriada em Permissões IAM específicas do produto 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 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 Firebase | |
Concede permissões para recuperar informações do projeto Firebase | |
Concede permissões para verificar o estado das APIs do Google e para executar comandos Firebase CLI |
Permissões necessárias para ações específicas do serviço Firebase
As permissões listadas na tabela a seguir são necessárias para executar algumas ações específicas do serviço 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 |
Executar comandos da CLI do Firebase Para obter mais informações, consulte a documentação do Google Cloud sobre 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 cobrança 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 |
Remova as impressões digitais do certificado SHA para aplicativos Android | clientauthconfig.clients.delete |
Atualize o ID da App Store ou o ID da equipe para aplicativos da Apple | clientauthconfig.clients.get clientauthconfig.clients.update |
Permissões 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 seguintes permissões de gerenciamento requerem permissões adicionais para determinadas ações .
Nome da permissão | Descrição |
---|---|
firebase.billingPlans.get | Recupere 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 | Recupere detalhes e configurações de aplicativos em um projeto |
firebase.clients.list | Recuperar uma lista de aplicativos em um projeto |
firebase.clients.undelete | Recupere 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 os 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 | Recupere uma lista de links para os sistemas do Google (Firebase console > Configurações do projeto > Integrações) |
firebase.links.update | Atualize os links existentes para os 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 | Recupere 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 | Recupere detalhes e recursos do Firebase para um projeto |
firebase.projects.update | Modifique os atributos de um projeto existente Receba alertas para 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 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.googleAnalyticsEditar | Por padrão, concede a função de Editor de Analytics à propriedade de Analytics vinculada |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | Por padrão, concede a função de comerciante do Analytics à propriedade vinculada do Analytics |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | Por padrão, concede a função Visualizador do Analytics à propriedade vinculada do Analytics |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | Por padrão, concede o papel de visualizador do Analytics à propriedade vinculada do Analytics sem acesso aos dados de receita e dados de custo |
Permissões de verificação de aplicativos do Firebase
Nome da permissão | Descrição |
---|---|
firebaseappcheck.appAttestConfig.get | Recuperar a configuração do App Attest de um aplicativo |
firebaseappcheck.appAttestConfig.update | Atualize a configuração do App Attest de um aplicativo |
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 | Recupere a configuração do DeviceCheck de um aplicativo |
firebaseappcheck.deviceCheckConfig.update | Atualize a configuração do DeviceCheck de um aplicativo |
firebaseappcheck.playIntegrityConfig.get | Recupere a configuração do Play Integrity de um app |
firebaseappcheck.playIntegrityConfig.update | Atualizar a configuração do Play Integrity de um aplicativo |
firebaseappcheck.recaptchaEnterpriseConfig.get | Recupere a configuração do reCAPTCHA Enterprise de um aplicativo |
firebaseappcheck.recaptchaEnterpriseConfig.update | Atualize a configuração do reCAPTCHA Enterprise de um aplicativo |
firebaseappcheck.recaptchaV3Config.get | Recupere a configuração reCAPTCHA v3 de um aplicativo |
firebaseappcheck.recaptchaV3Config.update | Atualize a configuração do reCAPTCHA v3 de um aplicativo |
firebaseappcheck.safetyNetConfig.get | Recupere a configuração SafetyNet de um aplicativo |
firebaseappcheck.safetyNetConfig.update | Atualize 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 | Recupere 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 | Recupere uma lista de testadores existentes em um projeto |
firebaseappdistro.testers.update | Criar e excluir testadores em um projeto |
firebaseappdistro.groups.list | Recupere 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 | Crie a configuração de autenticação |
firebaseauth.configs.get | Recupere a configuração de autenticação |
firebaseauth.configs.getHashConfig | Obtenha a configuração de hash de senha e hash de senha de contas de usuário |
firebaseauth.configs.getSecret | Obtenha o segredo do cliente na configuração de autenticação |
firebaseauth.configs.update | Atualize a configuração de autenticação existente |
firebaseauth.users.create | Criar novos usuários na Autenticação |
firebaseauth.users.createSession | Criar cookie de sessão para um usuário logado |
firebaseauth.users.delete | Excluir usuários existentes na Autenticação |
firebaseauth.users.get | Recupere uma lista de usuários de autenticação existentes |
firebaseauth.users.sendEmail | Enviar e-mails para os usuários |
firebaseauth.users.update | Atualizar usuários existentes na Autenticação |
Permissões de teste A/B do Firebase (beta)
Nome da permissão | Descrição |
---|---|
firebaseabt.experimentresults.get | Recuperar os resultados de uma experiência |
firebaseabt.experiments.create | Criar novos experimentos |
firebaseabt.experiments.delete | Excluir experimentos existentes |
firebaseabt.experiments.get | Recuperar detalhes de um experimento existente |
firebaseabt.experiments.list | Recupere uma lista de experimentos existentes |
firebaseabt.experiments.update | Atualizar um experimento existente |
firebaseabt.projectmetadata.get | Recupere metadados analíticos para configurar uma experiência |
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 de armazenamento em nuvem
Para obter uma lista e descrições de 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 | Recupere os payloads executáveis binários para lançamentos |
firebaserules.releases.list | Recupere uma lista de lançamentos |
firebaserules.releases.update | Atualize as referências do conjunto de regras para lançamentos |
firebaserules.rulesets.create | Criar novos conjuntos de regras |
firebaserules.rulesets.delete | Excluir conjunto de regras existente |
firebaserules.rulesets.get | Recuperar conjuntos de regras com fonte |
firebaserules.rulesets.list | Encontrar 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:
Delegue 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
) - Papel do usuário da conta de serviço (
roles/iam.serviceAccountUser
)
Um proprietário de projeto pode atribuir essas funções a um membro do projeto usando o Google Cloud Console ou a gcloud CLI . 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 do Firebase Cloud Messaging
Nome da permissão | Descrição |
---|---|
cloudmessaging.messages.create | Envie notificações e mensagens de dados por meio da API HTTP do FCM e do Admin SDK |
firebasenotifications.messages.create | Crie novas mensagens no compositor de Notificações |
firebasenotifications.messages.delete | Excluir mensagens existentes no compositor de Notificações |
firebasenotifications.messages.get | Recupere detalhes de mensagens existentes no compositor de Notificações |
firebasenotifications.messages.list | Recupere uma lista de mensagens existentes no compositor de Notificações |
firebasenotifications.messages.update | Atualize as 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 configurações do Crashlytics |
firebasecrashlytics.data.get | Recupere métricas associadas a problemas e sessões do Crashlytics |
firebasecrashlytics.issues.get | Recupere detalhes sobre problemas do Crashlytics, incluindo notas anexadas aos problemas |
firebasecrashlytics.issues.list | Recupere uma lista de problemas do Crashlytics |
firebasecrashlytics.issues.update | Abrir, fechar e silenciar problemas existentes do Crashlytics Atualizar notas anexadas a problemas |
firebasecrashlytics.sessions.get | Recuperar detalhes sobre as sessões de travamento do Crashlytics |
Nome da permissão | Descrição |
---|---|
firebasecrash.issues.update | Atualize os problemas existentes do Crashlytics, crie notas sobre os 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 | Criar novos domínios de links dinâmicos |
firebasedynamiclinks.domains.delete | Excluir domínios de links dinâmicos existentes |
firebasedynamiclinks.domains.get | Recupere detalhes de domínios de links dinâmicos existentes |
firebasedynamiclinks.domains.list | Recupere uma lista de domínios de links dinâmicos existentes |
firebasedynamiclinks.domains.update | Atualizar domínios de links dinâmicos existentes |
firebasedynamiclinks.links.create | Criar novos links dinâmicos |
firebasedynamiclinks.links.get | Recupere detalhes de links dinâmicos existentes |
firebasedynamiclinks.links.list | Recupere 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 links dinâmicos existentes |
firebasedynamiclinks.destinations.update | Atualizar destinos de links dinâmicos existentes |
Permissões de hospedagem do Firebase
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 | Recupere detalhes de recursos de hospedagem existentes para um projeto do Firebase |
firebasehosting.sites.list | Recupere uma lista de recursos de hospedagem para um projeto do Firebase |
firebasehosting.sites.update | Atualize os recursos de hospedagem existentes para um projeto do Firebase |
Permissões de mensagens no aplicativo do Firebase (beta)
Nome da permissão | Descrição |
---|---|
firebaseinappmessaging.campaigns.create | Criar novas campanhas |
firebaseinappmessaging.campaigns.delete | Excluir campanhas existentes |
firebaseinappmessaging.campaigns.get | Recuperar detalhes de campanhas existentes |
firebaseinappmessaging.campaigns.list | Recupere uma lista de campanhas existentes |
firebaseinappmessaging.campaigns.update | Atualizar campanhas existentes |
Permissões do Firebase ML (beta)
Nome da permissão | Descrição |
---|---|
firebaseml.compressionjobs.create | Criar novos trabalhos de compactação |
firebaseml.compressionjobs.delete | Excluir trabalhos de compactação existentes |
firebaseml.compressionjobs.get | Recupere detalhes de trabalhos de compactação existentes |
firebaseml.compressionjobs.list | Recupere uma lista de trabalhos de compactação existentes |
firebaseml.compressionjobs.start | Iniciar trabalhos de compactação |
firebaseml.compressionjobs.update | Atualize trabalhos de compactação existentes |
firebaseml.models.create | Criar novos modelos de ML |
firebaseml.models.update | Atualizar modelos de ML existentes |
firebaseml.models.delete | Excluir modelos de ML existentes |
firebaseml.models.get | Recupere detalhes de modelos de ML existentes |
firebaseml.models.list | Recupere uma lista de modelos de ML existentes |
firebaseml.modelversions.create | Criar novas versões de modelo |
firebaseml.modelversions.get | Recupere detalhes de versões de modelos existentes |
firebaseml.modelversions.list | Recupere uma lista de versões de modelos existentes |
firebaseml.modelversions.update | Atualizar versões de modelos existentes |
Permissões de 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 existentes |
firebaseperformance.config.update | Modificar alertas e configurações de limites de problemas existentes |
firebaseperformance.data.get | Visualize todos os dados de desempenho e emita valores de limite |
Permissões do Firebase Realtime Database
Nome da permissão | Descrição |
---|---|
firebasedatabase.instances.create | Criar novas instâncias de banco de dados |
firebasedatabase.instances.get | Recupere 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 | Recupere 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 Ativar e desativar instâncias de banco de dados Recupere e modifique 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 estão acessíveis para leituras/gravações. |
firebasedatabase.instances.reenable | Reativar instâncias de banco de dados desativadas Os dados existentes estão novamente acessíveis para leituras/gravações. |
firebasedatabase.instances.delete | Excluir instâncias de banco de dados desabilitadas Nomes de banco 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 | Recupere 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 do Firebase Remote Config
Nome da permissão | Descrição |
---|---|
cloudconfig.configs.get | Recuperar dados do Remote Config |
cloudconfig.configs.update | Atualizar dados de configuração remota |
Permissões do Firebase Test Lab
O Test Lab requer acesso a 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 padrão predefinidas do Firebase . Para conceder acesso ao Test Lab, use uma das seguintes opções:
Para testes iniciados no Firebase console
Teste seu aplicativo em um projeto dedicado separado do Firebase.
Adicione membros que precisam de acesso ao Test Lab e, em seguida, atribua a eles funções de projetos herdados usando o Firebase console .
- Para permitir que um membro execute testes com o Test Lab, atribua Editor de 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 gcloud CLI ou Testing API usando seu próprio intervalo do Cloud Storage
Atribua um par de funções predefinidas (que juntas concedem o conjunto necessário de permissões) usando o Google Cloud Console .
Para permitir que um membro execute testes com o Test Lab, atribua ambos:
- Administrador do Firebase Test Lab (
roles/cloudtestservice.testAdmin
) - Firebase Analytics Viewer (
roles/firebase.analyticsViewer
)
- Administrador do Firebase Test Lab (
Para permitir que um membro visualize os resultados do teste no Test Lab, atribua ambos:
- Firebase Test Lab Viewer (
roles/cloudtestservice.testViewer
) - Firebase Analytics Viewer (
roles/firebase.analyticsViewer
)
- Firebase Test Lab Viewer (
Nome da permissão | Descrição |
---|---|
cloudtestservice.environmentcatalog.get | Recupere o catálogo de ambientes de teste com suporte 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 | Recupere uma lista de Execuções para um Histórico |
cloudtoolresults.executions.get | Recuperar uma execução existente |
cloudtoolresults.executions.create | Criar 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 | Criar 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 | Recupere uma lista de etapas para uma execução |
cloudtoolresults.steps.get | Recuperar uma etapa existente |
cloudtoolresults.steps.create | Criar 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 | Recupere uma lista de configurações de extensão para serviços externos (Firebase console > Configurações do projeto > Integrações) |
firebaseextensions.configs.update | Atualize as configurações de extensão existentes para serviços externos (Firebase console > Configurações do projeto > Integrações) |