Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Omówienie reguł zabezpieczeń Firebase dotyczących przechowywania w chmurze

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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 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ą autoryzację użytkowników i weryfikację żądań. Reguły zabezpieczeń 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 zabezpieczeń 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 pozwala określić reguły 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 zabezpieczeń Cloud Storage wymagają uwierzytelniania Firebase w celu wykonania wszelkich 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 zabezpieczeń Firebase dla Cloud Storage mogą być również używane do sprawdzania poprawności danych, w tym sprawdzania 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