Cloud Storage İçin Firebase Güvenlik Kurallarını Anlama

Güvenlik, geleneksel olarak uygulamanın en karmaşık bölümlerinden biri olmuştur. bahsedeceğim. Çoğu uygulamada, geliştiricilerin kimlik doğrulama (kullanıcının kim olduğu) ve yetkilendirmeyi (kullanıcının ne yapabileceğini) işler. Kimlik doğrulama ve yetkilendirme ayarlarının yapılması, ayarlanması ve projenizin başarısı için kritik önemdedir.

Firebase Authentication'ın, kimlik doğrulamanızı ve e-posta adresinizi Cloud Storage için Firebase Güvenlik Kuralları, kullanıcıları yetkilendirmenizi kolaylaştırır ve doğrulama sürecidir. Cloud Storage Güvenlik Kuralları, aşağıdakileri yaparak karmaşıklığı sizin için yönetir: Böylece yol tabanlı izinler belirleyebilirsiniz. Yalnızca birkaç satır kodla Cloud Storage isteklerini bir kullanabilir veya yüklemenin boyutunu sınırlandırabilirsiniz.

Firebase Realtime Database'de de Firebase Realtime Database Güvenlik Kuralları

Doğrulama

Kullanıcılarınızın kim olduğunu bilmek uygulama oluşturmanın önemli bir parçasıdır ve Firebase Authentication kullanımı kolay, güvenli, yalnızca istemci taraflı bir çözüm sağlar ile başlar. Cloud Storage için Firebase Güvenlik Kuralları, Firebase Authentication'a bağlanır iki yöntem de vardır. Kullanıcının kimliği Firebase Authentication ile doğrulandığında Cloud Storage Güvenlik Kurallarındaki request.auth değişkeni, Kullanıcının benzersiz kimliğini (request.auth.uid) ve diğer tüm kullanıcıları içerir bilgileri kontrol edin.request.auth.token Kullanıcı kimliği doğrulanmış, request.auth değeri null. Bu özellikler, tüm cihazlarınıza kullanıcı bazında veri erişimi. Daha fazla bilgiyi Kimlik Doğrulama bölümüne bakın.

Yetkilendirme

Kullanıcınızı tanımlamak, güvenliğin yalnızca bir parçasıdır. Kim olduklarını öğrendikten sonra, Cloud Storage'daki dosyalara erişimini kontrol etmek için bir yönteme ihtiyacı var.

Cloud Storage, dosya ve yol yetkilendirmesi başına belirtmenizi sağlar ve uygulamanızdaki dosyalara erişimi belirler. Örneğin, varsayılan Cloud Storage Güvenlik Kuralları, tüm dosyalarda herhangi bir read veya write işlemi gerçekleştirmek için:

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

Firebase konsolunda bir Firebase uygulaması seçerek bu kuralları düzenleyebilirsiniz Depolama bölümünün Rules sekmesini görüntüleyin.

Veri Doğrulama

Cloud Storage için Firebase Güvenlik Kuralları, aşağıdakiler dahil olmak üzere veri doğrulama amacıyla da kullanılabilir: Dosya adı ve yolunun yanı sıra contentType ve 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/.*');
    }
  }
}

Sonraki adımlar