Catch up on everthing we announced at this year's Firebase Summit. 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, Cloud Storage isteklerini belirli bir kullanıcıyla sınırlayan veya bir yüklemenin boyutunu sınırlayan yetkilendirme kuralları yazabilirsiniz.

Firebase Gerçek Zamanlı Veri Tabanı benzer özellik olarak adlandırılan vardır Firebase Gerçek Zamanlı Veri Tabanı Kurallar

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ı kimlik doğrulaması olmadığında, request.auth olan null . Bu, veri erişimini kullanıcı bazında güvenli bir şekilde kontrol etmenizi sağlar. Sen daha fazla bilgi edinebilirsiniz Kimlik Doğrulama bölümünde.

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üvenliği Kuralları herhangi gerçekleştirmek için Firebase Authentication gerektiren read veya write tüm dosyalar üzerinde işlem:

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

Sen bir Firebase uygulamayı seçerek bu kuralları düzenleyebilirsiniz Firebase konsoluna ve görüntüleme Rules Depolama bölümünün sekmesi.

Veri doğrulama

Bulut Depolama için Firebase Güvenlik Kuralları ayrıca dosya adını ve yolunu yanı sıra gibi dosya meta özelliklerini doğrulayarak dahil veri doğrulama için kullanılabilecek 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