Как создать правила безопасности безопасного облачного хранилища Firestore

#firebase #google-cloud-firestore #firebase-security

#firebase #google-cloud-firestore #firebase-безопасность

Вопрос:

итак, я пытаюсь понять, как работают правила облачного хранилища firestore, и создал простое приложение, чтобы научиться писать безопасные правила. приложение в основном показывает новости всем пользователям и позволяет пользователям делиться предложениями с администратором без аутентификации пользователя (регистрация не требуется). поэтому я подумал, что если я использую allow write: if true; для документа, содержащего предложения пользователей, он будет безопасным, но я получаю предупреждение от firebase о том, что мои правила firestore cloud небезопасны. поэтому я подумал, что это небезопасно, потому что, возможно, кто-нибудь может переписать / удалить все данные в users_suggestion документе. Мне все еще нужно обеспечить безопасные правила без получения аутентификации пользователя, если вы знаете, как, пожалуйста, помогите

вот как выглядят правила:

 service cloud.firestore {
  match /databases/{database}/documents {
    
    match /users_suggestion/{documents}{
    allow read: if request.auth != null
    allow write: if true;
    }
    match /news/{documents}{
    allow read;
    allow write: if request.auth != null
    }
  }
}
 

коллекции: users_suggestion и news

Комментарии:

1. правила безопасности зависят от приложений. В этом правиле для /users_suggestion/{documents} пользователей, прошедших проверку подлинности, разрешено read , тогда write — это действие более высокого уровня, и для этого пользователь также должен пройти проверку подлинности.

2. надеюсь, вы передали этот хороший документ firebase — firebase.google.com/docs/firestore/security/rules-structure

3. @MuthuThavamani возможно ли разрешить ограниченную запись только для одного документа или поля без аутентификации?

4. @MuthuThavamani я только что закончил читать документы, которыми вы поделились, это очень полезно, кажется невозможным иметь безопасные правила и разрешать запись без аутентификации. спасибо за вашу помощь

5. Рад, что у вас есть представление о правилах. обновлено еще несколько в моем ответе!

Ответ №1:

Правила безопасности варьируются в зависимости от конкретных приложений.

В вашем правиле для /users_suggestion/{documents} пользователей, прошедших проверку подлинности, разрешено чтение, затем write выполняется действие более высокого уровня, и для этого пользователь также должен пройти проверку подлинности.

Firebase предоставляет очень гибкие правила безопасности для защиты данных в облачном Firestore, базе данных реального времени и облачном хранилище.

Помимо проверки только аутентификации пользователя, вы должны предоставить ограниченный доступ, используя условия безопасности.

  • Доступ на основе ролей
  • Доступ на основе атрибутов
  • Смешанный общедоступный и частный доступ

Ссылки:

  1. https://firebase.google.com/docs/firestore/security/rules-structure
  2. https://firebase.google.com/docs/rules/basics