Firebase Güvenlik Kuralları, Cloud Firestore, Realtime Database ve Cloud Storage'daki verileriniz için sağlam, tamamen özelleştirilebilir koruma sağlar. Bu kılavuzdaki, verilerinizin güvenliğini sağlayan ve uygulamanızı kötü niyetli kullanıcılardan koruyan adımları izleyerek Kurallar'ı kolayca kullanmaya başlayabilirsiniz.
Firebase Güvenlik Kuralları dilini anlama
Kural yazmaya başlamadan önce, kullandığınız Firebase ürünleri için belirli Firebase Güvenlik Kuralları dilini gözden geçirmek için biraz zaman ayırmanız faydalı olacaktır. Cloud Storage, tanımlı bir yoldan erişim için bir koşul belirleyen
match ve
allow ifadelerine dayanan Ortak İfade Dili'nin (CEL) bir üst kümesinden yararlanır.
Firebase Güvenlik Kuralları dilinin temel sözdizimini öğrenerek başlayın.
Kimlik Doğrulamayı Ayarla
Henüz yapmadıysanız, uygulamanıza Firebase Authentication'ı ekleyin. Firebase Authentication, birçok yaygın kimlik doğrulama yöntemini destekler ve kapsamlı doğrulama özellikleri sağlamak için Firebase Güvenlik Kuralları ile entegre olur.
Uygulamanız için ek, özel kimlik doğrulama bilgileri ayarlayabilirsiniz.
Firebase Güvenlik Kuralları ve Firebase Kimlik Doğrulaması hakkında daha fazla bilgi edinin.
Verilerinizi ve kural yapılarınızı tanımlayın
Verilerinizi yapılandırma şekliniz, kurallarınızı yapılandırma ve uygulama şeklinizi etkileyebilir. Veri yapılarınızı tanımlarken, bunların Kural yapınız üzerindeki etkilerini göz önünde bulundurun.
Örneğin, Bulut Depolama'da her kullanıcı için belirli bir rolü belirten bir alan eklemek isteyebilirsiniz. Ardından, kurallarınız bu alanı okuyabilir ve rol tabanlı erişim vermek için kullanabilir.
Verilerinizi ve kural mimarilerinizi tanımlarken, ürününüze bağlı olarak kuralların kademeli olup olmadığını unutmayın. Realtime Database ile kurallar yukarıdan aşağıya doğru çalışır ve daha sığ kurallar daha derin kuralları geçersiz kılar. Bir kural, belirli bir yolda okuma veya yazma izinleri verirse, altındaki tüm alt düğümlere erişim de verir. Buna karşılık, Cloud Firestore ve Cloud Storage ile kurallar, yalnızca veri hiyerarşisinin belirli düzeylerinde geçerlidir ve farklı düzeylere erişimi kontrol etmek için açık kurallar yazarsınız.
Kurallarınıza erişin
Mevcut Kurallarınızı görüntülemek için Firebase CLI'yi veya Firebase konsolunu kullanın. Yanlışlıkla güncellemelerin üzerine yazmaktan kaçınmak için kurallarınızı aynı yöntemi kullanarak tutarlı bir şekilde düzenlediğinizden emin olun. Yerel olarak tanımlanmış kurallarınızın en son güncellemeleri yansıtıp yansıtmadığından emin değilseniz, Firebase konsolu her zaman Firebase Güvenlik Kurallarınızın en son dağıtılan sürümünü gösterir.
Kurallarınıza Firebase konsolundan erişmek için projenizi seçin, ardından sol taraftaki gezinme panelinde Depolama 'yı tıklayın. Doğru veritabanına veya depolama paketine girdikten sonra Kurallar'a tıklayın.
Firebase CLI'den kurallarınıza erişmek için firebase.json dosyanızda belirtilen kurallar dosyasına gidin.
Temel kuralları yazın
Uygulamanızı geliştirirken ve Kuralları anlarken, aşağıdakiler de dahil olmak üzere birkaç temel kullanım örneğini ele almak için Kuralları uygulamayı deneyin:
- Yalnızca içerik sahibi: İçeriğe erişimi kullanıcıya göre kısıtlayın.
- Karma erişim: Kullanıcı tarafından yazma erişimini kısıtlayın, ancak genel okuma erişimine izin verin.
- Özniteliğe dayalı erişim: Bir gruba veya kullanıcı türüne erişimi kısıtlayın.
Kurallarınızı test edin
Firebase konsolunda Firebase Güvenlik Kurallarınızı ayarlıyorsanız, davranışı hızlı bir şekilde doğrulamak için Firebase Kuralları Oyun Alanı'nı kullanabilirsiniz. Ancak, değişikliklerinizi üretime dağıtmadan önce Local Emulator Suite ile daha kapsamlı testler yapmanızı öneririz.
Kuralları dağıt
Kurallarınızı üretime dağıtmak için Firebase konsolunu veya Firebase CLI'yi kullanın. Firebase Güvenlik Kurallarını yönetin ve dağıtın bölümünde belirtilen adımları izleyin.