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

Cloud Firestore Güvenlik Kuralları ile başarılı 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 Güvenlik Kurallarıyla Kimlik Doğrulama

Güvenlik kuralları sürüm 2

Mayıs 2019 itibarıyla Cloud Firestore güvenlik kurallarının sürüm 2 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ı

Oluşturduğunuz veri modeline göre uyarlanmış Cloud Firestore Güvenlik Kuralları yazacak ve yöneteceksiniz ve projenizdeki her ek veritabanı için oluşturun.

Tüm Cloud Firestore Güvenlik Kuralları, içerdiği belgeleri tanımlayan match ifadelerinden oluşur. veritabanınız ve bu dokümanlara erişimi denetleyen allow ifadeleri:

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, uygulamanızı test etmek için kullanabileceğiniz kural kümesi oluşturur. Simülasyon aracına Firebase konsolunun Cloud Firestore bölümünde yer alır.

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'u kullanmaya başlamadan önce şunlara ihtiyacınız vardır: 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 Güvenlik Kuralları'nda yapılan güncellemelerin yeni sorguları etkilemesi 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 Cloud Firestore'da Kurallar sekmesini açın. 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 güvenliğini artırın

Uygulamalarınız, Cloud Firestore'un güçlü veritabanı özelliklerinden yararlanır ve Cloud Storage'ın dosya depolama ve yönetim özellikleri hakkında konuşacağız. 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