Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
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 harika bir kullanıcı deneyimi oluşturmaya odaklanabilirsiniz.

Güvenlik kuralları, basit ama anlamlı 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ıyla Firebase Kimlik Doğrulaması kullanmanız gerekir.

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ın Sürüm 2'si özyinelemeli 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 dahil 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>;
    }
  }
}

Bir Cloud Firestore mobil / web istemci kitaplığından gelen her veritabanı talebi, herhangi bir veri okumadan veya yazmadan önce güvenlik kurallarınıza göre değerlendirilir. Kurallar, belirtilen belge yollarından herhangi birine erişimi reddederse, isteğin tamamı 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 tavsiye edilmez:

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ın nasıl eşleştirileceğini ve hiyerarşik verilerle nasıl çalışılacağını öğrenmek için güvenlik kurallarını yapılandırma kılavuzuna devam edin.

Test kuralları

Cloud Firestore, kural kümenizi 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 doğrulanmamış okumaları, yazmaları ve silmeleri 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 jetonları oluşturabilir ve önizleyebilirsiniz. Simüle edilen istekler, şu anda konuşlandırılmış kural kümenize değil, düzenleyicinizdeki kural kümesine göre çalıştırılır.

Dağıtım kuralları

Cloud Firestore'u mobil uygulamanızdan kullanmaya başlamadan önce güvenlik kurallarını dağıtmanız gerekir. Kuralları Firebase konsolunda veya Firebase CLI 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şikliklerin tamamen yayılması ve etkin dinleyicileri etkilemesi 10 dakikaya kadar sürebilir.

Firebase konsolunu kullanın

İlk kural grubunuzu 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, ardından Yayınla'yı tıklayın.

Firebase CLI kullanın

Firebase CLI'yı kullanarak da kuralları dağıtabilirsiniz. CLI'yi kullanmak, kurallarınızı uygulama kodunuzla 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