Geleneksel olarak güvenlik, uygulama geliştirmenin en karmaşık kısımlarından biri olmuştur. Çoğu uygulamada, geliştiricilerin kimlik doğrulamasını (kullanıcı kim olduğunu) ve yetkilendirmeyi (bir kullanıcının yapabileceklerini) işleyen bir sunucu oluşturması ve çalıştırması gerekir. Kimlik doğrulama ve yetkilendirmenin ayarlanması zordur, doğru yapılması daha zordur ve ürününüzün başarısı için kritiktir.
Firebase Authentication'ın kullanıcılarınızın kimliğini doğrulamanıza benzer şekilde, Firebase Security Rules for Cloud Storage, kullanıcıları yetkilendirmenizi ve istekleri doğrulamanızı kolaylaştırır. Cloud Storage Güvenlik Kuralları, yola dayalı izinler belirlemenize izin vererek karmaşıklığı sizin için yönetir. Yalnızca birkaç satırlık bir kodla, Cloud Storage isteklerini belirli bir kullanıcıyla sınırlayan veya bir yüklemenin boyutunu sınırlayan yetkilendirme kuralları yazabilirsiniz.
Firebase Realtime Database, Firebase Realtime Database Rules adlı benzer bir özelliğe sahiptir.
Doğrulama
Kullanıcılarınızın kim olduğunu bilmek, bir uygulama oluşturmanın önemli bir parçasıdır ve Firebase Authentication, kimlik doğrulamasına yönelik kullanımı kolay, güvenli, yalnızca istemci tarafında bir çözüm sağlar. Cloud Storage için Firebase Güvenlik Kuralları, kullanıcı tabanlı güvenlik için Firebase Authentication ile bağlantılıdır. Bir kullanıcı Firebase Kimlik Doğrulama ile kimlik doğrulaması yapıldığında request.auth
Bulut Depolama Güvenliği Kuralları değişken kullanıcının benzersiz kimliği (içeren bir nesne haline gelir request.auth.uid
) ve belirteç (tüm diğer kullanıcı bilgilerini request.auth.token
) . Kullanıcının kimliği doğrulanmadığında, request.auth
null
. Bu, veri erişimini kullanıcı bazında güvenli bir şekilde kontrol etmenizi sağlar. Kimlik Doğrulama bölümünde daha fazla bilgi edinebilirsiniz.
yetki
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şimlerini kontrol etmenin bir yolunu bulmanız gerekir.
Cloud Storage, sunucularımızda bulunan dosya ve yol başına yetkilendirme kurallarını belirlemenize ve uygulamanızdaki dosyalara erişimi belirlemenize olanak tanır. Örneğin, varsayılan Cloud Storage Güvenlik Kuralları, tüm dosyalarda herhangi bir read
veya write
işlemi gerçekleştirmek için Firebase Authentication gerektirir:
service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } }
Firebase konsolunda bir Firebase uygulaması seçerek ve Depolama bölümünün Rules
sekmesini görüntüleyerek bu kuralları düzenleyebilirsiniz.
Veri doğrulama
Cloud Storage için Firebase Güvenlik Kuralları, dosya adı ve yolunun yanı sıra contentType
ve size
gibi dosya meta veri özelliklerinin doğrulanması 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ı kullanarak verilerinizin güvenliğini sağlama hakkında daha fazla bilgi edinin.