Diretrizes gerais de segurança para diferentes ambientes de fluxo de desenvolvimento

Nesta página, descrevemos as práticas recomendadas mais importantes para a segurança em vários ambientes. Confira a Lista de verificação de segurança para ver orientações mais detalhadas sobre segurança e Firebase.

Segurança para ambientes de pré-produção

Uma vantagem de separar ambientes em diferentes projetos do Firebase é que uma pessoa com más intenções que conseguir acessar seus ambientes de pré-produção não terá acesso aos dados reais dos usuários. Veja as precauções de segurança mais importantes que devem ser tomadas em ambientes de pré-produção:

  • Limite o acesso a ambientes de pré-produção. No caso de apps para dispositivos móveis, use App Distribution (ou algo semelhante) para distribuir um app a um grupo específico de pessoas. Os aplicativos da Web são mais difíceis de restringir. Configure uma função de bloqueio para os ambientes de pré-produção que restringem o acesso a usuários com endereços de e-mail específicos a seu domínio. Se você estiver usando Firebase Hosting, configure os fluxos de trabalho de pré-produção para que usem URLs de visualização temporária.

  • Quando um ambiente não precisar ser mantido e estiver sendo usado apenas por uma pessoa ou, no caso de testes, por uma máquina, use o Firebase Local Emulator Suite. Esses emuladores são mais seguros e mais rápidos porque podem funcionar totalmente no localhost, em vez de usar recursos da nuvem.

  • Certifique-se de que as Firebase Security Rules estejam configuradas em ambientes de pré-produção e produção. De maneira geral, as Rules precisam ser as mesmas em todos os ambientes, mas por mudarem com o código, talvez no pipeline haja regras que ainda não estão na produção.

Segurança para ambientes de produção

Os dados de produção são sempre um alvo, mesmo em apps pouco conhecidos. Seguir essas diretrizes não impede totalmente que alguém mal-intencionado receba seus dados, mas torna isso bem mais difícil:

  • Ative e implemente o App Check em todos os produtos que você está usando. O App Check garante que as solicitações para seus serviços de back-end sejam provenientes dos seus apps originais. Para usá-lo, é preciso registrar cada versão do app com a App Check. É mais fácil definir a configuração antes de ter usuários, portanto, configure o quanto antes.

  • Crie Firebase Security Rules robustos. Realtime Database, Cloud Firestore e Cloud Storage dependem de Rules configurado pelo desenvolvedor para forçar quem pode e quem não pode acessar dados. Para sua segurança, é essencial que você elabore boas Rules. Se você não souber como fazer isso, comece com este codelab.

  • Analise a Lista de verificação de segurança para ver mais recomendações sobre a segurança dos ambientes de produção.

Próximas etapas