Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Zacznij korzystać z reguł bezpieczeństwa Cloud Firestore

Dzięki regułom bezpieczeństwa Cloud Firestore możesz skupić się na budowaniu doskonałego doświadczenia użytkownika bez konieczności zarządzania infrastrukturą lub pisania kodu uwierzytelniania i autoryzacji po stronie serwera.

Reguły bezpieczeństwa zapewniają kontrolę dostępu i weryfikację danych w prostym, ale wyrazistym formacie. Aby zbudować systemy dostępu oparte na użytkownikach i rolach, które chronią dane użytkowników, musisz używać uwierzytelniania Firebase z regułami zabezpieczeń Cloud Firestore.

Reguły bezpieczeństwa w wersji 2

Od maja 2019 r. Dostępna jest wersja 2 reguł bezpieczeństwa Cloud Firestore. Wersja 2 reguł zmienia zachowanie rekursywnych symboli wieloznacznych {name=**} . Musisz użyć wersji 2, jeśli planujesz używać zapytań o grupy kolekcji . Musisz wyrazić zgodę na wersję 2, rules_version = '2'; pierwsza linia reguł bezpieczeństwa:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

Zasady pisania

Wszystkie reguły bezpieczeństwa Cloud Firestore składają się z instrukcji match , które identyfikują dokumenty w Twojej bazie danych i 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ł bezpieczeństwa przed odczytaniem lub zapisaniem jakichkolwiek danych. Jeśli reguły odmawiają dostępu do którejkolwiek z określonych ścieżek dokumentów, całe żądanie kończy się niepowodzeniem.

Poniżej znajduje się kilka przykładów podstawowych zestawów reguł. Chociaż te zasady są ważne, nie są zalecane do zastosowań 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;
    }
  }
}

Zaprzeczać wszystkiemu

// Deny read/write access to all users under any conditions
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

Zezwolić wszystkim

// 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 pasuje do dowolnego dokumentu w całej bazie danych. Przejdź do przewodnika dotyczącego strukturyzowania reguł bezpieczeństwa, aby dowiedzieć się, jak dopasować określone ścieżki danych i pracować z danymi hierarchicznymi.

Zasady testowania

Cloud Firestore udostępnia symulator reguł, którego możesz użyć do przetestowania zestawu reguł. Dostęp do symulatora można uzyskać na karcie Reguły w sekcji Cloud Firestore konsoli Firebase.

Symulator reguł umożliwia symulowanie uwierzytelnionych i nieuwierzytelnionych odczytów, zapisów i usuwania. Podczas symulowania uwierzytelnionego żądania można tworzyć tokeny uwierzytelniania i wyświetlać ich podgląd od różnych dostawców. Symulowane żądania są uruchamiane zgodnie z zestawem reguł w edytorze, a nie z aktualnie wdrożonym zestawem reguł.

Wdrażanie reguł

Zanim zaczniesz korzystać z Cloud Firestore w aplikacji mobilnej, musisz wdrożyć reguły bezpieczeństwa. Możesz wdrożyć reguły w konsoli Firebase lub za pomocą interfejsu wiersza polecenia Firebase.

Aktualizacje reguł zabezpieczeń Cloud Firestore mogą wpłynąć na nowe zapytania i odbiorniki po upływie minuty. Jednak pełne rozpowszechnienie zmian i wpłynięcie na wszystkich aktywnych słuchaczy może zająć do 10 minut.

Użyj konsoli Firebase

Aby skonfigurować i wdrożyć pierwszy zestaw reguł, otwórz kartę Reguły w sekcji Cloud Firestore konsoli Firebase.

Napisz swoje zasady w edytorze online, a następnie kliknij Opublikuj .

Użyj interfejsu wiersza polecenia Firebase

Możesz także wdrożyć reguły za pomocą interfejsu wiersza polecenia Firebase . Korzystanie z interfejsu wiersza polecenia umożliwia zachowanie reguł pod kontrolą wersji za pomocą kodu aplikacji i wdrażanie reguł w ramach istnieją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 your .rules file
firebase deploy --only firestore:rules

Następne kroki