Na tej stronie opisujemy najważniejsze sprawdzone metody dotyczące bezpieczeństwa w różnych środowiskach, ale bardziej szczegółowe i wyczerpujące wskazówki dotyczące bezpieczeństwa i Firebase znajdziesz na liście kontrolnej zabezpieczeń.
Zabezpieczenia środowisk przedprodukcyjnych
Jedną z korzyści oddzielenia środowisk w różnych projektach w Firebase jest to, że nieuczciwy podmiot, który uzyska dostęp do środowisk przedprodukcyjnych, nie będzie mieć dostępu do danych użytkownika. Oto najważniejsze środki ostrożności, które należy podjąć w środowiskach przedprodukcyjnych:
Ogranicz dostęp do środowisk przedprodukcyjnych. W przypadku aplikacji mobilnych użyj App Distribution (lub podobnego tagu), aby rozpowszechnić aplikację wśród określonej grupy osób. Aplikacje internetowe trudniej jest ograniczyć. Rozważ skonfigurowanie funkcji blokującej w środowiskach przedprodukcyjnych, która ogranicza dostęp do użytkowników z adresami e-mail w Twojej domenie. Jeśli używasz Firebase Hosting, skonfiguruj przepływy pracy przedprodukcyjnej tak, aby korzystały z tymczasowych adresów URL podglądu.
Jeśli środowisko nie musi być trwałe i jest używane tylko przez jedną osobę (lub w przypadku testów przez 1 maszynę), użyj Firebase Local Emulator Suite. Te emulatory są bezpieczniejsze i szybsze, ponieważ mogą działać w całości na hoście lokalnym, zamiast korzystać z zasobów w chmurze.
Upewnij się, że masz skonfigurowany parametr Firebase Security Rules w środowiskach przedprodukcyjnych, tak jak w środowisku produkcyjnym. Ogólnie rzecz biorąc, parametr Security Rules powinien być taki sam we wszystkich środowiskach, z tym zastrzeżeniem, że ponieważ reguły zmieniają się wraz z kodem, w przypadku wcześniejszych etapów procesu mogą występować reguły, które nie istnieją jeszcze w środowisku produkcyjnym.
Bezpieczeństwo w środowiskach produkcyjnych
Dane produkcyjne są zawsze celem ataku, nawet jeśli aplikacja jest mało znana. Postępowanie zgodnie z tymi wytycznymi nie uniemożliwia nieuczciwym podmiotom uzyskania dostępu do Twoich danych, ale utrudnia im to:
Włącz i wymuś App Check we wszystkich używanych usługach, które ją obsługują. App Check zapewnia, że żądania do usług backendu pochodzą z autentycznych aplikacji. Aby z niej korzystać, musisz zarejestrować każdą wersję aplikacji w App Check. Łatwiej jest skonfigurować tę funkcję, zanim pojawią się użytkownicy, więc zrób to jak najszybciej.
Napisz solidny Firebase Security Rules. Realtime Database, Cloud Firestore i Cloud Storage korzystają z Security Rules skonfigurowanych przez dewelopera, aby określać, kto powinien mieć dostęp do danych, a kto nie. Dobre Security Rules są niezbędne dla Twojego bezpieczeństwa. Jeśli nie wiesz, jak to zrobić, zacznij od tego codelabu.
Więcej rekomendacji dotyczących bezpieczeństwa w środowiskach produkcyjnych znajdziesz na liście kontrolnej zabezpieczeń.
Dalsze kroki
- Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.