Geleneksel olarak güvenlik, uygulama geliştirmenin en karmaşık bölümlerinden biri olmuştur. Çoğu uygulamada geliştiricilerin kimlik doğrulamayı (kullanıcı kimliği) ve yetkilendirmeyi (kullanıcı ne yapabilir?) yöneten bir sunucu oluşturup çalıştırması gerekir. Kimlik doğrulama ve yetkilendirmenin ayarlanması zor, doğru yapılması daha zordur ve ürününüzün başarısı için kritik önem taşır.
Firebase Authentication'ün kullanıcılarınızın kimliğini doğrulamayı kolaylaştırmasına benzer şekilde, Cloud Storage için Firebase Security Rules, kullanıcılara yetki vermenizi ve istekleri doğrulamanızı kolaylaştırır. Cloud Storage Security Rules, yola dayalı izinler belirtmenize izin vererek karmaşıklığı sizin için yönetir. Sadece birkaç satır kod kullanarak Cloud Storage isteklerini belirli bir kullanıcıyla kısıtlayan veya yüklemenin boyutunu sınırlayan yetkilendirme kuralları yazabilirsiniz.
Firebase Realtime Database'te Firebase Realtime Database Security Rules adlı benzer bir özellik bulunur.
Doğrulama
Kullanıcılarınızın kim olduğunu bilmek, uygulama geliştirmenin önemli bir parçasıdır. Firebase Authentication; kimlik doğrulama için kullanımı kolay, güvenli, yalnızca istemci taraflı bir çözüm sunar. Cloud Storage için Firebase Security Rules, kullanıcı tabanlı güvenlik için Firebase Authentication ile bağlantılıdı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 jetondaki diğer tüm kullanıcı bilgilerini (request.auth.token
) içeren bir nesne olur. Kullanıcının kimliği doğrulanmadığında request.auth
, null
olur. Bu sayede, veri erişimini kullanıcı bazında güvenli bir şekilde kontrol edebilirsiniz. Daha fazla bilgi için Kimlik doğrulama bölümünü inceleyin.
Yetkilendirme
Kullanıcınızı tanımlamak, güvenliğin yalnızca bir parçasıdır. Bu kullanıcının kim olduğunu öğrendikten sonra, Cloud Storage ürününde dosyalara erişimini kontrol etmenin bir yolunu bulmanız gerekir.
Cloud Storage, sunucularımızda bulunan dosya ve yol başına yetkilendirme kurallarını belirtmenize ve uygulamanızdaki dosyalara erişimi belirlemenize olanak tanır. Örneğin, varsayılan Cloud Storage Security Rules, tüm dosyalarda read
veya write
işlemlerini gerçekleştirmek için Firebase Authentication gerektirir:
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Bu kuralları, Firebase konsolunda bir Firebase uygulaması seçip Depolama bölümünün Rules
sekmesini görüntüleyerek düzenleyebilirsiniz.
Veri Doğrulama
Cloud Storage için Firebase Security Rules, dosya adının ve yolunun yanı sıra contentType
ve size
gibi dosya meta veri özelliklerinin doğrulanması da dahil olmak üzere veri doğrulama için de kullanılabilir.
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
Cloud Storage paketleriniz için kural geliştirmeyi planlamaya başlayın.
Güvenlik kurallarını kullanarak verilerinizin güvenliğini sağlama hakkında daha fazla bilgi edinin.