Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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.

Firebase Realtime Baza ma podobną funkcję, zwany Firebase Realtime Rules Database

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 jest uwierzytelniony z Firebase uwierzytelnieniu, request.auth zmiennej w Cloud Storage zasad bezpieczeństwa staje się obiekt, który zawiera unikalny identyfikator użytkownika ( request.auth.uid ) oraz wszystkie inne informacje użytkownika w tokena ( 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 można znaleźć w Authentication sekcji.

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 Storage Cloud Zasady bezpieczeństwa wymagają uwierzytelniania Firebase w celu przeprowadzenia jakichkolwiek read lub write operacji na wszystkich plikach:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Można zmieniać te reguły wybierając aplikację Firebase w konsoli Firebase i przeglądania Rules kartę sekcji przechowywania.

Walidacji danych

Firebase przepisów bezpieczeństwa dotyczących Cloud Storage może być również używany do sprawdzania poprawności danych, w tym sprawdzanie nazwę pliku i ścieżkę, jak również właściwości metadanych pliku, takie 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 planowania rozwoju zasadami dla wiader Cloud Storage.

  • Więcej informacji na temat zabezpieczania danych za pomocą reguł zabezpieczeń.