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 você pode encontrar listadas em um papel compatível com o 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 Firebase IAM inclui permissões que sejam:
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 produto 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 |
---|---|
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | Concede permissão para visualizar segmentos e dados do Google Analytics. |
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 produto 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 atual de um projeto |
firebase.billingPlans.update | Alterar o plano de faturamento do Firebase atual 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 aplicativos de um projeto |
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.list | Recuperar uma lista de projetos do Firebase |
firebase.projects.update | Modificar os atributos de um projeto Receber alertas para produtos e recursos aplicáveis do Firebase (Saiba mais) |
Permissões do Firebase App Distribution (Beta)
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 Google Analytics
Nome da permissão | Descrição |
---|---|
firebaseanalytics.resources.googleAnalyticsEdit | Modificar dados existentes do Google Analytics, incluindo públicos-alvo, propriedades de usuários, funis, parâmetros de relatórios, conversões e postbacks Para mais informações, consulte a Ajuda do Google Analytics. |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | Visualize dados existentes do Google Analytics, incluindo relatórios e dados de configuração
Manipule dados em relatórios (por exemplo, filtros) Para mais informações, consulte a Ajuda do Analytics. |
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.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 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 a configuração e o hash de senha de contas de usuário |
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 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:
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 ver 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 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 AdminSDK |
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 existentes no Editor do Notificações |
firebasenotifications.messages.list | Recuperar uma lista de mensagens existentes no Editor do Notificações |
firebasenotifications.messages.update | Atualizar mensagens existentes 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 |
firebasecrashlytics.sessions.list | Recuperar uma lista de 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 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 existentes de 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 de 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.compressionjobs.create | Criar novos jobs de compactação |
firebaseml.compressionjobs.delete | Excluir jobs de compactação |
firebaseml.compressionjobs.get | Recuperar detalhes de jobs de compactação |
firebaseml.compressionjobs.list | Recuperar lista de jobs de compactação de um projeto |
firebaseml.compressionjobs.start | Iniciar jobs de compactação |
firebaseml.compressionjobs.update | Atualizar jobs de compactação |
firebaseml.models.create | Criar novos 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 emitir valores de limite |
Permissões do Firebase Previsões
Nome da permissão | Descrição |
---|---|
firebasepredictions.predictions.create | Criar novas previsões |
firebasepredictions.predictions.delete | Excluir previsões |
firebasepredictions.predictions.list | Recuperar uma lista de previsões |
firebasepredictions.predictions.update | Atualizar previsões |
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 | Oferecer acesso somente leitura aos dados no banco de dado |
firebasedatabase.instances.list | Recuperar uma lista de instâncias de banco de dados |
firebasedatabase.instances.update | Atualizar instâncias de banco de dados existentes Ativar e desativar instâncias de banco de dados Acesso de gravação aos dados no banco de dados Recuperar e modificar regras de segurança do banco de dados Recuperar e modificar gatilhos do Cloud Functions para o banco de dados |
Permissões do 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 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 pela CLI gcloud ou pela API Testing 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 existentes 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 existentes para serviços externos (Console do Firebase > Configurações do projeto > Integrações) |