Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

Cloud Firestore Güvenlik Kuralları ile altyapıyı yönetmek veya sunucu tarafı kimlik doğrulama ve yetkilendirme kodu yazmak zorunda kalmadan harika bir kullanıcı deneyimi oluşturmaya odaklanabilirsiniz.

Güvenlik kuralları, basit ama etkileyici bir biçimde erişim denetimi ve veri doğrulaması sağlar. İnşa tabanlı kullanıcı ve güvenli kullanıcıların verilerini tutmak rol tabanlı erişim sistemleri için kullanmak gerekir Firebase Authentication Bulut Firestore Güvenlik Kurallarına.

Güvenlik kuralları sürüm 2

Mayıs 2019 itibarıyla, Cloud Firestore güvenlik kurallarının 2. sürümü kullanıma sunulmuştur. Kurallar, Version 2 davranışını değiştirir özyinelemeli joker {name=**} . Kullanmak planlıyorsanız sürüm 2'yi kullanmanız gerekir toplama grubu sorguları . Sen dahil olunmalıdır sürümüne 2'ye yaparak rules_version = '2'; güvenlik kurallarınızdaki ilk satır:

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

Yazma kuralları

Tüm Bulut Firestore Güvenlik Kuralları oluşur match veritabanınızda belgeleri tanımlar ve tablolar, allow bu dokümanlara hangi erişimi kontrol, ifadeleri:

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

Bir Cloud Firestore mobil/web istemci kitaplığından gelen her veritabanı isteği, herhangi bir veriyi okumadan veya yazmadan önce güvenlik kurallarınıza göre değerlendirilir. Kurallar, belirtilen belge yollarından herhangi birine erişimi reddederse, tüm istek başarısız olur.

Aşağıda bazı temel kural kümeleri örnekleri verilmiştir. Bu kurallar geçerli olmakla birlikte, üretim uygulamaları için önerilmez:

Yetkilendirme gerekli

// 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;
    }
  }
}

Hepsini inkar etmek

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

Hepsine 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;
    }
  }
}

{document=**} eşleşir Yukarıdaki örneklerde, tüm veri tabanı herhangi bir belgede kullanılan yolu. İçin kılavuza Devam yapılandırma güvenlik kurallarına hiyerarşik veri ile belirli veri yolları ve çalışmalarını maç öğrenmek için.

Test kuralları

Cloud Firestore, kural kümenizi test etmek için kullanabileceğiniz bir kural simülatörü sağlar. Şunlar arasından simülatörü erişebilirsiniz Kurallar sekmesinin Firebase konsolunun Bulut Firestore bölümünde.

Kural simülatörü, kimliği doğrulanmış ve kimliği doğrulanmamış okuma, yazma ve silme işlemlerini simüle etmenize olanak tanır. Kimliği doğrulanmış bir isteği simüle ettiğinizde, çeşitli sağlayıcılardan kimlik doğrulama belirteçleri oluşturabilir ve önizleyebilirsiniz. Simüle edilmiş istekler, şu anda dağıtılan kural kümenize değil, düzenleyicinizdeki kural kümesine karşı çalışır.

Kuralları dağıtma

Mobil uygulamanızdan Cloud Firestore'u kullanmaya başlamadan önce güvenlik kurallarını dağıtmanız gerekir. Kuralları Firebase konsolunda veya Firebase CLI'yi kullanarak dağıtabilirsiniz.

Cloud Firestore Güvenlik Kurallarında yapılan güncellemelerin yeni sorguları ve dinleyicileri etkilemesi bir dakika kadar sürebilir. Ancak, değişiklikleri tam olarak yaymak ve aktif dinleyicileri etkilemek 10 dakika kadar sürebilir.

Firebase konsolunu kullanın

Kurmak ve kurallar ilk seti dağıtmak, açmak için Kuralları sekmesini Firebase konsolunun Bulut Firestore bölümünde.

Online editörü kurallarınızı yazın ve ardından Yayınla'yı tıklayın.

Firebase CLI'yi kullanın

Ayrıca kullanarak kurallar dağıtabilir Firebase CLI . CLI'yi kullanmak, uygulama kodunuzla kurallarınızı sürüm kontrolü altında tutmanıza ve mevcut dağıtım sürecinizin bir parçası olarak kuralları dağıtmanıza olanak tanı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 your .rules file
firebase deploy --only firestore:rules

Sonraki adımlar