Dzięki Cloud Firestore Security Rules możesz skupić się na tworzeniu wartościowych użytkowników 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 Cloud Firestore Security Rules.
Reguły zabezpieczeń w wersji 2
Od maja 2019 r. reguła zabezpieczeń Cloud Firestore jest 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 zapisywać Cloud Firestore Security Rules dostosowane do modelu danych i nimi zarządzać dla domyślnej bazy danych i każdej dodatkowej bazy danych w projekcie.
Wszystkie Cloud Firestore Security Rules składają się z instrukcji match
, które identyfikują dokumenty w
Twojej bazy danych oraz allow
wyrażenia, 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 zawiera symulator reguł, za pomocą którego możesz zestawu reguł. Aby uzyskać dostęp do symulatora, otwórz kartę Reguły w 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 usługi 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 za pomocą interfejsu API typu REST zarządzania Cloud Firestore.
Zastosowanie aktualizacji w Cloud Firestore Security Rules może potrwać nawet minutę oraz będzie miało wpływ na nowe zapytania 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 narzędziu 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ększ bezpieczeństwo aplikacji Cloud Storage
Twoje aplikacje będą korzystać z rozbudowanych 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 przechwytywać wymagania dotyczące autoryzacji używane przez reguły zabezpieczeń Firebase dla obu usług. Więcej informacji znajdziesz w przewodniku dla użytkowników 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ń.