Tradycyjnie zabezpieczenia były jednym z najbardziej złożonych elementów tworzenia aplikacji. W większości aplikacji deweloperzy muszą utworzyć i uruchomić serwer, który obsługuje uwierzytelnianie (określanie tożsamości użytkownika) i autoryzację (określanie, co użytkownik może robić). Uwierzytelnianie i autoryzacja są trudne do skonfigurowania i jeszcze trudniejsze do prawidłowego wdrożenia, a jednocześnie mają kluczowe znaczenie dla sukcesu produktu.
Podobnie jak Firebase Authentication ułatwia uwierzytelnianie użytkowników, Firebase Security Rules w przypadku Cloud Storage ułatwia autoryzowanie użytkowników i weryfikowanie żądań. Cloud Storage Security Rules zarządza złożonością, umożliwiając określanie uprawnień na podstawie ścieżki. Za pomocą kilku wierszy kodu możesz napisać reguły autoryzacji, które ograniczają Cloud Storage żądania do określonego użytkownika lub limitują rozmiar przesyłanego pliku.
Firebase Realtime Database ma podobną funkcję o nazwie Firebase Realtime Database Security Rules.
Uwierzytelnianie
Znajomość użytkowników jest ważnym elementem tworzenia aplikacji, a Firebase Authenticationzapewnia łatwe w użyciu, bezpieczne rozwiązanie uwierzytelniania po stronie klienta. Firebase Security Rules w przypadku Cloud Storage jest powiązane z Firebase Authentication
w zakresie zabezpieczeń opartych na użytkownikach. Gdy użytkownik zostanie uwierzytelniony za pomocą Firebase Authentication, zmienna request.auth
w Cloud Storage Security Rules staje się obiektem, który zawiera unikalny identyfikator użytkownika (request.auth.uid
) i wszystkie inne informacje o użytkowniku w tokenie (request.auth.token
). Gdy użytkownik nie jest uwierzytelniony, zmienna request.auth
ma wartość null
. Umożliwia to bezpieczne kontrolowanie dostępu do danych na poziomie poszczególnych użytkowników. Więcej informacji znajdziesz w sekcji Uwierzytelnianie.
Autoryzacja
Identyfikacja użytkownika to tylko część zabezpieczeń. Gdy już wiesz, kim są te osoby, musisz mieć możliwość kontrolowania ich dostępu do plików na Cloud Storage.
Cloud Storage umożliwia określanie reguł autoryzacji dla poszczególnych plików i ścieżek, które są przechowywane na naszych serwerach i określają dostęp do plików w aplikacji. Na przykład domyślna reguła Cloud Storage Security Rules wymaga Firebase Authentication, aby można było wykonywać operacje read
lub write
na wszystkich plikach:
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { allow read, write: if request.auth != null; } } }
Te reguły możesz edytować, wybierając aplikację Firebase w Firebase konsoli i wyświetlając kartę Rules
w sekcji Pamięć.
Walidacja danych
Firebase Security Rules dla Cloud Storage można też używać do weryfikacji danych, w tym do sprawdzania nazwy i ścieżki pliku oraz właściwości metadanych pliku, takich jak contentType
i size
.
service firebase.storage { match /b/{bucket}/o { match /images/{imageId} { // Only allow uploads of any image file that's less than 5MB allow write: if request.resource.size < 5 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); } } }
Dalsze kroki
Zacznij planować tworzenie reguł dla koszyków Cloud Storage.
Dowiedz się więcej o zabezpieczaniu danych za pomocą reguł bezpieczeństwa.