Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

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 mükemmel bir kullanıcı deneyimi oluşturmaya odaklanabilirsiniz.

Güvenlik kuralları, basit ama etkileyici bir biçimde erişim kontrolü ve veri doğrulaması sağlar. Kullanıcılarınızın verilerini güvende tutan kullanıcı tabanlı ve rol tabanlı erişim sistemleri oluşturmak için Cloud Firestore Güvenlik Kuralları ile Firebase Kimlik Doğrulaması kullanmanız gerekir.

Güvenlik kuralları sürüm 2

Mayıs 2019'dan itibaren Cloud Firestore güvenlik kurallarının 2. sürümü kullanıma sunulmuştur. Kuralların 2. sürümü, yinelenen joker karakterlerin {name=**} davranışını değiştirir. Koleksiyon grubu sorgularını kullanmayı planlıyorsanız sürüm 2'yi kullanmanız gerekir. rules_version = '2'; yaparak sürüm 2'ye rules_version = '2'; güvenlik kurallarınızdaki ilk satır:

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

Yazım kuralları

Tüm Cloud Firestore Güvenlik Kuralları, veritabanınızdaki belgeleri tanımlayan ve bu belgelere erişimi kontrol eden ifadelere allow match ifadelerinden oluşur:

 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, herhangi bir veri okunmadan veya yazılmadan ö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ümelerine örnekler 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;
    }
  }
}
 

Yukarıdaki örneklerde kullanılan {document=**} yolu, tüm veritabanındaki herhangi bir belgeyle eşleşir. Belirli veri yollarını nasıl eşleştireceğinizi ve hiyerarşik verilerle nasıl çalışacağınızı öğrenmek için güvenlik kurallarını yapılandırma kılavuzuna devam edin.

Test kuralları

Cloud Firestore, kural setinizi test etmek için kullanabileceğiniz bir kural simülatörü sağlar. Simülatöre, Firebase konsolunun Cloud Firestore bölümündeki Kurallar sekmesinden erişebilirsiniz.

Kural simülatörü, kimliği doğrulanmış ve kimliği doğrulanmamış okuma, yazma ve silmeleri simüle etmenizi sağlar. Kimliği doğrulanmış bir isteği simüle ettiğinizde, çeşitli sağlayıcılardan kimlik doğrulama jetonları oluşturabilir ve önizleyebilirsiniz. Simüle edilen istekler, şu anda dağıtılan kural kümenizle değil, düzenleyicinizdeki kural kümesine karşı çalışır.

Kuralları dağıtma

Cloud Firestore'u mobil uygulamanızdan kullanmaya başlamadan önce güvenlik kurallarını dağıtmanız gerekir. Kuralları Firebase konsolunda veya Firebase CLI'sını 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 kullanma

İlk kural kümenizi ayarlamak ve dağıtmak için, Firebase konsolunun Cloud Firestore bölümündeki Kurallar sekmesini açın.

Kurallarınızı çevrimiçi düzenleyiciye yazın ve ardından Yayınla'yı tıklayın.

Firebase CLI'sini kullanma

Kuralları Firebase CLI'sını kullanarak da dağıtabilirsiniz. CLI kullanmak, uygulama kodunuzla kurallarınızı sürüm kontrolü altında tutmanıza ve mevcut dağıtım işleminizin 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