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 (to, kim jest użytkownik) i autoryzację (co może zrobić użytkownik). Uwierzytelnianie i autoryzacja są trudne do skonfigurowania, trudniejsze do prawidłowego wykonania i mają kluczowe znaczenie dla sukcesu produktu.

Podobnie jak Uwierzytelnianie Firebase ułatwia uwierzytelnianie użytkowników, Reguły bezpieczeństwa Firebase dla Cloud Storage ułatwiają autoryzowanie użytkowników i weryfikowanie żądań. Reguły bezpieczeństwa Cloud Storage radzą sobie ze złożonością, umożliwiając określanie uprawnień opartych na ścieżce. Wystarczy kilka wierszy kodu, aby napisać reguły autoryzacji, które ograniczają żądania Cloud Storage do określonego użytkownika lub ograniczają rozmiar przesyłanych plików.

Baza danych czasu rzeczywistego Firebase ma podobną funkcję, zwaną regułami bezpieczeństwa 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 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 bezpiecznie kontrolować dostęp do danych dla poszczególnych użytkowników. Możesz dowiedzieć się więcej w sekcji Uwierzytelnianie .

Upoważnienie

Identyfikacja użytkownika to tylko część bezpieczeństwa. Gdy już wiesz, kim są, potrzebujesz sposobu kontrolowania ich dostępu do plików w Cloud Storage.

Cloud Storage umożliwia określenie reguł autoryzacji dla plików i ścieżek, które działają 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ą uwierzytelnienia 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 przeglądają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

  • Rozpocznij planowanie tworzenia reguł dla swoich zasobników Cloud Storage.

  • Dowiedz się więcej o zabezpieczaniu danych przy użyciu reguł bezpieczeństwa.