Firebase Güvenlik Kuralları'nı kullanmaya başlama

Firebase Security Rules, Cloud Firestore, Realtime Database ve Cloud Storage'deki verileriniz için güçlü ve tamamen özelleştirilebilir koruma sağlar. Bu kılavuzdaki adımları izleyerek Rules'yı kolayca kullanmaya başlayabilir, verilerinizi güvenceye alabilir ve uygulamanızı kötü amaçlı kullanıcılardan koruyabilirsiniz.

Firebase Security Rules dilini anlama

Kural yazmaya başlamadan önce, kullandığınız Firebase ürünleriyle ilgili Firebase Security Rules dili incelemek için biraz zaman ayırmanız faydalı olur. Realtime Database, Rules için JavaScript benzeri bir söz dizimi ve JSON yapısı kullanır. Alternatif olarak, Cloud Firestore ve Cloud Storage, tanımlı bir yolda erişim koşulu belirleyen match ve allow ifadelerine dayanan Common Expression Language'in (CEL) üst kümesini kullanır.

Firebase Security Rules dili hakkında daha fazla bilgi edinin.

Authentication ayarlarını yapın

Henüz yapmadıysanız kullanıcılarınızı Firebase Authentication ile tanımlayın. Firebase Authentication, birçok yaygın kimlik doğrulama yöntemini destekler ve kapsamlı doğrulama özellikleri sağlamak için Firebase Security Rules ile entegre olur.

Uygulamanız için ek ve özel kimlik doğrulama bilgileri ayarlayabilirsiniz.

Firebase Security Rules ve Firebase Authentication hakkında daha fazla bilgi edinin.

Veri ve kural yapılarınızı 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 üzerindeki olası etkilerini göz önünde bulundurun.

Örneğin, Cloud Firestore içinde 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.

Veri ve kural mimarilerinizi tanımlarken herhangi bir kuralın bir veri kümesine erişim izni vermesi durumunda Firebase Security Rules'nin de bu veri kümesine erişim izni vereceğini unutmayın. Başka bir deyişle, veri hiyerarşinizde daha yüksek bir düzeyde erişim izni verdiyseniz alt yolda erişimi hassaslaştıramazsınız.

Kurallarınıza erişme

Mevcut Rules 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öntemle ve tutarlı bir şekilde düzenlediğinizden emin olun. Yerel olarak tanımladığınız kuralların en son güncellemeleri yansıtıp yansıtmadığından emin değilseniz Firebase konsolunda her zaman Firebase Security Rules'nızın en son dağıtılan sürümü gösterilir.

Kurallarınıza Firebase konsolundan erişmek için projenizi seçin, ardından Realtime Database, Cloud Firestore veya Storage'a gidin. Doğru veritabanı veya depolama paketi içinde olduğunuzda Kurallar'ı tıklayın.

Kurallarınıza Firebase CLI'dan erişmek için firebase.json dosyanızda belirtilen kurallar dosyasına gidin.

Temel kurallar yazma

Uygulamanızı geliştirirken ve Rules hakkında bilgi edinirken aşağıdaki kullanım alanları da dahil olmak üzere birkaç temel güvenlik kuralı 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ıya göre yazma erişimini kısıtlayın ancak herkese okuma erişimi verin.
  • Özellik tabanlı erişim: Bir grup veya kullanıcı türüne erişimi kısıtlayın.

Kurallarınızı test etme

Uygulamanızın davranışını tam olarak doğrulamak ve Firebase Security Rules
yapılandırmalarınızı doğrulamak için Firebase Emulator'ı kullanarak yerel ortamda birim testlerini çalıştırın ve otomatikleştirin.

Firebase Security Rules ayarlarınızı Firebase konsolunda yapıyorsanız davranışı hızlıca doğrulamak için Firebase Kuralları Simülatörü'nü kullanabilirsiniz. Ancak değişikliklerinizi üretime dağıtmadan önce Firebase Emulator ile daha kapsamlı bir test yapmanızı öneririz.

Kuralları dağıtma

Kurallarınızı üretime dağıtmak için Firebase konsolunu veya Firebase KSA'yı kullanın. Firebase Security Rules'ı yönetme ve dağıtma başlıklı makalede belirtilen adımları uygulayın.