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 zalet oddzielenia środowisk w różnych projektach Firebase jest to, że złośliwy podmiot, który uzyska dostęp do środowisk przedprodukcyjnych, nie będzie mieć dostępu do danych prawdziwych użytkowników. Oto najważniejsze środki ostrożności, które należy podjąć w środowiskach przedprodukcyjnych:
ograniczyć dostęp do środowisk przedprodukcyjnych; W przypadku aplikacji mobilnych użyj App Distribution (lub podobnego elementu), aby rozpowszechnić aplikację wśród określonej grupy osób. Aplikacje internetowe trudniej jest ograniczyć. Rozważ skonfigurowanie funkcji blokowania 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 element Firebase Security Rules w środowiskach przedprodukcyjnych, tak jak w środowisku produkcyjnym. Ogólnie rzecz biorąc, element Security Rules powinien być taki sam w różnych środowiskach, z tym zastrzeżeniem, że ponieważ reguły zmieniają się wraz z kodem, w przypadku wcześniejszych etapów potoku mogą istnieć reguły, które nie są jeszcze dostępne w środowisku produkcyjnym.
Bezpieczeństwo środowisk produkcyjnych
Dane produkcyjne są zawsze celem ataku, nawet jeśli aplikacja jest mało znana. Postępowanie zgodnie z tymi wytycznymi nie uniemożliwia złośliwym podmiotom uzyskania Twoich danych, ale utrudnia to zadanie:
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 Twoich oryginalnych 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.
Pisz solidne 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.