Dawniej bezpieczeństwo było jednym z najbardziej złożonych elementów aplikacji w Google Cloud. W większości aplikacji programiści muszą utworzyć i uruchomić serwer, obsługuje uwierzytelnianie (to, kim jest użytkownik) i autoryzację (co użytkownik może robić). Uwierzytelnianie i autoryzacja są trudne do skonfigurowania, trudniejsze do dokończenia. są kluczowe dla sukcesu produktu.
Podobnie jak Firebase Authentication ułatwia uwierzytelnianie użytkowników, Firebase Security Rules dla Cloud Storage ułatwia autoryzowanie użytkowników i weryfikować żądania. Cloud Storage Security Rules zajmuje się zarządzaniem złożonością przez co pozwala określić uprawnienia na podstawie ścieżki. Za pomocą kilku linijek kodu może zapisywać reguły autoryzacji, które ograniczają żądania Cloud Storage do do konkretnego użytkownika lub ograniczają rozmiar przesyłanych danych.
Firebase Realtime Database ma podobną funkcję o nazwie Firebase Realtime Database Security Rules.
Uwierzytelnianie
Wiedza na temat użytkowników jest ważną częścią tworzenia aplikacji.
Firebase Authentication zapewnia łatwe w użyciu, bezpieczne rozwiązanie przeznaczone tylko po stronie klienta
do uwierzytelnienia. Firebase Security Rules dla Cloud Storage remisuje z Firebase Authentication
zabezpieczeń opartych na użytkownikach. Gdy użytkownik zostanie uwierzytelniony za pomocą Firebase Authentication,
zmienna request.auth
w tabeli Cloud Storage Security Rules stanie się obiektem, który
zawiera unikalny identyfikator użytkownika (request.auth.uid
) i wszystkich pozostałych użytkowników
informacje w tokenie (request.auth.token
). Gdy użytkownik nie jest
uwierzytelniono, request.auth
ma wartość null
. Dzięki temu możesz bezpiecznie kontrolować
dostęp do danych dla każdego użytkownika. Więcej informacji znajdziesz w
Authentication (Uwierzytelnianie).
Autoryzacja
Identyfikacja użytkownika stanowi tylko część zapewniania bezpieczeństwa. Wiedząc, kim są, potrzebują sposobu na kontrolowanie swojego dostępu do plików w usłudze Cloud Storage.
Cloud Storage umożliwia określenie autoryzacji dla poszczególnych 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ślna Cloud Storage Security Rules wymaga Firebase Authentication w
aby wykonać dowolne operacje 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ęć.
Walidacja danych
Interfejsu Firebase Security Rules w kategorii Cloud Storage można też używać do weryfikacji danych, w tym:
weryfikacji nazwy i ścieżki pliku oraz 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/.*'); } } }
Dalsze kroki
Rozpocznij tworzenie reguł planowania dla zasobników Cloud Storage.
Dowiedz się więcej o zabezpieczaniu danych przy użyciu reguł zabezpieczeń.