Esta página descreve as práticas recomendadas mais importantes para segurança em vários ambientes, mas revise a lista de verificação de segurança para obter orientações mais detalhadas e completas sobre segurança e o Firebase.
Segurança para ambientes de pré-produção
Um benefício de separar ambientes em diferentes projetos do Firebase é que um agente mal-intencionado que consiga acessar seus ambientes de pré-produção não conseguirá acessar dados reais do usuário. Aqui estão as precauções de segurança mais importantes a serem tomadas em ambientes de pré-produção:
Limite o acesso a ambientes de pré-produção. Para aplicativos móveis, use o App Distribution (ou algo semelhante) para distribuir um aplicativo para um conjunto específico de pessoas. Os aplicativos da Web são mais difíceis de restringir; considere configurar uma função de bloqueio para os ambientes de pré-produção que restrinja o acesso a usuários com endereços de e-mail específicos do seu domínio. Ou, se você estiver usando o Firebase Hosting, configure seus fluxos de trabalho de pré-produção para usar URLs de visualização temporários .
Quando um ambiente não precisa ser persistido e está sendo utilizado apenas por uma pessoa (ou no caso de testes, por uma máquina) utilize o Firebase Local Emulator Suite . Esses emuladores são mais seguros e rápidos porque podem funcionar inteiramente em localhost em vez de usar recursos da nuvem.
Certifique-se de ter as regras de segurança do Firebase configuradas em ambientes de pré-produção, assim como você faz na produção. Em geral, as regras devem ser as mesmas em todos os ambientes, com a ressalva de que, como as regras mudam com o código, pode haver regras anteriores no pipeline que ainda não existem na produção.
Segurança para ambientes de produção
Os dados de produção são sempre um alvo, mesmo que o aplicativo seja obscuro. Seguir estas diretrizes não impossibilita que um agente mal-intencionado obtenha seus dados, mas torna isso mais difícil:
Habilite e aplique o App Check para todos os produtos que você usa e que o suportam. O App Check garante que as solicitações para seus serviços de back-end sejam provenientes de seus aplicativos originais. Para usá-lo, você precisa registrar cada versão do seu aplicativo no App Check. É mais fácil configurar antes de você ter usuários, então configure-o o mais rápido possível.
Escreva regras de segurança robustas para o Firebase . O Realtime Database, o Cloud Firestore e o Cloud Storage contam com regras configuradas pelo desenvolvedor para impor quem deve ou não ter acesso aos dados. É essencial para sua segurança que você escreva boas regras. Se você não sabe como, comece com este codelab .
Revise a lista de verificação de segurança para obter mais recomendações sobre segurança para ambientes de produção.