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, kimlik doğrulamanızı kolaylaştırıyor. Cloud Storage için Firebase Security Rules, kullanıcıları yetkilendirmenizi kolaylaştırır ve doğrulama sürecidir. Cloud Storage Security Rules, karmaşıklığı sizin için yönetmek için Böylece yol tabanlı izinler belirleyebilirsiniz. Yalnızca birkaç satır kodla Cloud Storage isteklerini bir veya yüklemenin boyutunu sınırlamanız gerekir.

Firebase Realtime Database, adı verilen benzer bir özelliğe sahiptir. Firebase Realtime Database Security Rules

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 takımına Firebase Security Rules, Firebase Authentication ile berabere kaldı iki yöntem de vardır. Bir kullanıcının kimliği Firebase Authentication ile doğrulandığında Cloud Storage Security Rules içindeki 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 (request.auth.token) gerektirir. Kullanıcı kimliği doğrulanmış, request.auth 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 alanındaki dosyalara erişimini kontrol etmek için bir yönteme ihtiyaç duyuyor.

Cloud Storage, dosya ve yol yetkilendirmesi başına belirtmenizi sağlar ve uygulamanızdaki dosyalara erişimi belirler. Örneğin, varsayılan Cloud Storage Security Rules için Firebase Authentication tüm dosyalarda read veya write işlemleri 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 sekmesine bakabilirsiniz.

Veri Doğrulama

Cloud Storage için Firebase Security Rules, 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