Tradycyjnie bezpieczeństwo było jednym z najbardziej złożonych elementów tworzenia aplikacji. W większości aplikacji programiści muszą zbudować i uruchomić serwer, który obsługuje uwierzytelnianie (kim jest użytkownik) i autoryzację (co może zrobić użytkownik). Uwierzytelnianie i autoryzacja są trudne do skonfigurowania, trudniejsze do uzyskania i mają kluczowe znaczenie dla sukcesu Twojego produktu.
Podobnie jak uwierzytelnianie Firebase ułatwia uwierzytelnianie użytkowników, reguły zabezpieczeń Firebase dla Cloud Storage ułatwiają autoryzowanie użytkowników i weryfikowanie żądań. Reguły bezpieczeństwa Cloud Storage zarządzają złożonością za Ciebie, umożliwiając określenie uprawnień opartych na ścieżce. W zaledwie kilku wierszach kodu możesz napisać reguły autoryzacji, które ograniczają żądania Cloud Storage do określonego użytkownika lub ograniczają rozmiar przesyłania.
Baza danych czasu rzeczywistego Firebase ma podobną funkcję o nazwie Reguły bazy danych czasu rzeczywistego Firebase
Poświadczenie
Wiedza o tym, kim są Twoi użytkownicy, jest ważną częścią tworzenia aplikacji, a Uwierzytelnianie Firebase zapewnia łatwe w użyciu, bezpieczne rozwiązanie uwierzytelniania dostępne tylko po stronie klienta. Reguły bezpieczeństwa Firebase dla Cloud Storage są powiązane z uwierzytelnianiem Firebase w celu zapewnienia bezpieczeństwa opartego na użytkownikach. Gdy użytkownik jest uwierzytelniany za pomocą uwierzytelniania Firebase, zmienna request.auth
w regułach bezpieczeństwa Cloud Storage staje się obiektem zawierającym 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, request.auth
ma null
. Pozwala to na bezpieczną kontrolę dostępu do danych dla każdego użytkownika. Możesz dowiedzieć się więcej w sekcji Uwierzytelnianie .
Upoważnienie
Identyfikacja użytkownika to tylko część bezpieczeństwa. Gdy już wiesz, kim oni są, potrzebujesz sposobu na kontrolowanie ich dostępu do plików w Cloud Storage.
Cloud Storage umożliwia określenie reguł autoryzacji dla poszczególnych plików i ścieżek, które działają na naszych serwerach, oraz określić dostęp do plików w Twojej aplikacji. Na przykład domyślne reguły zabezpieczeń Cloud Storage wymagają uwierzytelniania Firebase w celu wykonywania operacji read
lub write
na wszystkich plikach:
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Możesz edytować te reguły, wybierając aplikację Firebase w konsoli Firebase i wyświetlając kartę Rules
w sekcji Pamięć.
Walidacji danych
Reguły bezpieczeństwa Firebase dla Cloud Storage mogą być również używane do sprawdzania poprawności danych, w tym sprawdzania poprawności nazwy i ścieżki pliku, a także 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/.*'); } } }
Następne kroki
Zacznij planować tworzenie reguł dla swoich zasobników Cloud Storage.
Dowiedz się więcej o zabezpieczaniu danych za pomocą reguł bezpieczeństwa.