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. Cloud Storage, tanımlanmış bir yolda erişim koşulu belirleyen match ve allow ifadelerine dayanan Common Expression Language (CEL) üst kümesini kullanır.

Firebase Security Rules dilinin temel söz dizimini öğrenerek başlayın.

Authentication ayarlarını yapın

Henüz yapmadıysanız Firebase Authentication'yı uygulamanıza ekleyin. Firebase Authentication, kapsamlı doğrulama özellikleri sağlamak için birçok yaygın kimlik doğrulama yöntemini destekler ve 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 Storage içinde her kullanıcı için belirli bir rolü gösteren bir alan eklemek isteyebilirsiniz. Ardından, kurallarınız bu alanı okuyabilir ve rol tabanlı erişim vermek için kullanabilir. Ayrıca Cloud Firestore veritabanı oluşturabilir, erişim ölçütlerini Cloud Firestore dokümanlarında saklayabilir ve bu dokümanlara Cloud Storage Security Rules üzerinden erişebilirsiniz.

Veri ve kural mimarilerinizi tanımlarken kuralların ürününüze bağlı olarak nasıl sıralandığını veya sıralanmadığını göz önünde bulundurun. 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 izni veriyorsa bu yolun altındaki tüm alt düğümlere de erişim izni verir. Buna karşılık, Cloud Firestore ve Cloud Storage ile 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 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 soldaki gezinme panelinde Depolama'yı tıklayın. Doğru veritabanında veya depolama paketinde olduğunuzda Rules simgesini 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'ı anlamaya çalışırken Rules'ı uygulayarak aşağıdaki gibi birkaç temel kullanım alanını ele alın:

  • 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

Firebase Security Rules'nızı Firebase konsolunda ayarlıyorsanız davranışı hızlı bir şekilde doğrulamak için Firebase Rules Playground'u kullanabilirsiniz. Ancak değişikliklerinizi üretime dağıtmadan önce Local Emulator Suite 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.