Tradycyjnie bezpieczeństwo było jedną z najbardziej złożonych części 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 użytkownik może zrobić). Uwierzytelnianie i autoryzacja są trudne do skonfigurowania, trudniejsze do prawidłowego wykonania 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ą autoryzację użytkowników i weryfikację żą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 linijkach kodu możesz napisać reguły autoryzacji, które ograniczają żądania Cloud Storage do określonego użytkownika lub ograniczają rozmiar przesyłanego pliku.
Baza danych czasu rzeczywistego Firebase ma podobną funkcję o nazwie Reguły bazy danych czasu rzeczywistego Firebase
Uwierzytelnianie
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 do uwierzytelniania wyłącznie po stronie klienta. Reguły zabezpieczeń Firebase dla Cloud Storage są powiązane z uwierzytelnianiem Firebase w celu zapewnienia bezpieczeństwa opartego na użytkownikach. Gdy użytkownik zostanie uwierzytelniony 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
jest null
. Pozwala to na bezpieczną kontrolę dostępu do danych dla każdego użytkownika. Więcej informacji znajdziesz w sekcji Uwierzytelnianie .
Upoważnienie
Identyfikacja użytkownika to tylko część bezpieczeństwa. Gdy już wiesz, kim są, potrzebujesz sposobu na kontrolowanie ich dostępu do plików w Cloud Storage.
Cloud Storage umożliwia określenie reguł autoryzacji na plik i na ścieżkę, które znajdują się na naszych serwerach, i określają dostęp do plików w Twojej aplikacji. Na przykład domyślne reguły bezpieczeństwa Cloud Storage wymagają uwierzytelniania Firebase w celu wykonania jakichkolwiek 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 walidacji danych, w tym walidacji nazwy pliku i ścieżki, 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
Rozpocznij planowanie tworzenia reguł dla zasobników Cloud Storage.
Dowiedz się więcej o zabezpieczaniu danych za pomocą reguł bezpieczeństwa.