Dzięki regułom zabezpieczeń Cloud Firestore możesz skupić się na tworzeniu doświadczenie bez konieczności zarządzania infrastrukturą ani pisania po stronie serwera. uwierzytelniania i autoryzacji.
Reguły zabezpieczeń zapewniają kontrolę dostępu i weryfikację danych w prosty, ale do ich ekspresji. Aby tworzyć systemy dostępu oparte na użytkownikach i rolach, które zapewnią użytkowników należy używać Firebase Uwierzytelnianie przy użyciu reguł zabezpieczeń Cloud Firestore.
Reguły zabezpieczeń w wersji 2
Od maja 2019 r. reguły zabezpieczeń Cloud Firestore są dostępne w wersji 2
i dostępności informacji. Wersja 2 reguł zmienia działanie reguł rekurencyjnych
symbole wieloznaczne {name=**}
. Musisz używać wersji 2, jeśli planujesz
używać zapytań dotyczących grup kolekcji. Musisz wyrazić zgodę na
wersji 2, ustawiając rules_version = '2';
jako pierwszy wiersz w zabezpieczeniach
reguły:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
Reguły pisania
Będziesz tworzyć reguły zabezpieczeń Cloud Firestore dostosowane do Twojego modelu danych i nimi zarządzać dla domyślnej bazy danych i każdej dodatkowej bazy danych w projekcie.
Wszystkie reguły zabezpieczeń Cloud Firestore składają się z instrukcji match
, które identyfikują dokumenty w
Twojej bazy danych oraz allow
wyrażeń, które kontrolują dostęp do tych dokumentów:
service cloud.firestore {
match /databases/{database}/documents {
match /<some_path>/ {
allow read, write: if <some_condition>;
}
}
}
Każde żądanie bazy danych z biblioteki klienta mobilnego/internetowego Cloud Firestore jest oceniane pod kątem reguły zabezpieczeń przed odczytem lub zapisem danych. Jeśli reguły odmawiają dostępu do dowolnej z podanych ścieżek dokumentu, całe żądanie zakończy się niepowodzeniem.
Poniżej znajduje się kilka przykładów podstawowych zestawów reguł. Reguły te są ważne, nie są zalecane w aplikacjach produkcyjnych:
Wymagane uwierzytelnienie
// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
Odrzucaj wszystko
// Deny read/write access to all users under any conditions
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
Zezwalaj na wszystkie
// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
Ścieżka {document=**}
użyta w powyższych przykładach odpowiada dowolnemu dokumentowi w polu
do całej bazy danych. Przejdź do przewodnika po tworzeniu struktury reguł zabezpieczeń, aby:
dowiedz się, jak dopasowywać konkretne ścieżki danych i pracować z danymi hierarchicznymi.
Reguły testowania
Cloud Firestore udostępnia symulator reguł, za pomocą których możesz zestawu reguł. Aby uzyskać dostęp do symulatora, otwórz kartę Reguły w w sekcji Cloud Firestore w konsoli Firebase.
Symulator reguł pozwala symulować uwierzytelnione i nieuwierzytelnione odczyty, zapisy i usuwania. Symulując uwierzytelnione żądanie, możesz tworzyć i wyświetlić podgląd tokenów uwierzytelniania od różnych dostawców. Uruchomienie symulowanych żądań ze zbiorem reguł w edytorze, a nie z obecnie wdrożonym zestawem reguł.
Wdrażam reguły
Aby zacząć korzystać z Cloud Firestore w aplikacji mobilnej, musisz skonfigurować aby wdrożyć reguły zabezpieczeń. Reguły możesz wdrożyć w konsoli Firebase za pomocą: za pomocą interfejsu wiersza poleceń Firebase lub interfejsu API typu REST zarządzania Cloud Firestore.
Aktualizacje reguł zabezpieczeń Cloud Firestore mogą mieć wpływ na nowe zapytania i mogą potrwać nawet minutę słuchaczom. Pełne zastosowanie zmian może jednak potrwać do 10 minut. i wpłyną na wszystkich aktywnych detektorów.
Korzystanie z konsoli Firebase
Aby skonfigurować i wdrożyć pierwszy zestaw reguł dla domyślnej bazy danych w projektu, otwórz kartę Reguły w Cloud Firestore. w konsoli Firebase.
Napisz reguły w edytorze online i kliknij Opublikuj.
Używanie interfejsu wiersza poleceń Firebase
Możesz też wdrażać reguły za pomocą Firebase interfejsu wiersza poleceń. Użycie interfejsu wiersza poleceń pozwala zachować w ramach kontroli wersji za pomocą kodu aplikacji i wdrażania do bieżącego procesu wdrażania.
// Set up Firestore in your project directory, creates a .rules file
firebase init firestore
// Edit the generated .rules file to your desired security rules
// ...
// Deploy rules for all configured databases
firebase deploy --only firestore
Zwiększenie bezpieczeństwa Cloud Storage
Twoje aplikacje będą korzystać z zaawansowanych funkcji baz danych Cloud Firestore oraz funkcje przechowywania plików i zarządzania nimi w Cloud Storage. Używany razem usługi te zwiększają też bezpieczeństwo aplikacji, Cloud Firestore może rejestrować wymagania dotyczące autoryzacji używane przez reguły zabezpieczeń Firebase dla obu usług. Więcej informacji znajdziesz w przewodniku po Cloud Storage.
Dalsze kroki
- Dowiedz się, jak tworzyć strukturę reguł zabezpieczeń.
- Utwórz niestandardowe warunki reguł zabezpieczeń.
- Zapoznaj się z informacjami o regułach zabezpieczeń.