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 do Identity and Access Management (IAM) obrigatórias para todos os papéis ou para ações específicas no Firebase
Permissões necessárias
O IAM do Firebase inclui permissões que são:
obrigatórias para usar qualquer produto ou serviço do Firebase;
obrigatórias para executar algumas ações específicas dos serviços do Firebase;
obrigatórias para executar algumas ações específicas do gerenciamento do Firebase.
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:
Delegar a implantação de papéis a um Proprietário do projeto.
Se você estiver implantando apenas papéis que não são HTTP, um Editor de projeto poderá implantar suas funções.
Delegue a implantação de papéis a um membro do projeto que tenha os dois papéis a seguir:
- Papel de administrador do Cloud Functions (
roles/cloudfunctions.admin
) - Papel de usuário da conta de serviço (
roles/iam.serviceAccountUser
)
Um Proprietário do projeto pode atribuir esses papéis a um membro do projeto usando o console do Google Cloud ou a CLI gcloud. Para conferir as etapas detalhadas e as implicações de segurança dessa configuração de papéis, consulte a documentação do IAM.
- Papel de administrador do Cloud Functions (
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 |
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 |
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
)
- Administrador do Firebase Test Lab (
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
)
- Leitor do Firebase Test Lab (
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) |