Cloud Firestore Güvenlik Kurallarını kullanmaya başlama

Cloud Firestore Security Rules ile mükemmel bir kullanıcı oluşturmaya odaklanabilirsiniz Böylece altyapı yönetimi veya sunucu tarafı yazma zorunluluğu olmadan deneyim kazanmış olursunuz. kimlik doğrulama ve yetkilendirme kodu.

Güvenlik kuralları, hem basit hem de kolay bir şekilde erişim denetimi ve veri doğrulama sağlar. etkili bir biçimdir. Kullanıcı tabanlı ve rol tabanlı erişim sistemleri oluşturmak; kullanıcıların kullanıyorsanız, Firebase'i kullanarak Firebase'i Cloud Firestore Security Rules ile kimlik doğrulaması yapın.

Güvenlik kuralları sürüm 2

Mayıs 2019 itibarıyla Cloud Firestore güvenlik kuralının 2. sürümü artık kullanılabilir. Kuralların 2. sürümü, yinelemeli joker karakterler {name=**}. Planlıyorsanız sürüm 2'yi kullanmalısınız. koleksiyon grubu sorgularını kullanın. Şunu etkinleştirmeniz gerekir: rules_version = '2'; uygulamasını güvenliğinizdeki ilk satır haline getirerek sürüm 2'yi indirin kurallarınız:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

Yazma kuralları

Kullandığınız veri modeline göre Cloud Firestore Security Rules yazıp yönetirsiniz ve projenizdeki her ek veritabanı için oluşturun.

Tüm Cloud Firestore Security Rules, içindeki dokümanları tanımlayan match ifadeleri içeriyor veritabanınızı ve bu dokümanlara erişimi denetleyen allow ifadelerini bulun:

service cloud.firestore {
  match /databases/{database}/documents {
    match /<some_path>/ {
      allow read, write: if <some_condition>;
    }
  }
}

Cloud Firestore mobil/web istemci kitaplığından gelen her veritabanı isteği şu ölçütlere göre değerlendirilir: lütfen gözden geçirin. Kurallar erişimi reddederse belirtilen belge yollarından birine giderseniz isteğin tamamı başarısız olur.

Aşağıda, temel kural gruplarına ilişkin bazı örnekler verilmiştir. Bu kurallar geçerli olsa da üretim uygulamaları için önerilmez:

Yetkilendirme gerekiyor

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Tümünü reddet

// Deny read/write access to all users under any conditions
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

Tümüne izin ver

// Allow read/write access to all users under any conditions
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

Yukarıdaki örneklerde kullanılan {document=**} yolu sahip olacaksınız. Şu işlemler için güvenlik kurallarını yapılandırma kılavuzu: belirli veri yollarını nasıl eşleştireceğinizi ve hiyerarşik verilerle nasıl çalışacağınızı öğrenin.

Kuralları test etme

Cloud Firestore, verilerinizi test etmek için kullanabileceğiniz bir kural kümesi oluşturur. Simülasyon aracına Firebase konsolunun Cloud Firestore bölümünde.

Kural simülatörü, kimliği doğrulanmış ve doğrulanmamış okumaları simüle etmenize olanak tanır. yazması ve silmesi. Kimliği doğrulanmış bir isteği simüle ederken Ayrıca, çeşitli sağlayıcıların kimlik doğrulama jetonlarını önizleyebilirsiniz. Simüle edilmiş istek çalıştırma halihazırda dağıtılmış olan kural kümenize değil, düzenleyicinizdeki kural grubuna göre belirlenir.

Kurallar dağıtılıyor

Mobil uygulamanızdan Cloud Firestore kullanmaya başlamadan önce güvenlik kuralları dağıtıyor. Firebase konsolunda şu komutu kullanarak kuralları dağıtabilirsiniz: Firebase CLI veya Cloud Firestore yönetimi REST API ile.

Cloud Firestore Security Rules üzerinde yapılan güncellemelerin yeni sorguları etkilemesi bir dakika kadar sürebilir ve yardımcı olur. Ancak değişikliklerin tam olarak uygulanması 10 dakika kadar sürebilir. ve aktif dinleyicileri etkiler.

Firebase konsolunu kullanma

Hesabınızdaki varsayılan veritabanı için ilk kural grubunuzu oluşturup dağıtmak projesi için Kurallar sekmesini Cloud Firestore bölümündeki talimatları uygulayın.

Kurallarınızı online düzenleyiciye yazın, ardından Yayınla'yı tıklayın.

Firebase CLI'ı kullanma

Kuralları, Firebase ile KSA. KSA'yı kullanmak, uygulama kodunuzla sürüm denetimi altındaki kurallarınızı belirler ve mevcut dağıtım sürecinizin bir parçasıdır.

// Set up Firestore in your project directory, creates a .rules file
firebase init firestore

// Edit the generated .rules file to your desired security rules
// ...

// Deploy rules for all configured databases
firebase deploy --only firestore

Cloud Storage için güvenliği artırın

Uygulamalarınız, Cloud Firestore ürününün güçlü veritabanı özelliklerinden yararlanır ve Cloud Storage dosya depolama ve yönetim özellikleri hakkında daha fazla bilgi edinin. Kullanılmış birlikte kullanıldığında bu ürünler aynı zamanda uygulama güvenliğini Cloud Firestore, Firebase Güvenlik Kuralları tarafından kullanılabilen yetkilendirme gereksinimlerini yakalayabilir kullanabilirsiniz. Daha fazla bilgi için Cloud Storage kılavuzuna bakın.

Sonraki adımlar