Firebase Güvenlik Kuralları, Cloud Firestore, Realtime Database ve Cloud Storage'deki verileriniz için güçlü ve tamamen özelleştirilebilir bir koruma sağlar. Bu kılavuzdaki adımları uygulayarak Rules'ü kolayca kullanmaya başlayabilir, verilerinizi güvence altına alabilir ve uygulamanızı kötü amaçlı kullanıcılara karşı koruyabilirsiniz.
Firebase Güvenlik Kuralları dilini anlama
Kural yazmaya başlamadan önce, kullandığınız Firebase ürünlerine özel Firebase Güvenlik Kuralları dilini incelemek için biraz zaman ayırmanız faydalı olacaktır. Realtime Database, Rules için JavaScript benzeri bir söz diziminden ve JSON yapısından yararlanır.
Firebase Güvenlik Kuralları dilinin temel söz dizimini öğrenerek başlayın.
Authentication ayarlarını yapın
Henüz yapmadıysanız Firebase Authentication'ı uygulamanıza ekleyin. Firebase Authentication, yaygın olarak kullanılan birçok kimlik doğrulama yöntemini destekler ve kapsamlı doğrulama özellikleri sunmak 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 Authentication hakkında daha fazla bilgi edinin.
Veri ve kural yapılarınızı tanımlama
Güvenlik için verileri tanımlama
Verilerinizi yapılandırma şekliniz, kurallarınızı yapılandırma ve uygulama şeklinizi etkileyebilir. Veri yapılarınızı tanımlarken Rules yapınızın bu durumdan nasıl etkilenebileceğini göz önünde bulundurun.
Örneğin, Realtime Database alanına her kullanıcı için belirli bir rolü belirten bir alan ekleyebilirsiniz. Ardından, kurallarınız bu alanı okuyabilir ve rol tabanlı erişim vermek için kullanabilir.
Veri ve kural yapılarınızı tanımlarken, ürününüze bağlı olarak kuralların basamaklandırılıp basamaklandırılmadığını göz önünde bulundurun. Realtime Database ile kurallar yukarıdan aşağıya doğru çalışır ve daha ayrıntılı olmayan kurallar daha ayrıntılı olanları geçersiz kılar. Bir kural belirli bir yolda okuma veya yazma izni veriyorsa bu kural, altındaki tüm alt düğümlere de erişim izni verir. Buna karşılık, Cloud Firestore ve Cloud Storage'te kurallar yalnızca veri hiyerarşisinin belirtilen düzeylerinde geçerlidir ve farklı düzeylere erişimi kontrol etmek için açık kurallar yazarsınız.
Kurallarınıza erişme
Mevcut Rules'inizi görüntülemek için Firebase KSA'yı veya Firebase konsolunu kullanın. Güncellemelerin yanlışlıkla üzerine yazılmasını önlemek için kurallarınızı aynı yöntemi kullanarak tutarlı bir şekilde düzenlediğinizden emin olun. Yerel olarak tanımlanan kurallarınızın en son güncellemeleri yansıtıp yansıtmadığından emin değilseniz Firebase güvenlik kurallarınızın en son dağıtılan sürümünü her zaman Firebase konsolunda görebilirsiniz.
Firebase konsolundan kurallarınıza erişmek için projenizi seçin, ardından sol gezinme panelinde Gerçek Zamanlı Veritabanı'nı tıklayın. Doğru veritabanında veya depolama alanında olduğunuzda Rules simgesini tıklayın.
Kurallarınıza Firebase CLI'den erişmek için firebase.json dosyanızda belirtilen kurallar dosyasına gidin.
Temel kurallar yazma
Uygulamanızı geliştirirken ve Rules'ü anlamaya çalışırken aşağıdakiler de dahil olmak üzere birkaç temel kullanım alanını ele almak için Rules'ü uygulamayı deneyin:
- Yalnızca içerik sahibi: Kullanıcının içeriğe erişimini kısıtlayın.
- Karma erişim: Kullanıcıya yazma erişimini kısıtlayın ancak herkese açık okuma erişimine izin verin.
- Özellik tabanlı erişim: Bir gruba veya kullanıcı türüne erişimi kısıtlayın.
Kurallarınızı test etme
Firebase Güvenlik Kurallarınızı Firebase konsolunda oluşturuyorsanı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ı test yapmanızı öneririz.
Kuralları dağıtma
Kurallarınızı üretime dağıtmak için Firebase konsolunu veya Firebase KSA'yı kullanın. Firebase Güvenlik Kurallarını yönetme ve dağıtma başlıklı makalede açıklanan adımları uygulayın.