Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Bulut Depolama için Firebase Güvenlik Kurallarını Anlayın

Geleneksel olarak güvenlik, uygulama geliştirmenin en karmaşık kısımlarından biri olmuştur. Çoğu uygulamada geliştiriciler, kimlik doğrulama (kullanıcının kim olduğu) ve yetkilendirme (kullanıcının yapabilecekleri) işlemlerini gerçekleştiren bir sunucu oluşturmalı ve çalıştırmalıdır. Kimlik doğrulama ve yetkilendirmenin ayarlanması zordur, doğru olması daha zordur ve ürününüzün başarısı için kritik öneme sahiptir.

Firebase Authentication'ın kullanıcılarınızın kimliğini doğrulamanızı kolaylaştırmasına benzer şekilde, Firebase Security Rules for Cloud Storage, kullanıcıları yetkilendirmenizi ve istekleri doğrulamanızı kolaylaştırır. Bulut Depolama Güvenlik Kuralları, yol tabanlı izinler belirlemenize izin vererek karmaşıklığı sizin için yönetir. Yalnızca birkaç kod satırında, Bulut Depolama isteklerini belirli bir kullanıcıyla sınırlayan veya bir yüklemenin boyutunu sınırlayan yetkilendirme kuralları yazabilirsiniz.

Firebase Gerçek Zamanlı Veritabanı, Firebase Gerçek Zamanlı Veritabanı Kuralları adı verilen benzer bir özelliğe sahiptir.

kimlik 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ğrulama için kullanımı kolay, güvenli, yalnızca istemci tarafında bir çözüm sunar. 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ı belirlemek, güvenliğin yalnızca bir parçasıdır. Kim olduklarını öğrendikten sonra, Cloud Storage'daki dosyalara erişimlerini kontrol etmenin bir yoluna ihtiyacınız var.

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 Bulut Depolama Güvenlik Kuralları, tüm dosyalarda herhangi bir read veya write işlemi gerçekleştirmek için Firebase Kimlik Doğrulaması gerektirir:

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

Firebase konsolunda bir Firebase uygulaması seçip 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ı 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.