Правила Firestore, чтобы ограничить пользователей своим разделом БД - PullRequest
0 голосов
/ 29 января 2020

Мне интересно, как ограничить firebase только указанным c разделом БД, которой они владеют.

Вот в основном то, что я хочу:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if true;
    }
    match /users/{userid} {
      allow write: if request.auth.uid == userid;
    }
  }
}

Может кто-нибудь объяснить мне почему выше не работает? И как это исправить, чтобы ограничить пользователей ТОЛЬКО их данными?

Заранее спасибо. Никита

1 Ответ

1 голос
/ 29 января 2020

Он не работает из-за этого правила:

match /{document=**} {
  allow read: if true;
}

Он позволяет всем безоговорочно доступ ко всем документам в базе данных для чтения безоговорочно, и он переопределяет другое правило, которое вы написали. Удалите это правило, если вы не хотите, чтобы все могли читать каждый документ в вашей базе данных.

Есть одна важная вещь, о которой вы должны помнить о правилах безопасности: , если какое-либо правило разрешает доступ к документ, другое правило не может отменить это .

...